/* Generated by EX4-TO-MQ4 decompiler V4.0.223.1c [] Website: http://purebeam.biz E-mail : purebeam@gmail.com */ #property copyright "rahman_DGBeta (_rdb_)" #property link "abdulrahman_maros@yahoo.com" extern string ExpertName = "!_rdb_THUNDER4WD_EURGBP_v2e"; extern int HourStartSession = 21; extern int HourStopSession = 5; extern bool Manual_Buy_Sell = TRUE; extern bool Buy_Only = TRUE; extern bool Sell_Only = TRUE; extern bool Thunder_1 = TRUE; extern bool Thunder_2 = TRUE; extern bool Thunder_3 = TRUE; extern bool CloseAll_NOW = FALSE; extern bool StopAfterLastTrade = FALSE; extern double Max_TargetEquity = 0.0; extern double Min_TargetEquity = 0.0; extern bool LotsOptimized = TRUE; extern bool Auto_LotsDecimal = TRUE; extern int LotsDecimal = 0; extern double Lots = 0.1; extern double MaxLots = 0.0; extern int Risk = 50; extern int MaxTrades = 5; extern int MinuteforNextOP = 1; extern int MinuteForClose = 1; extern bool Hidden_TP = TRUE; extern bool Hidden_SL = TRUE; extern bool Hide_ALL = TRUE; extern bool RangeMA9H = TRUE; extern bool AutoRange_SL = TRUE; extern double StopLoss = 28.0; extern double SL_OutSession = 32.0; extern double True_Hard_StopLoss = 52.0; extern bool AutoRange_TP = TRUE; extern bool AccountProfitClose = TRUE; extern double TakeProfit = 6.0; extern double TakeProfit_FAKE = 22.0; extern double Slippage = 3.0; extern double MaxSpread = 4.1; extern bool AutoPriceFromLast = TRUE; extern double PriceFromLastOP = 5.0; extern bool AutoPriceFractal = TRUE; extern double OPFromFractal = 7.0; extern bool AutoPriceMid = TRUE; extern double PriceFromMid = 6.0; extern double i_Trend_Level = 0.0017; extern bool Use_Damiani_Filter = TRUE; extern bool TradeOnFriday = TRUE; extern bool CloseOnFriday = TRUE; extern int Friday_Days = 5; extern bool Time_Protection = TRUE; extern int LimitTime_1 = 60; extern int LimitTime_2 = 140; extern int LimitTime_3 = 170; extern int LimitTime_4 = 200; extern int LimitTime_5 = 260; extern double pips_1 = 3.0; extern double pips_2 = 2.0; extern double pips_3 = 0.0; extern double pips_4 = 1.0; extern double pips_5 = 4.0; extern double RangeMA9H_Bars = 16.0; extern double RangeMA9H_Min = 45.0; extern double RangeMA9H_Min_Dn = 15.0; extern double RangeMA9H_Min_Up = 20.0; extern double RangeMA9H_TP = 6.0; extern double RangeMA9H_SL = 2.0; extern double RangeMA9H_SL2 = 1.6; extern double Per_RangeMA9H_OP = 15.0; extern double Per_RangeMA9H_Fractal = 7.0; extern double Per_RangeMA9H_Mid = 8.0; extern int MagicNumber1 = 371443; extern int MagicNumber2 = 3714431; extern int MagicNumber3 = 3714432; extern string myOrderComment = "THUNDER4WD"; int gi_492 = 55; bool gi_496 = TRUE; bool gi_500 = TRUE; bool gi_504 = TRUE; bool gi_508 = TRUE; bool gi_512 = TRUE; bool gi_516 = TRUE; int gi_520; int gi_unused_524 = 0; int gi_unused_528 = 0; int gi_unused_532 = 0; int gi_unused_536 = 0; int gi_unused_540 = 0; int gi_unused_544 = 0; int gi_unused_548 = 0; int gi_unused_552 = 0; int gi_unused_556 = 0; int gi_unused_560 = 0; int gi_unused_564 = 0; int gi_unused_568 = 0; int gi_unused_572 = 0; int gi_unused_576 = 0; int gi_unused_580 = 0; double gd_unused_584 = 0.0; double gd_unused_592 = 0.0; double gd_unused_600 = 0.0; double gd_unused_608 = 0.0; double gd_unused_616 = 0.0; double gd_unused_624 = 0.0; double gd_unused_632 = 0.0; double gd_unused_640 = 0.0; double gd_unused_648 = 0.0; double gd_unused_656 = 0.0; int gi_unused_664 = 0; double gd_unused_684 = 0.0; double gd_unused_692 = 0.0; double gd_unused_700 = 0.0; double gd_unused_708 = 0.0; double gd_unused_716 = 0.0; double gd_unused_724 = 0.0; int gi_unused_732 = 0; int gi_unused_736 = 0; double g_ifractals_740; double g_ifractals_748; double gd_unused_756; double gd_unused_764; double gd_unused_804 = 0.0; double gd_unused_812 = 0.0; double gd_820 = 0.0; double gd_unused_828 = 0.0; double gd_836 = 0.0; double gd_unused_844 = 0.0; double gd_unused_852 = 0.0; double gd_860 = 0.0; double gd_unused_868 = 0.0; bool gi_unused_876 = FALSE; bool gi_unused_880 = FALSE; bool gi_unused_884 = TRUE; double gd_unused_888 = 0.0; double gd_unused_896 = 0.0; double gd_unused_904 = 0.0; double gd_unused_912 = 0.0; double gd_unused_920 = 0.0; double gd_unused_928 = 0.0; double gd_unused_936 = 0.0; double gd_unused_944 = 0.0; double gd_unused_952 = 0.0; double gd_unused_960 = 0.0; double gd_unused_968 = 0.0; double gd_unused_976 = 0.0; double gd_unused_984 = 0.0; double gd_unused_992 = 0.0; double gd_unused_1000 = 0.0; double gd_unused_1008 = 0.0; int gi_unused_1016 = 0; int gi_unused_1020 = 0; int gi_unused_1024 = 0; int gi_unused_1028 = 0; int gi_unused_1032 = 0; int gi_unused_1036 = 0; int gi_unused_1040 = 0; double gd_unused_1044 = 0.0; double gd_unused_1052 = 0.0; double gd_unused_1060 = 0.0; double gd_unused_1068 = 0.0; double gd_unused_1084 = 0.0; double gd_unused_1092 = 0.0; double gd_unused_1100 = 0.0; double gd_unused_1108 = 0.0; double gd_unused_1116 = 0.0; double gd_unused_1124 = 0.0; double gd_unused_1132 = 0.0; double gd_unused_1140 = 0.0; double gd_unused_1148 = 0.0; double gd_unused_1156 = 0.0; double gd_unused_1164 = 0.0; double gd_unused_1172 = 0.0; double gd_unused_1180 = 0.0; double gd_unused_1188 = 0.0; double gd_unused_1196 = 0.0; double gd_unused_1204 = 0.0; double gd_unused_1212 = 0.0; double gd_unused_1220 = 0.0; double gd_unused_1228 = 0.0; double gd_unused_1236 = 0.0; double gd_unused_1244 = 0.0; double gd_unused_1252 = 0.0; double gd_unused_1260 = 0.0; double gd_unused_1268 = 0.0; double gd_unused_1284 = 0.0; double gd_unused_1292 = 0.0; double gd_unused_1300 = 0.0; double gd_unused_1308 = 0.0; double gd_unused_1316 = 0.0; double gd_unused_1324 = 0.0; double gd_unused_1332 = 0.0; double gd_unused_1356 = 0.0; double gd_unused_1364 = 0.0; int g_ticket_1372 = -1; int g_pos_1376 = 0; int g_count_1380 = 0; int g_count_1384 = 0; int g_count_1388 = 0; int g_count_1392 = 0; int g_count_1396 = 0; int g_count_1400 = 0; int g_count_1404 = 0; int g_count_1408 = 0; int g_count_1412 = 0; int g_count_1416 = 0; int g_count_1420 = 0; int g_count_1424 = 0; int gi_unused_1428 = 0; int gi_unused_1432 = 0; int gi_unused_1436 = 0; int gi_unused_1440 = 0; int gi_1444 = 0; int gi_1448 = 0; double gd_1452 = 0.0; double gd_1460 = 0.0; double gd_1468 = 0.0; double gd_1476 = 0.0; double gd_1484 = 0.0; double gd_1492 = 0.0; double gd_1500 = 0.0; double gd_1508 = 0.0; double gd_unused_1516 = 0.0; double gd_unused_1524 = 0.0; double gd_unused_1532 = 0.0; double gd_unused_1540 = 0.0; extern string Need_Donation = "Abdul Rahman"; extern string PayPal = "abdulrahman_maros@yahoo.com"; extern string Bank_Wire = "BCA : 7990026640"; extern string LibertyReserve = "U7067895"; int init() { return (0); } int deinit() { return (0); } int start() { double l_irsi_0; double l_irsi_8; double ld_16; double l_icci_24; double l_icci_32; double l_icci_40; double l_icustom_48; HideTestIndicators(TRUE); if (TotalOpens() < 1 && StopAfterLastTrade == TRUE) { Print("StopAfterLastTrade Function is TRUE"); return (0); } if (CloseAll_NOW == TRUE) { Print("CloseAll_NOW Aktif, Order is CLOSED "); CloseAllNow(); return (0); } if (!Max_EquityStop() || !Min_EquityStop()) { Print("Account Equity More Than TargetEquity ", Max_TargetEquity); CloseAllNow(); return (0); } if (Show_Comment() == 1) my_Comment(); g_count_1380 = 0; g_count_1384 = 0; g_count_1388 = 0; gd_1452 = 0; gd_1460 = 0; g_count_1392 = 0; g_count_1396 = 0; g_count_1400 = 0; gd_1468 = 0; gd_1476 = 0; g_count_1404 = 0; g_count_1408 = 0; g_count_1412 = 0; gd_1484 = 0; gd_1492 = 0; g_count_1416 = 0; g_count_1420 = 0; g_count_1424 = 0; gd_1500 = 0; gd_1508 = 0; gi_unused_1428 = 0; gi_unused_1432 = 0; gi_unused_1436 = 0; gd_unused_1516 = 0; gd_unused_1524 = 0; gi_unused_1440 = 0; gi_1444 = 0; gi_1448 = 0; gd_unused_1532 = 0; gd_unused_1540 = 0; for (g_pos_1376 = 0; g_pos_1376 < OrdersTotal(); g_pos_1376++) { OrderSelect(g_pos_1376, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber1 || OrderMagicNumber() == MagicNumber2 || OrderMagicNumber() == MagicNumber3 && OrderCloseTime() == 0) { g_count_1380++; if (OrderType() == OP_BUY) { g_count_1384++; gd_1452 += OrderLots(); } else { if (OrderType() == OP_SELL) { g_count_1388++; gd_1460 += OrderLots(); } } } } for (g_pos_1376 = 0; g_pos_1376 < OrdersTotal(); g_pos_1376++) { OrderSelect(g_pos_1376, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber1 && OrderCloseTime() == 0) { g_count_1392++; if (OrderType() == OP_BUY) { g_count_1396++; gd_1468 += OrderLots(); } else { if (OrderType() == OP_SELL) { g_count_1400++; gd_1476 += OrderLots(); } } } } for (g_pos_1376 = 0; g_pos_1376 < OrdersTotal(); g_pos_1376++) { OrderSelect(g_pos_1376, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber2 && OrderCloseTime() == 0) { g_count_1404++; if (OrderType() == OP_BUY) { g_count_1408++; gd_1484 += OrderLots(); } else { if (OrderType() == OP_SELL) { g_count_1412++; gd_1492 += OrderLots(); } } } } for (g_pos_1376 = 0; g_pos_1376 < OrdersTotal(); g_pos_1376++) { OrderSelect(g_pos_1376, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber3 && OrderCloseTime() == 0) { g_count_1416++; if (OrderType() == OP_BUY) { g_count_1420++; gd_1500 += OrderLots(); } else { if (OrderType() == OP_SELL) { g_count_1424++; gd_1508 += OrderLots(); } } } } if (Time_Protection == TRUE) { for (g_pos_1376 = 0; g_pos_1376 < OrdersTotal(); g_pos_1376++) { OrderSelect(g_pos_1376, SELECT_BY_POS, MODE_TRADES); if (OrderType() == OP_BUY && OrderMagicNumber() == MagicNumber1 || OrderMagicNumber() == MagicNumber2 || OrderMagicNumber() == MagicNumber3) { if (TimeCurrent() - OrderOpenTime() > 60 * LimitTime_1 && TimeCurrent() - OrderOpenTime() < 60 * LimitTime_2 && OrderProfit() >= TickValue() * OrderLots() * (pips_1 * SetBroker())) { RefreshRates(); OrderClose(OrderTicket(), OrderLots(), Bid, slp_X(), Orange); } if (TimeCurrent() - OrderOpenTime() > 60 * LimitTime_2 && TimeCurrent() - OrderOpenTime() < 60 * LimitTime_3 && OrderProfit() >= TickValue() * OrderLots() * (pips_2 * SetBroker())) { RefreshRates(); OrderClose(OrderTicket(), OrderLots(), Bid, slp_X(), Orange); } if (TimeCurrent() - OrderOpenTime() > 60 * LimitTime_3 && TimeCurrent() - OrderOpenTime() < 60 * LimitTime_4 && OrderProfit() >= TickValue() * OrderLots() * (pips_3 * SetBroker())) { RefreshRates(); OrderClose(OrderTicket(), OrderLots(), Bid, slp_X(), Orange); } if (TimeCurrent() - OrderOpenTime() > 60 * LimitTime_4 && TimeCurrent() - OrderOpenTime() < 60 * LimitTime_5 && OrderProfit() >= TickValue() * OrderLots() * ((-pips_4) * SetBroker())) { RefreshRates(); OrderClose(OrderTicket(), OrderLots(), Bid, slp_X(), Orange); } if (TimeCurrent() - OrderOpenTime() > 60 * LimitTime_5 && OrderProfit() >= TickValue() * OrderLots() * ((-pips_5) * SetBroker())) { RefreshRates(); OrderClose(OrderTicket(), OrderLots(), Bid, slp_X(), Orange); } if (CloseOnFriday == TRUE && DayOfWeek() == Friday_Days && Hour() > HourStopSession) { RefreshRates(); OrderClose(OrderTicket(), OrderLots(), Bid, slp_X(), Orange); } } if (OrderType() == OP_SELL && OrderMagicNumber() == MagicNumber1 || OrderMagicNumber() == MagicNumber2 || OrderMagicNumber() == MagicNumber3) { if (TimeCurrent() - OrderOpenTime() > 60 * LimitTime_1 && TimeCurrent() - OrderOpenTime() < 60 * LimitTime_2 && OrderProfit() >= TickValue() * OrderLots() * (pips_1 * SetBroker())) { RefreshRates(); OrderClose(OrderTicket(), OrderLots(), Ask, slp_X(), Orange); } if (TimeCurrent() - OrderOpenTime() > 60 * LimitTime_2 && TimeCurrent() - OrderOpenTime() < 60 * LimitTime_3 && OrderProfit() >= TickValue() * OrderLots() * (pips_2 * SetBroker())) { RefreshRates(); OrderClose(OrderTicket(), OrderLots(), Ask, slp_X(), Orange); } if (TimeCurrent() - OrderOpenTime() > 60 * LimitTime_3 && TimeCurrent() - OrderOpenTime() < 60 * LimitTime_4 && OrderProfit() >= TickValue() * OrderLots() * (pips_3 * SetBroker())) { RefreshRates(); OrderClose(OrderTicket(), OrderLots(), Ask, slp_X(), Orange); } if (TimeCurrent() - OrderOpenTime() > 60 * LimitTime_4 && TimeCurrent() - OrderOpenTime() < 60 * LimitTime_5 && OrderProfit() >= TickValue() * OrderLots() * ((-pips_4) * SetBroker())) { RefreshRates(); OrderClose(OrderTicket(), OrderLots(), Ask, slp_X(), Orange); } if (TimeCurrent() - OrderOpenTime() > 60 * LimitTime_5 && OrderProfit() >= TickValue() * OrderLots() * ((-pips_5) * SetBroker())) { RefreshRates(); OrderClose(OrderTicket(), OrderLots(), Ask, slp_X(), Orange); } if (CloseOnFriday == TRUE && DayOfWeek() == Friday_Days && Hour() > HourStopSession) { RefreshRates(); OrderClose(OrderTicket(), OrderLots(), Ask, slp_X(), Orange); } } } } if (g_count_1380 > 0) { CloseAll(); CloseAll_True(); if (AccountProfitClose == TRUE) CloseAllProfit(); } gi_520 = NormalizeDouble(MaxTrades / 2 + 1, 0); if (Max_EquityStop() || Min_EquityStop()) { if (IsTradeTime() && IsTradeTimeA()) { if (g_count_1380 < MaxTrades && SpreadOK()) { if (Thunder_1 == TRUE) { RefreshRates(); l_irsi_0 = iRSI(NULL, PERIOD_M15, 6, PRICE_CLOSE, 0); l_irsi_8 = iRSI(NULL, PERIOD_M1, 20, PRICE_CLOSE, 0); ld_16 = NormalizeDouble(iMA(NULL, 0, 8, 0, MODE_SMA, PRICE_WEIGHTED, 1), 4); if (l_irsi_0 < 30.0 || l_irsi_8 < 36.0 && ld_16 >= Bid + 2.0 * SetPoint() * SetBroker()) { if (g_count_1400 > 0) CloseSell_1(); if (gi_496 && Sell_Only() == 0 && g_count_1396 < 1 && g_count_1384 < gi_520 && TimeForNextOPBuy() && Damiani_Filter()) { g_ticket_1372 = OrderSend(Symbol(), OP_BUY, GetLotsSessionA(), Ask, slp_X(), GetSL_Buy(), GetTP_Buy(), myOrderComment + "_1 " + Symbol(), MagicNumber1, 0, Green); gi_496 = FALSE; gi_500 = TRUE; } } if (l_irsi_0 > 70.0 || l_irsi_8 > 64.0 && ld_16 <= Bid - 2.0 * SetPoint() * SetBroker()) { if (g_count_1396 > 0) CloseBuy_1(); if (gi_500 && Buy_Only() == 0 && g_count_1400 < 1 && g_count_1388 < gi_520 && TimeForNextOPSell() && Damiani_Filter()) { g_ticket_1372 = OrderSend(Symbol(), OP_SELL, GetLotsSessionA(), Bid, slp_X(), GetSL_Sell(), GetTP_Sell(), myOrderComment + "_1 " + Symbol(), MagicNumber1, 0, Red); gi_500 = FALSE; gi_496 = TRUE; } } if (l_irsi_0 < 60.0 && l_irsi_0 > 40.0) { gi_500 = TRUE; gi_496 = TRUE; } } if (Thunder_2 == TRUE) { l_icci_24 = iCCI(Symbol(), PERIOD_M15, 14, PRICE_CLOSE, 0); l_icci_32 = iCCI(Symbol(), PERIOD_M5, 42, PRICE_CLOSE, 0); l_icci_40 = iCCI(Symbol(), PERIOD_M1, 210, PRICE_CLOSE, 0); RefreshRates(); if (g_count_1408 < 1 && g_count_1384 < gi_520 && TimeForNextOPBuy() && Damiani_Filter() && GetMidFractal(0) == 1 && GetMidEnvelope(0) == 1 && GetSignal_IT(0) == 1) { if (g_count_1412 > 0) CloseSell_2(); if (gi_504 && Sell_Only() == 0 && (l_icci_32 <= -150.0 && l_icci_40 <= -120.0) || (l_icci_24 <= -150.0 && l_icci_40 <= -120.0)) { g_ticket_1372 = OrderSend(Symbol(), OP_BUY, GetLotsSessionA(), Ask, slp_X(), GetSL_Buy(), GetTP_Buy(), myOrderComment + "_2 " + Symbol(), MagicNumber2, 0, Green); gi_504 = FALSE; gi_508 = TRUE; } } if (g_count_1412 < 1 && g_count_1388 < gi_520 && TimeForNextOPSell() && Damiani_Filter() && GetMidFractal(1) == 1 && GetMidEnvelope(1) == 1 && GetSignal_IT(1) == 1) { if (g_count_1408 > 0) CloseBuy_2(); if (gi_508 && Buy_Only() == 0 && (l_icci_32 >= 150.0 && l_icci_40 >= 120.0) || (l_icci_24 >= 150.0 && l_icci_40 >= 120.0)) { g_ticket_1372 = OrderSend(Symbol(), OP_SELL, GetLotsSessionA(), Bid, slp_X(), GetSL_Sell(), GetTP_Sell(), myOrderComment + "_2 " + Symbol(), MagicNumber2, 0, Red); gi_508 = FALSE; gi_504 = TRUE; } } if (l_icci_24 < 50.0 && l_icci_24 > -50.0) { gi_508 = TRUE; gi_504 = TRUE; } } if (Thunder_3 == TRUE) { l_icustom_48 = iCustom(Symbol(), PERIOD_M1, "MA_AngleZeroSigma", 14, 1, 0, 0.2, 6, 0, 9, 1, "", "", 4, 0); RefreshRates(); if (gi_1444 < 1 && GetMidFractal(0) == 1 && GetMidEnvelope(0) == 1 && GetSignal_IT(0) == 1 && l_icustom_48 <= -0.12) { if (g_count_1424 > 0) CloseSell_3(); if (gi_512 && Sell_Only() == 0 && TimeForNextOPBuy() && g_count_1384 < gi_520 && Damiani_Filter()) { g_ticket_1372 = OrderSend(Symbol(), OP_BUY, GetLotsSessionA(), Ask, slp_X(), GetSL_Buy(), GetTP_Buy(), myOrderComment + "_3 " + Symbol(), MagicNumber3, 0, Blue); gi_516 = TRUE; } } RefreshRates(); if (MaxTrades > 2 && GetMidFractal(0) == 1 && GetSignal_IT(0) == 1 && l_icustom_48 <= -0.12) { if (g_count_1424 > 0) CloseSell_3(); if (gi_512 && Buy_Only() == 0 && Sell_Only() == 0 && TimeForNextOPBuy() && gi_1444 > 0 && gi_1444 < gi_520 && g_count_1384 < gi_520 && Damiani_Filter()) { g_ticket_1372 = OrderSend(Symbol(), OP_BUY, GetLotsSessionA(), Ask, slp_X(), GetSL_Buy(), GetTP_Buy(), myOrderComment + "_3 " + Symbol(), MagicNumber3, 0, Blue); gi_516 = TRUE; gi_512 = FALSE; } } RefreshRates(); if (gi_1448 < 1 && GetMidFractal(1) == 1 && GetMidEnvelope(1) == 1 && GetSignal_IT(1) == 1 && l_icustom_48 >= 0.12) { if (g_count_1420 > 0) CloseBuy_3(); if (gi_516 && Buy_Only() == 0 && TimeForNextOPSell() && g_count_1388 < gi_520 && Damiani_Filter()) { g_ticket_1372 = OrderSend(Symbol(), OP_SELL, GetLotsSessionA(), Bid, slp_X(), GetSL_Sell(), GetTP_Sell(), myOrderComment + "_3 " + Symbol(), MagicNumber3, 0, Red); gi_512 = TRUE; } } RefreshRates(); if (MaxTrades > 2 && GetMidFractal(1) == 1 && GetSignal_IT(1) == 1 && l_icustom_48 >= 0.12) { if (g_count_1420 > 0) CloseBuy_3(); if (gi_516 && Buy_Only() == 0 && TimeForNextOPSell() && gi_1448 > 0 && gi_1448 < gi_520 && g_count_1388 < gi_520 && Damiani_Filter()) { g_ticket_1372 = OrderSend(Symbol(), OP_SELL, GetLotsSessionA(), Bid, slp_X(), GetSL_Sell(), GetTP_Sell(), myOrderComment + "_3 " + Symbol(), MagicNumber3, 0, Red); gi_512 = TRUE; gi_516 = FALSE; } } if (l_icustom_48 < 0.1 && l_icustom_48 > -0.1) { gi_516 = TRUE; gi_512 = TRUE; } } } } } return (0); } bool IsTradeTime() { if (HourStartSession < HourStopSession && TimeHour(TimeCurrent()) < HourStartSession || TimeHour(TimeCurrent()) >= HourStopSession) return (FALSE); if (HourStartSession > HourStopSession && TimeHour(TimeCurrent()) < HourStartSession && TimeHour(TimeCurrent()) >= HourStopSession) return (FALSE); if (HourStopSession == 0) HourStopSession = 24; if (Hour() == HourStopSession && Minute() >= gi_492) return (FALSE); return (TRUE); } int IsTradeTimeA() { if (TradeOnFriday == FALSE && DayOfWeek() == Friday_Days && Hour() >= HourStartSession) return (0); if (TradeOnFriday == FALSE && DayOfWeek() == Friday_Days && TotalOpens() < 1) return (0); if (DayOfWeek() == Friday_Days && Hour() >= HourStopSession) return (0); return (1); } int SpreadOK() { if (NormalizeDouble(MarketInfo(Symbol(), MODE_SPREAD), 1) > msprd_X()) { Print("SPREAD More Than msprd_X() ", MaxSpread); return (0); } return (1); } double SetPoint() { double ld_ret_0; if (Digits == 5 || Digits == 3) ld_ret_0 = 0.00001; else ld_ret_0 = 0.0001; return (ld_ret_0); } int TotalOpens() { RefreshRates(); int l_count_0 = 0; for (g_pos_1376 = 0; g_pos_1376 < OrdersTotal(); g_pos_1376++) { OrderSelect(g_pos_1376, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber1 || OrderMagicNumber() == MagicNumber2 || OrderMagicNumber() == MagicNumber3 && OrderCloseTime() == 0) l_count_0++; } return (l_count_0); } int SetBroker() { double ld_ret_0; if (Digits == 5 || Digits == 3) ld_ret_0 = 10; else ld_ret_0 = 1; return (ld_ret_0); } int CloseTime() { if (TimeCurrent() - OrderOpenTime() < 60 * MinuteForClose) return (0); return (1); } int TimeForNextOPBuy() { RefreshRates(); if (TotalOpens() > 0 && OrderOpenPrice() - Ask < PrFrLastOP()) return (0); if (TotalOpens() > 0 && TimeCurrent() - OrderOpenTime() < 60 * MinuteforNextOP) return (0); return (1); } int TimeForNextOPSell() { RefreshRates(); if (TotalOpens() > 0 && Bid - OrderOpenPrice() < PrFrLastOP()) return (0); if (TotalOpens() > 0 && TimeCurrent() - OrderOpenTime() < 60 * MinuteforNextOP) return (0); return (1); } int Buy_Only() { bool li_ret_0 = FALSE; if (Manual_Buy_Sell == TRUE) if (Buy_Only == TRUE && Sell_Only == FALSE) li_ret_0 = TRUE; return (li_ret_0); } int Sell_Only() { bool li_ret_0 = FALSE; if (Manual_Buy_Sell == TRUE) if (Buy_Only == FALSE && Sell_Only == TRUE) li_ret_0 = TRUE; return (li_ret_0); } double RangeMA9H() { double ld_unused_0 = 0; double ld_unused_8 = 0; double ld_unused_16 = 0; double ld_unused_24 = 0; double ld_ret_32 = 0; double ld_40 = 0; double l_high_48 = 0; double l_low_56 = 0; l_high_48 = High[iHighest(NULL, 0, MODE_HIGH, RangeMA9H_Bars, 0)]; l_low_56 = Low[iLowest(NULL, 0, MODE_LOW, RangeMA9H_Bars, 0)]; ld_40 = l_high_48 - l_low_56; if (ld_40 < (RangeMA9H_Min - RangeMA9H_Min_Dn) * SetBroker() * SetPoint() || ld_40 > (RangeMA9H_Min + RangeMA9H_Min_Up) * SetBroker() * SetPoint()) ld_ret_32 = RangeMA9H_Min * SetBroker() * SetPoint(); else ld_ret_32 = ld_40; return (ld_ret_32); } int Damiani_Filter() { double l_icustom_0 = iCustom(Symbol(), PERIOD_M30, "Damiani_Volt", 5, 8, 20, 60, 1.25, 1, 0.5, 0, 0); double l_icustom_8 = iCustom(Symbol(), PERIOD_M30, "Damiani_Volt", 5, 8, 20, 60, 1.25, 1, 0.5, 2, 0); if (Use_Damiani_Filter == TRUE && l_icustom_0 < l_icustom_8) return (0); return (1); } int GetSignal_IT(int ai_0) { RefreshRates(); double ld_4 = -1.0 * i_Trend_Level; double l_icustom_12 = iCustom(Symbol(), PERIOD_M5, "i_Trend", 0, 0, 0, 20, 2, 13, 100, 0, 0); double l_icustom_20 = iCustom(Symbol(), PERIOD_M5, "i_Trend", 0, 0, 0, 20, 2, 13, 100, 1, 0); bool li_ret_28 = FALSE; if (ai_0 == 0) { if (l_icustom_12 > ld_4 && l_icustom_20 < i_Trend_Level) li_ret_28 = TRUE; } else { if (ai_0 == 1) if (l_icustom_12 < i_Trend_Level && l_icustom_20 > ld_4) li_ret_28 = TRUE; } return (li_ret_28); } int GetSignal_IT_Trend(int ai_0) { RefreshRates(); double ld_4 = -1.0 * i_Trend_Level; double l_icustom_12 = iCustom(Symbol(), PERIOD_M5, "i_Trend", 0, 0, 0, 20, 2, 13, 100, 0, 0); double l_icustom_20 = iCustom(Symbol(), PERIOD_M5, "i_Trend", 0, 0, 0, 20, 2, 13, 100, 1, 0); bool li_ret_28 = FALSE; if (ai_0 == 0) { if (l_icustom_12 > i_Trend_Level || l_icustom_20 < ld_4 && l_icustom_12 > l_icustom_20) li_ret_28 = TRUE; } else { if (ai_0 == 1) if (l_icustom_12 < ld_4 || l_icustom_20 > i_Trend_Level && l_icustom_12 < l_icustom_20) li_ret_28 = TRUE; } return (li_ret_28); } int GetMidEnvelope(int ai_0) { RefreshRates(); bool li_ret_4 = FALSE; double l_ienvelopes_8 = iEnvelopes(Symbol(), PERIOD_M1, 15, MODE_LWMA, 0, PRICE_CLOSE, 0.07, MODE_UPPER, 1); double l_ienvelopes_16 = iEnvelopes(Symbol(), PERIOD_M1, 15, MODE_LWMA, 0, PRICE_CLOSE, 0.07, MODE_LOWER, 1); double l_ienvelopes_24 = iEnvelopes(Symbol(), PERIOD_M1, 60, MODE_LWMA, 0, PRICE_CLOSE, 0.1, MODE_UPPER, 1); double l_ienvelopes_32 = iEnvelopes(Symbol(), PERIOD_M1, 60, MODE_LWMA, 0, PRICE_CLOSE, 0.1, MODE_LOWER, 1); double l_ienvelopes_40 = iEnvelopes(Symbol(), PERIOD_M1, 120, MODE_LWMA, 0, PRICE_CLOSE, 0.15, MODE_UPPER, 14); double l_ienvelopes_48 = iEnvelopes(Symbol(), PERIOD_M1, 120, MODE_LWMA, 0, PRICE_CLOSE, 0.15, MODE_LOWER, 14); gd_860 = l_ienvelopes_8 - l_ienvelopes_8; gd_836 = l_ienvelopes_40 - (l_ienvelopes_40 - l_ienvelopes_48) / 2.0; if (ai_0 == 0) { if (Bid <= gd_836 - PrFrMid()) li_ret_4 = TRUE; } else { if (ai_0 == 1) if (Bid >= gd_836 + PrFrMid()) li_ret_4 = TRUE; } return (li_ret_4); } int GetMidFractal(int ai_0) { RefreshRates(); bool li_ret_4 = FALSE; for (int li_8 = 1; li_8 < Bars; li_8++) { if (iFractals(NULL, PERIOD_M15, MODE_UPPER, li_8) != 0.0) { g_ifractals_740 = iFractals(NULL, PERIOD_M15, MODE_UPPER, li_8); gd_unused_764 = Time[li_8]; break; } } for (int li_12 = 1; li_12 < Bars; li_12++) { if (iFractals(NULL, PERIOD_M15, MODE_LOWER, li_12) != 0.0) { g_ifractals_748 = iFractals(NULL, PERIOD_M15, MODE_LOWER, li_12); gd_unused_756 = Time[li_12]; break; } } gd_820 = g_ifractals_740 - (g_ifractals_740 - g_ifractals_748) / 2.0; if (ai_0 == 0) { if (Bid <= gd_820 - OPFrFrctl()) li_ret_4 = TRUE; } else { if (ai_0 == 1) if (Bid >= gd_820 + OPFrFrctl()) li_ret_4 = TRUE; } return (li_ret_4); } double GetLotsSessionA() { double ld_ret_0; double ld_32; double l_lotsize_40 = MarketInfo(Symbol(), MODE_LOTSIZE); double ld_16 = NormalizeDouble(MarketInfo(Symbol(), MODE_MINLOT), 2); double ld_24 = NormalizeDouble(MarketInfo(Symbol(), MODE_MAXLOT), 2); if (LotsOptimized == TRUE) ld_ret_0 = NormalizeDouble(AccountFreeMargin() * Risk / l_lotsize_40 / MaxTrades, GetLotDecimal()); else ld_ret_0 = Lots; if (ld_ret_0 < ld_16) ld_ret_0 = ld_16; if (MaxLots > 0.0 && MaxLots < ld_24) ld_32 = MaxLots; else ld_32 = ld_24; if (ld_ret_0 > ld_32) ld_ret_0 = ld_32; if (AccountFreeMarginCheck(Symbol(), OP_BUY, ld_ret_0) <= 0.0 || GetLastError() == 134/* NOT_ENOUGH_MONEY */) Print("We have no money.Reduce your Lots! Free Margin = ", AccountFreeMargin()); return (ld_ret_0); } int GetLotDecimal() { double ld_ret_0; double ld_8 = NormalizeDouble(MarketInfo(Symbol(), MODE_LOTSTEP), 2); if (Auto_LotsDecimal == TRUE) { if (ld_8 == 0.01) ld_ret_0 = 2; else { if (ld_8 == 0.1) ld_ret_0 = 1; else ld_ret_0 = 0; } } else ld_ret_0 = LotsDecimal; return (ld_ret_0); } double TickValue() { double ld_0; ld_0 = NormalizeDouble(MarketInfo(Symbol(), MODE_TICKVALUE), Digits); return (ld_0); } int myProfit() { bool li_ret_0 = FALSE; if (OrderProfit() >= TickValue() * GetLotsSessionA() * (TP_X() / SetPoint())) li_ret_0 = TRUE; return (li_ret_0); } int AllProfit() { bool li_ret_0 = FALSE; if (AccountProfit() >= TickValue() * GetLotsSessionA() * (TP_X() / SetPoint())) li_ret_0 = TRUE; return (li_ret_0); } bool Max_EquityStop() { RefreshRates(); if (Max_TargetEquity != 0.0 && AccountEquity() > Max_TargetEquity) return (FALSE); return (TRUE); } bool Min_EquityStop() { RefreshRates(); if (Min_TargetEquity != 0.0 && AccountEquity() < Min_TargetEquity) return (FALSE); return (TRUE); } void CloseAllProfit() { for (g_pos_1376 = 0; g_pos_1376 < OrdersTotal(); g_pos_1376++) { OrderSelect(g_pos_1376, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber1 || OrderMagicNumber() == MagicNumber2 || OrderMagicNumber() == MagicNumber3 && OrderCloseTime() == 0) { if (CloseTime() && AllProfit() == 1) { if (OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), Bid, slp_X(), Blue); if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, slp_X(), Red); } } } } void CloseAllNow() { for (int l_pos_0 = OrdersTotal() - 1; l_pos_0 >= 0; l_pos_0--) { OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber1 || OrderMagicNumber() == MagicNumber2 || OrderMagicNumber() == MagicNumber3 && OrderCloseTime() == 0) { if (OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), Bid, slp_X(), Blue); if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, slp_X(), Red); } } } void CloseAll_True() { for (int l_pos_0 = OrdersTotal() - 1; l_pos_0 >= 0; l_pos_0--) { OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber1 || OrderMagicNumber() == MagicNumber2 || OrderMagicNumber() == MagicNumber3) { if (OrderType() == OP_BUY && OrderProfit() <= TickValue() * OrderLots() * (-(SL_X_True() / SetPoint()))) OrderClose(OrderTicket(), OrderLots(), Bid, slp_X(), Blue); if (OrderType() == OP_SELL && OrderProfit() <= TickValue() * OrderLots() * (-(SL_X_True() / SetPoint()))) OrderClose(OrderTicket(), OrderLots(), Ask, slp_X(), Red); } } } void CloseAll() { for (int l_pos_0 = OrdersTotal() - 1; l_pos_0 >= 0; l_pos_0--) { OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber1 || OrderMagicNumber() == MagicNumber2 || OrderMagicNumber() == MagicNumber3) { if (myProfit() == 1) { if (OrderType() == OP_BUY && CloseTime() && Hidden_TP == TRUE) OrderClose(OrderTicket(), OrderLots(), Bid, slp_X(), Blue); if (OrderType() == OP_SELL && CloseTime() && Hidden_TP == TRUE) OrderClose(OrderTicket(), OrderLots(), Ask, slp_X(), Red); } else { if (IsTradeTime()) { if (OrderType() == OP_BUY && GetSignal_IT_Trend(0) != 1 && OrderProfit() <= TickValue() * OrderLots() * (-1.0 * (SL_X() / SetPoint()))) OrderClose(OrderTicket(), OrderLots(), Bid, slp_X(), Blue); if (OrderType() == OP_SELL && GetSignal_IT_Trend(1) != 1 && OrderProfit() <= TickValue() * OrderLots() * (-1.0 * (SL_X() / SetPoint()))) OrderClose(OrderTicket(), OrderLots(), Ask, slp_X(), Red); } else { if (OrderType() == OP_BUY && GetSignal_IT_Trend(0) != 1 && OrderProfit() <= TickValue() * OrderLots() * (-1.0 * (SL2_X() / SetPoint()))) OrderClose(OrderTicket(), OrderLots(), Bid, slp_X(), Blue); if (OrderType() == OP_SELL && GetSignal_IT_Trend(1) != 1 && OrderProfit() <= TickValue() * OrderLots() * (-1.0 * (SL2_X() / SetPoint()))) OrderClose(OrderTicket(), OrderLots(), Ask, slp_X(), Red); } } } } } double GetTP_Buy() { double ld_ret_0 = 0; double ld_8 = 0; double ld_16 = NormalizeDouble(MarketInfo(Symbol(), MODE_STOPLEVEL), 0); if (TP_Fake_X() + TP_X() < ld_16 * SetPoint()) ld_8 = ld_16 + slp_X() * SetPoint(); else ld_8 = TP_Fake_X() + TP_X(); if (Hidden_TP == TRUE && Hide_ALL == FALSE) ld_ret_0 = Ask + ld_8; else ld_ret_0 = 0; return (ld_ret_0); } double GetSL_Buy() { double ld_ret_0 = 0; double ld_8 = 0; double ld_16 = NormalizeDouble(MarketInfo(Symbol(), MODE_STOPLEVEL), 0); if (SL_X() < ld_16 * SetPoint()) ld_8 = ld_16 + slp_X() * SetPoint(); else ld_8 = SL_X(); if (Hidden_SL == FALSE && Hide_ALL == FALSE) ld_ret_0 = Ask - ld_8; else { if (Hidden_SL == TRUE && Hide_ALL == FALSE) ld_ret_0 = Ask - 1.4 * ld_8; else ld_ret_0 = 0; } return (ld_ret_0); } double GetTP_Sell() { double ld_ret_0 = 0; double ld_8 = 0; double ld_16 = NormalizeDouble(MarketInfo(Symbol(), MODE_STOPLEVEL), 0); if (TP_Fake_X() + TP_X() < ld_16 * SetPoint()) ld_8 = ld_16 + slp_X() * SetPoint(); else ld_8 = TP_Fake_X() + TP_X(); if (Hidden_TP == TRUE && Hide_ALL == FALSE) ld_ret_0 = Bid - ld_8; else ld_ret_0 = 0; return (ld_ret_0); } double GetSL_Sell() { double ld_ret_0 = 0; double ld_8 = 0; double ld_16 = NormalizeDouble(MarketInfo(Symbol(), MODE_STOPLEVEL), 0); if (SL_X() < ld_16 * SetPoint()) ld_8 = ld_16 + slp_X() * SetPoint(); else ld_8 = SL_X(); if (Hidden_SL == FALSE && Hide_ALL == FALSE) ld_ret_0 = Bid + ld_8; else { if (Hidden_SL == TRUE && Hide_ALL == FALSE) ld_ret_0 = Bid + 1.4 * ld_8; else ld_ret_0 = 0; } return (ld_ret_0); } double SL_X() { double ld_ret_0 = 0; if (AutoRange_SL == TRUE) ld_ret_0 = RangeMA9H() / RangeMA9H_SL; else ld_ret_0 = StopLoss * SetBroker() * SetPoint(); if (ld_ret_0 < (StopLoss - 6.0) * SetBroker() * SetPoint() || ld_ret_0 > (StopLoss + 8.0) * SetBroker() * SetPoint()) ld_ret_0 = StopLoss * SetBroker() * SetPoint(); return (ld_ret_0); } double SL2_X() { double ld_ret_0 = 0; if (AutoRange_SL == TRUE) ld_ret_0 = RangeMA9H() / RangeMA9H_SL2; else ld_ret_0 = SL_OutSession * SetBroker() * SetPoint(); if (ld_ret_0 < (SL_OutSession - 6.0) * SetBroker() * SetPoint() || ld_ret_0 > (SL_OutSession + 8.0) * SetBroker() * SetPoint()) ld_ret_0 = SL_OutSession * SetBroker() * SetPoint(); return (ld_ret_0); } double SL_X_True() { double ld_ret_0 = 0; ld_ret_0 = True_Hard_StopLoss * SetBroker() * SetPoint(); return (ld_ret_0); } double TP_X() { double ld_ret_0 = 0; if (AutoRange_TP == TRUE) ld_ret_0 = RangeMA9H() / RangeMA9H_TP; else ld_ret_0 = TakeProfit * SetBroker() * SetPoint(); if (ld_ret_0 < (TakeProfit - 2.0) * SetBroker() * SetPoint() || ld_ret_0 > (TakeProfit + 3.0) * SetBroker() * SetPoint()) ld_ret_0 = TakeProfit * SetBroker() * SetPoint(); return (ld_ret_0); } double TP_Fake_X() { double ld_ret_0 = 0; ld_ret_0 = TakeProfit_FAKE * SetBroker() * SetPoint(); return (ld_ret_0); } double slp_X() { double ld_ret_0 = Slippage * SetBroker(); return (ld_ret_0); } double msprd_X() { double ld_ret_0 = MaxSpread * SetBroker(); return (ld_ret_0); } double PrFrLastOP() { double ld_ret_0; if (AutoPriceFromLast == TRUE) ld_ret_0 = RangeMA9H() / Per_RangeMA9H_OP; else ld_ret_0 = PriceFromLastOP * SetBroker() * SetPoint(); if (ld_ret_0 < (PriceFromLastOP - 2.0) * SetBroker() * SetPoint() || ld_ret_0 > (PriceFromLastOP + 4.0) * SetBroker() * SetPoint()) ld_ret_0 = PriceFromLastOP * SetBroker() * SetPoint(); return (ld_ret_0); } double OPFrFrctl() { double ld_ret_0; if (AutoPriceFractal == TRUE) ld_ret_0 = RangeMA9H() / Per_RangeMA9H_Fractal; else ld_ret_0 = OPFromFractal * SetBroker() * SetPoint(); if (ld_ret_0 < (OPFromFractal - 2.0) * SetBroker() * SetPoint() || ld_ret_0 > (OPFromFractal + 4.0) * SetBroker() * SetPoint()) ld_ret_0 = OPFromFractal * SetBroker() * SetPoint(); return (ld_ret_0); } double PrFrMid() { double ld_ret_0; if (AutoPriceMid == TRUE) ld_ret_0 = RangeMA9H() / Per_RangeMA9H_Mid; else ld_ret_0 = PriceFromMid * SetBroker() * SetPoint(); if (ld_ret_0 < (PriceFromMid - 2.0) * SetBroker() || ld_ret_0 > (PriceFromMid + 3.0) * SetBroker() * SetPoint()) ld_ret_0 = OPFromFractal * SetBroker() * SetPoint(); return (ld_ret_0); } void CloseBuy_1() { for (int l_pos_0 = OrdersTotal() - 1; l_pos_0 >= 0; l_pos_0--) { OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber1) if (OrderType() == OP_BUY && OrderProfit() <= TickValue() * OrderLots() * ((-(TP_X() / SetPoint())) * SetBroker())) OrderClose(OrderTicket(), OrderLots(), Bid, slp_X(), Blue); } } void CloseSell_1() { for (int l_pos_0 = OrdersTotal() - 1; l_pos_0 >= 0; l_pos_0--) { OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber1) if (OrderType() == OP_SELL && OrderProfit() <= TickValue() * OrderLots() * ((-(TP_X() / SetPoint())) * SetBroker())) OrderClose(OrderTicket(), OrderLots(), Ask, slp_X(), Red); } } void CloseBuy_2() { for (int l_pos_0 = OrdersTotal() - 1; l_pos_0 >= 0; l_pos_0--) { OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber2) if (OrderType() == OP_BUY && OrderProfit() <= TickValue() * OrderLots() * ((-(TP_X() / SetPoint())) * SetBroker())) OrderClose(OrderTicket(), OrderLots(), Bid, slp_X(), Blue); } } void CloseSell_2() { for (int l_pos_0 = OrdersTotal() - 1; l_pos_0 >= 0; l_pos_0--) { OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber2) if (OrderType() == OP_SELL && OrderProfit() <= TickValue() * OrderLots() * ((-(TP_X() / SetPoint())) * SetBroker())) OrderClose(OrderTicket(), OrderLots(), Ask, slp_X(), Red); } } void CloseBuy_3() { for (int l_pos_0 = OrdersTotal() - 1; l_pos_0 >= 0; l_pos_0--) { OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber3) if (OrderType() == OP_BUY && OrderProfit() <= TickValue() * OrderLots() * ((-(TP_X() / SetPoint())) * SetBroker())) OrderClose(OrderTicket(), OrderLots(), Bid, slp_X(), Blue); } } void CloseSell_3() { for (int l_pos_0 = OrdersTotal() - 1; l_pos_0 >= 0; l_pos_0--) { OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber3) if (OrderType() == OP_SELL && OrderProfit() <= TickValue() * OrderLots() * ((-(TP_X() / SetPoint())) * SetBroker())) OrderClose(OrderTicket(), OrderLots(), Ask, slp_X(), Red); } } int Show_Comment() { bool li_ret_0 = TRUE; if (IsTesting()) li_ret_0 = FALSE; if (IsOptimization()) li_ret_0 = FALSE; if (IsVisualMode()) li_ret_0 = TRUE; if (IsDemo()) li_ret_0 = TRUE; if (IsTradeAllowed()) li_ret_0 = TRUE; return (li_ret_0); } string commenttrade() { string ls_ret_0; if (IsTradeTime()) ls_ret_0 = "T R A D E S E S S I O N"; else ls_ret_0 = "O u t O f S E S S I O N"; return (ls_ret_0); } void my_Comment() { Comment("\n " + ExpertName, "\n\n ", commenttrade(), "\n *=====================*", "\n Broker Time = ", Hour() + " : " + Minute() + " : " + Seconds(), "\n Time Star Trading = ", HourStartSession, "\n Time Stop Trading = ", HourStopSession, "\n Auto_Range_H4 = ", DoubleToStr(RangeMA9H(), Digits), "\n\n SLx = ", DoubleToStr(SL_X(), Digits), "\n PriceFromOPx = ", DoubleToStr(PrFrLastOP(), Digits), "\n PriceFromFrc = ", DoubleToStr(OPFrFrctl(), Digits), "\n PriceFromMid = ", DoubleToStr(PrFrMid(), Digits), "\n *=====================*", "\n S P R E A D = " + DoubleToStr(MarketInfo(Symbol(), MODE_SPREAD), 0) + " pips", "\n *=====================*", "\n LOTS = " + DoubleToStr(GetLotsSessionA(), 2), "\n B A L A N C E = " + DoubleToStr(AccountBalance(), 2), "\n E Q U I T Y = " + DoubleToStr(AccountEquity(), 2), "\n *=====================*", "\n\n " + ExpertName + " EA is free and still on developing", "\n You can discuss to me how to applying it or to develop this ea", "\n To support my creativity please donate for me with all yours heart...", "\n\n For further information or to make a donation please contact me on :", "\n email / PayPal : abdulrahman_maros@yahoo.com", "\n Liberty Reserve : U7067895 ( Abdul Rahman )"); }