/*[[ Name :=SuperSignals WITH PR Author := Nick Bilak Modified by Brucewl c 2005 Link := Notes := Enters BUY when BLUE ARROW. SELLS when RED ARROW. Lots := 1.00 Stop Loss :=100 Take Profit := 100 Trailing Stop := 0 ]]*/ ///////////////////////////////////////////////////// // Defines ///////////////////////////////////////////////////// Defines: Slippage(3); // Slippage Defines: TradesPerCurrency(1); // Number of lots to trade DEFINES: StopYear(2005),StopMonth(1); DEFINES: Start_Time(0),endofDAY(23); Defines: lp(300); defines: sp(30); defines: tp(10); ///////////////////////////////////////////////////// // Variables ///////////////////////////////////////////////////// var: OpenSell(0); // Sell Trades Counter var: OpenBuy(0); // Buy Trades Counter var: PriceOpen(0); // Price Open var: I(0),cnt(0),vTime(0); // Misc Counter var: Mode(0); // Squirl the Mode variable for multiple use var: pattern(false); var:SignalLine(0); var: psar(0),psar2(0); Input : Toleransi(3), panah(1), komentar(1); Variable : Pertama(True), TitikUlang(0), Prevbars(0), Kedip(false); Variable : shift(0), shift1(0), shift2(0), shift3(0); var: BullEngulf(False), MorningStar(False), BullPierce(False), Hammer(False), BearEngulf(False), EveningStar(False), DarkCloud(False), Shooter(False); If Curtime - LastTradeTime < 10 then Exit; If FreeMargin < 500 then Exit; if year < StopYear then exit; if month < StopMonth and year <> 2005 then exit; shift1=shift+1; shift2=shift+2; shift3=shift+3; //*** bullish*** //*************************** //--- Bullish Engulfing (2 bars) if c[shift2] < o[shift2] & o[shift1] < c[shift2] & //| l[shift1] < l[shift2]) & c[shift1] > o[shift2] then BullEngulf=True else BullEngulf=False; //--- Bullish Piercing (2 bars) if !BullEngulf then { if c[shift2] < o[shift2] & c[shift1] > o[shift1] & (o[shift1] < c[shift2] | l[shift1] < l[shift2]) & c[shift1] > c[shift2]+((o[shift2]-c[shift2])/2) then BullPierce=True else BullPierce=False; } else { BullPierce=False; }; // Morning Star (3 bars) if c[shift3] < o[shift3] & o[shift2] < c[shift3] & c[shift2] < c[shift3] & (o[shift1] > c[shift2] | h[shift1] > h[shift2]) & c[shift1] >= c[shift3] then MorningStar=True else MorningStar=False; // Hammer if c[shift1] > o[shift1] & (o[shift1]-l[shift1] > max( h[shift1]-c[shift1],c[shift1]-o[shift1])*3 ) then Hammer=True else Hammer=False; //*************************** //--- Bearish Engulfing (2 bars) if c[shift2] > o[shift2] & c[shift1] < o[shift1] & o[shift1] > c[shift2] & //| h[shift1] > h[shift2]) & (c[shift1] < o[shift2] | l[shift1] < l[shift2]) then BearEngulf=True else BearEngulf=False; //--- Bearish Dark Cloud (2 bars) BearEngulf if !BearEngulf then { if c[shift2] > o[shift2] & (o[shift1] > c[shift2] | h[shift1] > h[shift2]) & c[shift1] < c[shift2]-((c[shift2]-o[shift2])/2) then DarkCloud=True else DarkCloud=False; } else { DarkCloud=False; }; // Evening Star (3 bars) if c[shift3] > o[shift3] & o[shift2] > c[shift3] & c[shift2] > c[shift3] & //| h[shift2] > h[shift3]) & (o[shift1] < c[shift2] | l[shift1] < l[shift2]) & c[shift1] < c[shift3] then EveningStar=True else EveningStar=False; // Shooting Star if c[shift1] < o[shift1] & (h[shift1]-o[shift1] > max( c[shift1]-l[shift1],o[shift1]-c[shift1])*3 ) then Shooter=True else Shooter=False; //If (DayOfWeek <2 or DayOfWeek >6 or hour < Start_Time or hour > End_Time) then exit; ///////////////////////////////////////////////////// // Calculations / Setting Values ///////////////////////////////////////////////////// OpenSell = 0; OpenBuy = 0; for I = 1 to TotalTrades { Mode = ord(I, VAL_TYPE); if ord(I, VAL_SYMBOL) == Symbol then { //Calculates how many Sell we have for the current Symbol if Mode == OP_SELL then { OpenSell++; }; //Calculates how many Buy we have for the current Symbol if Mode == OP_BUY then { OpenBuy++; }; }; }; ///////////////////////////////////////////////// // CUSTOM INDICATORS ///////////////////////////////////////////////// ///////////////////////////////////////////////// // Comment on the chart ///////////////////////////////////////////////// if MorningStar=True then { pattern="MorningStar"; }; if BullEngulf=True then { pattern="Bullish Engulfing"; }; if Hammer=True then { pattern="Hammer"; }; if BullPierce=True then {pattern="Bullish Piercing"; }; if DarkCloud=True then {pattern="Dark Cloud"; }; if BearEngulf=True then {pattern="Bear Engulf"; }; if EveningStar=True then {pattern="Evening Star"; }; if Shooter=True then {pattern="Shooter"; }; ///////////////////////////////////////////////// // Long/Short Entry and Re-entry Trades ///////////////////////////////////////////////// If OpenBuy < TradesPerCurrency then { if vTime != Time[0] then { IF Hour > Start_Time //and iCustom("Trend Trigger Modified",15,5,0.7,0,1000,0,MODE_SECOND,0)<=-100 //and iCustom("Trend Trigger Modified",15,5,0.7,0,1000,0,MODE_SECOND,2)<=-100 and iCustom("supersignals",MODE_SECOND,0) !=0 and (MorningStar=true or BullEngulf=true or Hammer=true or BullPierce=true) and (DarkCloud=False and BearEngulf=False and EveningStar=False and Shooter=False) THEN { Alert(Symbol, " BUY ALERT. Buy at ", PRICEASK , " or better.",pattern); SetOrder(OP_BUY, Lots,ASK, Slippage,Ask-StopLoss*Point ,0 , BLUE); SetArrow(CurTime, LOW - 15 * Point, 233, BLUE); vTime = Time[0]; Exit; }; }; }; If OpenSell < TradesPerCurrency then { if vTime != Time[0] then { IF Hour > Start_Time //and iCustom("Trend Trigger Modified",15,5,0.7,0,1000,0,MODE_SECOND,0)>=100 //and iCustom("Trend Trigger Modified",15,5,0.7,0,1000,0,MODE_SECOND,2)>=100 and iCustom("supersignals",MODE_FIRST,0) !=0 and (DarkCloud=true or BearEngulf=true or EveningStar=True or Shooter=True) and (MorningStar=False and BullEngulf=False and Hammer=False and BullPierce=False) THEN { Alert(Symbol, " SELL ALERT. Sell at ", PRICEBID , " or better.",pattern); SetOrder(OP_SELL, Lots,BID, Slippage,Bid+StopLoss*Point,0, RED); SetArrow(CurTime, HIGH + 15 * Point, 234, RED); vTime = Time[0]; Exit; }; }; }; ///////////////////////////////////////////////// // Trade Management ///////////////////////////////////////////////// for I = 1 to TotalTrades { Mode = ord(I, VAL_TYPE); if ord(I, VAL_SYMBOL) == Symbol then { If OpenBuy > 0 then { if //iCustom("Trend Trigger Modified",15,5,0.7,0,1000,0,MODE_SECOND,0)<100// iCustom("supersignals",MODE_FIRST,0) !=0 and DarkCloud=true or BearEngulf=true or EveningStar=True or Shooter=True then { Alert("TREND CHANGE *** Closing order at market for " + Symbol + " on " + Period + " Period.",pattern); CloseOrder(ord(I, VAL_TICKET), ord(I, VAL_LOTS), PRICEBID, Slippage, orange); Exit; }; If OpenSell > 0 then { if //iCustom("Trend Trigger Modified",15,5,0.7,0,1000,0,MODE_SECOND,0)>-100// iCustom("supersignals",MODE_SECOND,0) !=0 and MorningStar=true or BullEngulf=true or Hammer=true or BullPierce=true then { Alert("TREND CHANGE *** Closing order at market for " + Symbol + " on " + Period + " Period.",pattern); CloseOrder(ord(I, VAL_TICKET), ord(I, VAL_LOTS), PRICEASK, Slippage, yellow); Exit; }; }; }; }; };