//◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘ // ||||||||||||||||||||||||||||||||||| // || || // || Highlow EA - Mod v1.1 || // || 01.01.2018 || // || || // ||||||||||||||||||||||||||||||||||| // v1.1 // Все настройки стали внешними. // Переименовал переменные по аналогии c Highlow EA, теперь код должен немного более "понятно" выглядеть. // Добавил переключатель "Use_RR_Sets" // Если вкл - используються мои сеты по четырём вышеизложенным валютным парам, если выкл - используються, указанные вами, настройки. //◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘ enum iTrades { Both_Sides = 0, Only_Long = 1, Only_Short = 2, Stop_Work = 4 }; enum iMode { Break = 1, Bounce = 2, GreenRed = 3 }; enum iColorCF { No = 0, Positiv = 1, Negativ = 2 }; enum iOn_Off { Off = 0, On = 1 }; //◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘ extern string General_Settings = "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" ; extern iOn_Off Use_RR_Sets = 1 ; extern iTrades Trades = 0 ; extern int MagicNumber = 540863443 ; extern string Lot_MM = "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" ; extern double Fix_Lot = 0 ; extern iOn_Off Auto_Lot = 1 ; extern int Currency = 0 ; extern string Main_Settings = "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" ; extern iMode ModeforTrades_b = 1 ; extern iColorCF ColorCandleFilt_b = 0 ; extern double PointOpenFilt_b = 0 ; extern iMode ModeforTrades_s = 1 ; extern iColorCF ColorCandleFilt_s = 0 ; extern double PointOpenFilt_s = 0 ; extern string SL_Settings = "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" ; extern int AR_CountBars_sl_b = 0 ; extern int AR_Percent_sl_b = 0 ; extern int AR_CountBars_sl_s = 0 ; extern int AR_Percent_sl_s = 0 ; extern string TS_Settings = "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" ; extern double Trlng_Start_b = 0 ; extern double Trlng_Step_b = 0 ; extern double Trlng_Start_s = 0 ; extern double Trlng_Step_s = 0 ; extern string Moving_EMA = "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" ; extern int EMA_Period_b = 0 ; extern int EMA_Period_s = 0 ; //◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘ datetime T=0, N=0; bool W=0, A=0; static int c=1; void OnInit(){T=iTime(Symbol(),PERIOD_D1,0); //◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘ if (Use_RR_Sets == 1) { if(Symbol()=="EURUSD") {ModeforTrades_b = 3 ; ColorCandleFilt_b = 0 ; PointOpenFilt_b = -0.7 ; AR_CountBars_sl_b = 32 ; AR_Percent_sl_b = 177 ; Trlng_Start_b = 19.6 ; Trlng_Step_b = 3.8 ; EMA_Period_b = 23 ; ModeforTrades_s = 1 ; ColorCandleFilt_s = 2 ; PointOpenFilt_s = -0.1 ; AR_CountBars_sl_s = 16 ; AR_Percent_sl_s = 187 ; Trlng_Start_s = 9 ; Trlng_Step_s = 9.8 ; EMA_Period_s = 3 ; MagicNumber = 197569740;} if(Symbol()=="USDJPY") {ModeforTrades_b = 1 ; ColorCandleFilt_b = 2 ; PointOpenFilt_b = -0.3 ; AR_CountBars_sl_b = 36 ; AR_Percent_sl_b = 173 ; Trlng_Start_b = 21.8 ; Trlng_Step_b = 18.8 ; EMA_Period_b = 100 ; ModeforTrades_s = 1 ; ColorCandleFilt_s = 2 ; PointOpenFilt_s = 0.8 ; AR_CountBars_sl_s = 30 ; AR_Percent_sl_s = 68 ; Trlng_Start_s = 6 ; Trlng_Step_s = 2.2 ; EMA_Period_s = 0 ; MagicNumber = 275600854;} if(Symbol()=="CADCHF") {ModeforTrades_b = 2 ; ColorCandleFilt_b = 0 ; PointOpenFilt_b = -1.4 ; AR_CountBars_sl_b = 48 ; AR_Percent_sl_b = 93 ; Trlng_Start_b = 18.2 ; Trlng_Step_b = 2.8 ; EMA_Period_b = 7 ; ModeforTrades_s = 3 ; ColorCandleFilt_s = 0 ; PointOpenFilt_s = 0.1 ; AR_CountBars_sl_s = 4 ; AR_Percent_sl_s = 156 ; Trlng_Start_s = 8.4 ; Trlng_Step_s = 22 ; EMA_Period_s = 18 ; MagicNumber = 397563865;} if(Symbol()=="GBPUSD") {ModeforTrades_b = 1 ; ColorCandleFilt_b = 0 ; PointOpenFilt_b = 0 ; AR_CountBars_sl_b = 42 ; AR_Percent_sl_b = 62 ; Trlng_Start_b = 2.2 ; Trlng_Step_b = 15.6 ; EMA_Period_b = 72 ; ModeforTrades_s = 1 ; ColorCandleFilt_s = 2 ; PointOpenFilt_s = 0 ; AR_CountBars_sl_s = 6 ; AR_Percent_sl_s = 38 ; Trlng_Start_s = 16.2 ; Trlng_Step_s = 22 ; EMA_Period_s = 0 ; MagicNumber = 471205553;} } //◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘ if(Digits==3||Digits==5){PointOpenFilt_b*=10;PointOpenFilt_s*=10;Trlng_Start_b*=10;Trlng_Step_b*=10;Trlng_Start_s*=10;Trlng_Step_s*=10;}} void OnTick() { if(Bars<=AR_CountBars_sl_b)bool xb=0;else xb=1; if(Bars<=AR_CountBars_sl_s)bool xs=0;else xs=1; double EMA_b=iMA(Symbol(),PERIOD_D1,EMA_Period_b,0,MODE_EMA,PRICE_CLOSE,0); double EMA_s=iMA(Symbol(),PERIOD_D1,EMA_Period_s,0,MODE_EMA,PRICE_CLOSE,0); if(iTime(Symbol(),PERIOD_D1,0)>T)W=1;if(N!=iTime(Symbol(),PERIOD_D1,0)) {N=iTime(Symbol(),PERIOD_D1,0);if(CountOpenOrders()==0)A=0;} int E_b=0,E_s=0; if(Bid>=iHigh(Symbol(),PERIOD_D1,1)+PointOpenFilt_b*Point)E_b=1; if(Bid<=iLow (Symbol(),PERIOD_D1,1)-PointOpenFilt_b*Point)E_b=2; if(Bid>=iHigh(Symbol(),PERIOD_D1,1)+PointOpenFilt_s*Point)E_s=1; if(Bid<=iLow (Symbol(),PERIOD_D1,1)-PointOpenFilt_s*Point)E_s=2; int Prev_Candle=0,Buy__with_Color=0,Sell_with_Color=0; if(iClose(Symbol(),PERIOD_D1,1)>iOpen(Symbol(),PERIOD_D1,1))Prev_Candle=1; if(iClose(Symbol(),PERIOD_D1,1)iClose(Symbol(),PERIOD_D1,2)&&iOpen(Symbol(),PERIOD_D1,1)iClose(Symbol(),PERIOD_D1,1))GreenRedMode=2; if (CountOpenOrders()==0&&W==1&&A==0&&Trades!=4){ if(xb==1&&Trades!=2){ if(ModeforTrades_b==1&&E_b==1&&Buy__with_Color==1&&EMA_Period_b==0 ){SendBuy();A=1;} if(ModeforTrades_b==2&&E_b==2&&Buy__with_Color==1&&EMA_Period_b==0 ){SendBuy();A=1;} if(ModeforTrades_b==3&&E_b==1&&GreenRedMode ==1&&EMA_Period_b==0 ){SendBuy();A=1;} if(ModeforTrades_b==1&&E_b==1&&Buy__with_Color==1&&EMA_Period_b!=0&&Bid>EMA_b){SendBuy();A=1;} if(ModeforTrades_b==2&&E_b==2&&Buy__with_Color==1&&EMA_Period_b!=0&&Bid>EMA_b){SendBuy();A=1;} if(ModeforTrades_b==3&&E_b==1&&GreenRedMode ==1&&EMA_Period_b!=0&&Bid>EMA_b){SendBuy();A=1;}} if(xs==1&&Trades!=1){ if(ModeforTrades_s==1&&E_s==2&&Sell_with_Color==1&&EMA_Period_s==0 ){SendSell();A=1;} if(ModeforTrades_s==2&&E_s==1&&Sell_with_Color==1&&EMA_Period_s==0 ){SendSell();A=1;} if(ModeforTrades_s==3&&E_s==2&&GreenRedMode ==2&&EMA_Period_s==0 ){SendSell();A=1;} if(ModeforTrades_s==1&&E_s==2&&Sell_with_Color==1&&EMA_Period_s!=0&&BidMarketInfo(Symbol(),MODE_MAXLOT))l=MarketInfo(Symbol(),MODE_MAXLOT);return (l);} int CountOpenOrders() {int f=0;for(int s=OrdersTotal()-1;s>=0;s--){if(OrderSelect(s,SELECT_BY_POS,MODE_TRADES)) {if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)f++;}}return(f);} void Trailing_b() {for(int i=OrdersTotal()-1;i>=0;i--){if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){if(OrderSymbol()==Symbol()) {if(OrderType()==OP_BUY&&OrderMagicNumber()==MagicNumber){if(Bid-OrderOpenPrice()>Trlng_Start_b*Point) {if(OrderStopLoss()=0;i--){if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){if(OrderSymbol()==Symbol()) {if(OrderType()==OP_SELL&&OrderMagicNumber()==MagicNumber){if(OrderOpenPrice()-Ask>Trlng_Start_s*Point) {if(OrderStopLoss()>Ask+(Trlng_Start_s+Trlng_Step_s)*Point||OrderStopLoss()==0) {bool ts=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+Trlng_Start_s*Point,Digits),0,0);}}}}}}} int AR_HighLow_sl_b() {int i;double hl=0;for(i=Bars;i>0;i--){if(AR_CountBars_sl_b>=i){hl+=MathAbs(High[i]-Low[i])/Point;}} double a=NormalizeDouble(hl/AR_CountBars_sl_b,0);double b=NormalizeDouble((a/100)*AR_Percent_sl_b,0);return(b);} int AR_HighLow_sl_s() {int i;double hl=0;for(i=Bars;i>0;i--){if(AR_CountBars_sl_s>=i){hl+=MathAbs(High[i]-Low[i])/Point;}} double a=NormalizeDouble(hl/AR_CountBars_sl_s,0);double b=NormalizeDouble((a/100)*AR_Percent_sl_s,0);return(b);} //◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘◘