int g_period_76 = 5; int g_period_80 = 3; int g_slowing_84 = 3; int g_period_88 = 2; double gd_92 = 0.003; double gd_100 = 0.018; int g_period_108 = 19; int g_period_112 = 50; bool gi_116 = FALSE; bool gi_120 = FALSE; int gi_124 = 50; bool gi_128 = FALSE; int g_period_132 = 14; bool gi_136 = FALSE; int g_period_140 = 13; bool gi_144 = FALSE; int g_period_148 = 13; bool gi_152 = FALSE; int g_period_156 = 12; int g_period_160 = 25; int g_period_164 = 9; bool gi_168 = TRUE; int gi_172 = 10; bool gi_176 = FALSE; int g_period_180 = 20; bool gi_184 = FALSE; extern bool AggressiveMode = FALSE; extern double Lots = 1.0; extern double PercentOrder1 = 80.0; extern double PercentOrder2 = 20.0; extern bool RiskMM = FALSE; extern double RiskPercent = 20.0; extern double MinLots = 0.1; extern double MaxLots = 100.0; extern int PipsDistance = 15; extern int StopLoss = 120; extern int TakeProfit = 15; bool gi_256 = FALSE; bool gi_260 = FALSE; extern int TrailingStop = 15; int gi_268 = 0; int gi_272 = 0; extern int MaxOrders = 100; extern int Slippage = 3; bool gi_284 = FALSE; int gi_288 = 0; datetime g_time_292; datetime g_time_296; double gd_unused_316 = 0.0; double gd_unused_324 = 1.0; double gd_unused_332 = 1.0; int g_timeframe_340 = PERIOD_M1; int g_period_344 = 14; double gd_348 = 7.0; int g_magic_356 = 18091; int g_magic_360 = 18092; string gs_dummy_364; string gs_dummy_372; string gs_380; string gs_388; double g_istochastic_396; double g_istochastic_404; double g_istochastic_412; double g_istochastic_420; double g_irsi_428; double g_irsi_436; double g_ibearspower_444; double g_ibearspower_452; double g_ibullspower_460; double g_ibullspower_468; double g_isar_476; double g_isar_484; double g_iadx_492; double g_iadx_500; double g_iadx_508; double g_iadx_516; double g_imacd_524; double g_imacd_532; double g_imacd_540; double g_imacd_548; double g_iclose_556; double g_iclose_564; double gd_572; double g_iclose_580; double g_iclose_588; double gd_596; double g_ima_604; double g_ima_612; int init() { int li_0; int l_ord_total_4 = OrdersTotal(); if (li_0 == 0 && l_ord_total_4 > 0) { for (int l_pos_8 = 0; l_pos_8 < l_ord_total_4; l_pos_8++) { if (OrderSelect(l_pos_8, SELECT_BY_POS)) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_356 || OrderMagicNumber() == g_magic_360) { li_0 = NormalizeDouble(OrderLots() / Lots, (MarketInfo(Symbol(), MODE_MINLOT) == 0.01) + 1); break; } } } } int l_hist_total_12 = OrdersHistoryTotal(); if (li_0 == 0 && l_hist_total_12 > 0) { for (l_pos_8 = 0; l_pos_8 < l_hist_total_12; l_pos_8++) { if (OrderSelect(l_pos_8, SELECT_BY_POS, MODE_HISTORY)) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_356 || OrderMagicNumber() == g_magic_360) { li_0 = NormalizeDouble(OrderLots() / Lots, (MarketInfo(Symbol(), MODE_MINLOT) == 0.01) + 1); break; } } } } if (li_0 > 0) gd_unused_324 = li_0; return (0); } int start() { string ls_8; string ls_16; double ld_24; double ld_32; double ld_80; double l_lots_88; double l_lots_96; int l_ticket_104; int l_ticket_108; int li_0 = 1; if (AggressiveMode) { if (g_period_344 > 0) MoveTrailingStop1(); for (int l_shift_4 = 1; l_shift_4 <= li_0; l_shift_4++) { g_istochastic_396 = iStochastic(NULL, 0, g_period_76, g_period_80, g_slowing_84, MODE_SMA, 0, MODE_MAIN, l_shift_4 + 1); g_istochastic_404 = iStochastic(NULL, 0, g_period_76, g_period_80, g_slowing_84, MODE_SMA, 0, MODE_SIGNAL, l_shift_4 + 1); g_istochastic_412 = iStochastic(NULL, 0, g_period_76, g_period_80, g_slowing_84, MODE_SMA, 0, MODE_MAIN, l_shift_4); g_istochastic_420 = iStochastic(NULL, 0, g_period_76, g_period_80, g_slowing_84, MODE_SMA, 0, MODE_SIGNAL, l_shift_4); g_irsi_428 = iRSI(NULL, 0, g_period_88, PRICE_CLOSE, l_shift_4 + 1); g_irsi_436 = iRSI(NULL, 0, g_period_88, PRICE_CLOSE, l_shift_4); g_ibearspower_444 = iBearsPower(NULL, 0, g_period_140, PRICE_CLOSE, l_shift_4 + 1); g_ibearspower_452 = iBearsPower(NULL, 0, g_period_140, PRICE_CLOSE, l_shift_4); g_isar_476 = iSAR(NULL, 0, gd_92, gd_100, l_shift_4 + 1); g_isar_484 = iSAR(NULL, 0, gd_92, gd_100, l_shift_4); gs_380 = "false"; gs_388 = "false"; if (g_istochastic_412 > g_istochastic_420 && g_irsi_436 > 50.0 && g_ibearspower_452 > 0.0 && Open[l_shift_4] > g_isar_484 && iMA(Symbol(), 0, g_period_108, 0, MODE_SMA, PRICE_CLOSE, l_shift_4) > iMA(Symbol(), 0, g_period_112, 0, MODE_SMA, PRICE_CLOSE, l_shift_4 + 1) && gi_116 == FALSE || (gi_116 && Close[0] > Open[0])) gs_380 = "true"; if (g_istochastic_412 > g_istochastic_420 && g_irsi_436 < 50.0 && g_ibearspower_452 < 0.0 && Open[l_shift_4] < g_isar_484 && iMA(Symbol(), 0, g_period_108, 0, MODE_SMA, PRICE_CLOSE, l_shift_4) < iMA(Symbol(), 0, g_period_112, 0, MODE_SMA, PRICE_CLOSE, l_shift_4 + 1) && gi_116 == FALSE || (gi_116 && Close[0] < Open[0])) gs_388 = "true"; ls_8 = "false"; ls_16 = "false"; if (gs_380 == "true") { if (gi_284) ls_16 = "true"; else ls_8 = "true"; } if (gs_388 == "true") { if (gi_284) ls_8 = "true"; else ls_16 = "true"; } } } else { if (TrailingStop > 0) MoveTrailingStop2(); if (gi_272 > 0) MoveBreakEven(); for (l_shift_4 = 1; l_shift_4 <= li_0; l_shift_4++) { g_istochastic_396 = iStochastic(NULL, 0, g_period_76, g_period_80, g_slowing_84, MODE_SMA, 0, MODE_MAIN, l_shift_4 + 1); g_istochastic_404 = iStochastic(NULL, 0, g_period_76, g_period_80, g_slowing_84, MODE_SMA, 0, MODE_SIGNAL, l_shift_4 + 1); g_istochastic_412 = iStochastic(NULL, 0, g_period_76, g_period_80, g_slowing_84, MODE_SMA, 0, MODE_MAIN, l_shift_4); g_istochastic_420 = iStochastic(NULL, 0, g_period_76, g_period_80, g_slowing_84, MODE_SMA, 0, MODE_SIGNAL, l_shift_4); g_irsi_428 = iRSI(NULL, 0, g_period_88, PRICE_CLOSE, l_shift_4 + 1); g_irsi_436 = iRSI(NULL, 0, g_period_88, PRICE_CLOSE, l_shift_4); g_iadx_492 = iADX(NULL, 0, g_period_132, PRICE_CLOSE, MODE_PLUSDI, l_shift_4 + 1); g_iadx_500 = iADX(NULL, 0, g_period_132, PRICE_CLOSE, MODE_MINUSDI, l_shift_4 + 1); g_iadx_508 = iADX(NULL, 0, g_period_132, PRICE_CLOSE, MODE_PLUSDI, l_shift_4); g_iadx_516 = iADX(NULL, 0, g_period_132, PRICE_CLOSE, MODE_MINUSDI, l_shift_4); g_ibearspower_444 = iBearsPower(NULL, 0, g_period_140, PRICE_CLOSE, l_shift_4 + 1); g_ibullspower_460 = iBullsPower(NULL, 0, g_period_148, PRICE_CLOSE, l_shift_4 + 1); g_ibearspower_452 = iBearsPower(NULL, 0, g_period_140, PRICE_CLOSE, l_shift_4); g_ibullspower_468 = iBullsPower(NULL, 0, g_period_148, PRICE_CLOSE, l_shift_4); g_imacd_524 = iMACD(NULL, 0, g_period_156, g_period_160, g_period_164, PRICE_CLOSE, MODE_MAIN, l_shift_4 + 1); g_imacd_532 = iMACD(NULL, 0, g_period_156, g_period_160, g_period_164, PRICE_CLOSE, MODE_SIGNAL, l_shift_4 + 1); g_imacd_540 = iMACD(NULL, 0, g_period_156, g_period_160, g_period_164, PRICE_CLOSE, MODE_MAIN, l_shift_4); g_imacd_548 = iMACD(NULL, 0, g_period_156, g_period_160, g_period_164, PRICE_CLOSE, MODE_SIGNAL, l_shift_4); g_iclose_556 = iClose(NULL, 0, l_shift_4 + gi_172); g_iclose_564 = iClose(NULL, 0, l_shift_4 + gi_172 + gi_172); gd_572 = g_iclose_556 - g_iclose_564; g_iclose_580 = iClose(NULL, 0, l_shift_4); g_iclose_588 = iClose(NULL, 0, l_shift_4 + gi_172); gd_596 = g_iclose_580 - g_iclose_588; g_ima_604 = iMA(Symbol(), 0, g_period_180, 0, MODE_SMA, PRICE_CLOSE, l_shift_4 + 1); g_ima_612 = iMA(Symbol(), 0, g_period_180, 0, MODE_SMA, PRICE_CLOSE, l_shift_4); gs_380 = "false"; gs_388 = "false"; if ((gi_120 == FALSE && g_istochastic_412 > g_istochastic_420) || (gi_120 && g_istochastic_396 < g_istochastic_404 && g_istochastic_412 > g_istochastic_420) && (gi_128 == FALSE && g_irsi_436 > gi_124) || (gi_128 && g_irsi_428 < gi_124 && g_irsi_436 > gi_124) && (gi_136 == FALSE && g_iadx_508 > g_iadx_516) || (gi_136 && g_iadx_492 < g_iadx_500 && g_iadx_508 > g_iadx_516) && (gi_144 == FALSE && g_ibearspower_452 > 0.0) || (gi_144 && g_ibearspower_444 < 0.0 && g_ibearspower_452 > 0.0) && (gi_152 == FALSE && g_ibullspower_468 > 0.0) || (gi_152 && g_ibullspower_460 < 0.0 && g_ibullspower_468 > 0.0) && (gi_168 == FALSE && g_imacd_540 > g_imacd_548) || (gi_168 && g_imacd_524 < g_imacd_532 && g_imacd_540 > g_imacd_548) && (gi_176 == FALSE && gd_596 > 0.0) || (gi_176 && gd_572 < 0.0 && gd_596 > 0.0) && (gi_184 == FALSE && Close[l_shift_4] > g_ima_612) || (gi_184 && Close[l_shift_4 + 1] < g_ima_604 && Close[l_shift_4] > g_ima_612)) gs_380 = "true"; if ((gi_120 == FALSE && g_istochastic_412 > g_istochastic_420) || (gi_120 && g_istochastic_396 > g_istochastic_404 && g_istochastic_412 < g_istochastic_420) && (gi_128 == FALSE && g_irsi_436 < gi_124) || (gi_128 && g_irsi_428 > gi_124 && g_irsi_436 < gi_124) && (gi_136 == FALSE && g_iadx_508 < g_iadx_516) || (gi_136 && g_iadx_492 > g_iadx_500 && g_iadx_508 < g_iadx_516) && (gi_144 == FALSE && g_ibearspower_452 < 0.0) || (gi_144 && g_ibearspower_444 > 0.0 && g_ibearspower_452 < 0.0) && (gi_152 == FALSE && g_ibullspower_468 < 0.0) || (gi_152 && g_ibullspower_460 > 0.0 && g_ibullspower_468 < 0.0) && (gi_168 == FALSE && g_imacd_540 < g_imacd_548) || (gi_168 && g_imacd_524 > g_imacd_532 && g_imacd_540 < g_imacd_548) && (gi_176 == FALSE && gd_596 < 0.0) || (gi_176 && gd_572 > 0.0 && gd_596 < 0.0) && (gi_184 == FALSE && Close[l_shift_4] < g_ima_612) || (gi_184 && Close[l_shift_4 + 1] > g_ima_604 && Close[l_shift_4] < g_ima_612)) gs_388 = "true"; ls_8 = "false"; ls_16 = "false"; if (gs_380 == "true") { if (gi_284) ls_16 = "true"; else ls_8 = "true"; } if (gs_388 == "true") { if (gi_284) ls_8 = "true"; else ls_16 = "true"; } } } if (RiskMM) CalculateMM(); int l_datetime_120 = 0; if (gi_288 > 0) l_datetime_120 = TimeCurrent() + 60 * gi_288 - 5; if (CountOrders(OP_BUY, g_magic_356) + CountOrders(OP_SELL, g_magic_356) + CountOrders(OP_BUY, g_magic_360) + CountOrders(OP_SELL, g_magic_360) < MaxOrders) { if (ls_8 == "true" && NewBarBuy()) { if (AggressiveMode) { if (StopLoss > 0) ld_24 = Low[l_shift_4] - (PipsDistance + StopLoss) * Point - NormalizeDouble(iATR(NULL, 0, 14, 1) / 10.0 / 2.0, Digits); else ld_24 = 0; if (TakeProfit > 0) ld_32 = High[l_shift_4] + (PipsDistance + TakeProfit) * Point; else ld_32 = 0; } else { if (gi_256 == FALSE && StopLoss > 0) ld_24 = Low[l_shift_4] - (PipsDistance + StopLoss) * Point; else ld_24 = 0; if (gi_260 == FALSE && TakeProfit > 0) ld_32 = High[l_shift_4] + (PipsDistance + TakeProfit) * Point; else ld_32 = 0; } ld_80 = Lots; if (ld_80 < MinLots) ld_80 = MinLots; if (ld_80 > MaxLots) ld_80 = MaxLots; if (MarketInfo(Symbol(), MODE_MINLOT) < 0.1) { l_lots_88 = NormalizeDouble(ld_80 * (PercentOrder1 / 100.0), 2); l_lots_96 = NormalizeDouble(ld_80 * (PercentOrder2 / 100.0), 2); } else { if (MarketInfo(Symbol(), MODE_MINLOT) < 1.0) { l_lots_88 = NormalizeDouble(ld_80 * (PercentOrder1 / 100.0), 1); l_lots_96 = NormalizeDouble(ld_80 * (PercentOrder2 / 100.0), 1); } else { l_lots_88 = NormalizeDouble(ld_80 * (PercentOrder1 / 100.0), 0); l_lots_96 = NormalizeDouble(ld_80 * (PercentOrder2 / 100.0), 0); } } if (NormalizeDouble(High[l_shift_4] + PipsDistance * Point, Digits) > NormalizeDouble(Ask + PipsDistance * Point, Digits)) { l_ticket_104 = OrderSend(Symbol(), OP_BUYSTOP, l_lots_88, NormalizeDouble(High[l_shift_4] + PipsDistance * Point, Digits), Slippage, NormalizeDouble(ld_24, Digits), NormalizeDouble(ld_32, Digits), "The Forex Magic Machine Standard Version", g_magic_356, l_datetime_120, Blue); l_ticket_108 = OrderSend(Symbol(), OP_BUYSTOP, l_lots_96, NormalizeDouble(High[l_shift_4] + PipsDistance * Point, Digits), Slippage, NormalizeDouble(ld_24, Digits), 0, "The Forex Magic Machine Standard Version", g_magic_360, l_datetime_120, Blue); } } if (ls_16 == "true" && NewBarSell()) { if (AggressiveMode) { if (StopLoss > 0) ld_24 = High[l_shift_4] + (PipsDistance + StopLoss) * Point + NormalizeDouble(iATR(NULL, 0, 14, 1) / 10.0 / 2.0, Digits); else ld_24 = 0; if (TakeProfit > 0) ld_32 = Low[l_shift_4] - (PipsDistance + TakeProfit) * Point; else ld_32 = 0; } else { if (gi_256 == FALSE && StopLoss > 0) ld_24 = High[l_shift_4] + (PipsDistance + StopLoss) * Point; else ld_24 = 0; if (gi_260 == FALSE && TakeProfit > 0) ld_32 = Low[l_shift_4] - (PipsDistance + TakeProfit) * Point; else ld_32 = 0; } ld_80 = Lots; if (ld_80 < MinLots) ld_80 = MinLots; if (ld_80 > MaxLots) ld_80 = MaxLots; if (MarketInfo(Symbol(), MODE_MINLOT) < 0.1) { l_lots_88 = NormalizeDouble(ld_80 * (PercentOrder1 / 100.0), 2); l_lots_96 = NormalizeDouble(ld_80 * (PercentOrder2 / 100.0), 2); } else { if (MarketInfo(Symbol(), MODE_MINLOT) < 1.0) { l_lots_88 = NormalizeDouble(ld_80 * (PercentOrder1 / 100.0), 1); l_lots_96 = NormalizeDouble(ld_80 * (PercentOrder2 / 100.0), 1); } else { l_lots_88 = NormalizeDouble(ld_80 * (PercentOrder1 / 100.0), 0); l_lots_96 = NormalizeDouble(ld_80 * (PercentOrder2 / 100.0), 0); } } if (NormalizeDouble(Low[l_shift_4] - PipsDistance * Point, Digits) < NormalizeDouble(Bid - PipsDistance * Point, Digits)) { l_ticket_104 = OrderSend(Symbol(), OP_SELLSTOP, l_lots_88, NormalizeDouble(Low[l_shift_4] - PipsDistance * Point, Digits), Slippage, NormalizeDouble(ld_24, Digits), NormalizeDouble(ld_32, Digits), "The Forex Magic Machine Standard Version", g_magic_356, l_datetime_120, Red); l_ticket_108 = OrderSend(Symbol(), OP_SELLSTOP, l_lots_96, NormalizeDouble(Low[l_shift_4] - PipsDistance * Point, Digits), Slippage, NormalizeDouble(ld_24, Digits), 0, "The Forex Magic Machine Standard Version", g_magic_360, l_datetime_120, Red); } } } int li_unused_124 = 0; if (l_ticket_104 < 0 && l_ticket_108 < 0) { if (GetLastError() == 134/* NOT_ENOUGH_MONEY */) { li_unused_124 = 1; Print("Not enough money!"); } return (-1); } return (0); } int CountOrders(int a_cmd_0, int a_magic_4) { int l_count_8 = 0; for (int l_pos_12 = 0; l_pos_12 < OrdersTotal(); l_pos_12++) { OrderSelect(l_pos_12, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol()) if (OrderType() == a_cmd_0 && OrderMagicNumber() == a_magic_4 || a_magic_4 == 0) l_count_8++; } return (l_count_8); } void MoveTrailingStop1() { int l_ord_total_4 = OrdersTotal(); for (int l_pos_0 = 0; l_pos_0 < l_ord_total_4; l_pos_0++) { OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES); if (OrderType() <= OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_360) { if (OrderType() == OP_BUY && NormalizeDouble(Ask - OrderOpenPrice(), Digits) > NormalizeDouble(iATR(NULL, g_timeframe_340, g_period_344, 1) * gd_348, Digits)) { if (g_period_344 > 0 && Ask > NormalizeDouble(OrderOpenPrice(), Digits)) { if (NormalizeDouble(OrderStopLoss(), Digits) < NormalizeDouble(Bid - NormalizeDouble(iATR(NULL, g_timeframe_340, g_period_344, 1) * gd_348, Digits), Digits) || OrderStopLoss() == 0.0) { OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(Bid - NormalizeDouble(iATR(NULL, g_timeframe_340, g_period_344, 1) * gd_348, Digits), Digits), OrderTakeProfit(), 0, Blue); return; } } } if (OrderType() == OP_SELL && NormalizeDouble(OrderOpenPrice() - Bid, Digits) > NormalizeDouble(iATR(NULL, g_timeframe_340, g_period_344, 1) * gd_348, Digits)) { if (g_period_344 > 0 && Bid < NormalizeDouble(OrderOpenPrice(), Digits)) { if (NormalizeDouble(OrderStopLoss(), Digits) > NormalizeDouble(Ask + NormalizeDouble(iATR(NULL, g_timeframe_340, g_period_344, 1) * gd_348, Digits), Digits) || OrderStopLoss() == 0.0) { OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(Ask + NormalizeDouble(iATR(NULL, g_timeframe_340, g_period_344, 1) * gd_348, Digits), Digits), OrderTakeProfit(), 0, Red); return; } } } } } } int NewBarBuy() { if (g_time_292 < Time[0]) { g_time_292 = Time[0]; return (1); } return (0); } int NewBarSell() { if (g_time_296 < Time[0]) { g_time_296 = Time[0]; return (1); } return (0); } void CalculateMM() { double l_minlot_0 = MarketInfo(Symbol(), MODE_MINLOT); double l_maxlot_8 = MarketInfo(Symbol(), MODE_MAXLOT); Lots = AccountFreeMargin() / 100000.0 * RiskPercent; Lots = MathMin(l_maxlot_8, MathMax(l_minlot_0, Lots)); if (l_minlot_0 < 0.1) Lots = NormalizeDouble(Lots, 2); else { if (l_minlot_0 < 1.0) Lots = NormalizeDouble(Lots, 1); else Lots = NormalizeDouble(Lots, 0); } if (Lots < l_minlot_0) Lots = l_minlot_0; if (Lots > l_maxlot_8) Lots = l_maxlot_8; } void MoveTrailingStop2() { int l_ord_total_4 = OrdersTotal(); for (int l_pos_0 = 0; l_pos_0 < l_ord_total_4; l_pos_0++) { OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES); if (OrderType() <= OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_360) { if (OrderType() == OP_BUY && NormalizeDouble(Ask - OrderOpenPrice(), Digits) > TrailingStop * Point) { if (TrailingStop > 0 && Ask > NormalizeDouble(OrderOpenPrice(), Digits)) { if (NormalizeDouble(OrderStopLoss(), Digits) < NormalizeDouble(Bid - Point * (TrailingStop + gi_268), Digits) || OrderStopLoss() == 0.0) { OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(Bid - Point * TrailingStop, Digits), OrderTakeProfit(), 0, Blue); return; } } } if (OrderType() == OP_SELL && NormalizeDouble(OrderOpenPrice() - Bid, Digits) > TrailingStop * Point) { if (TrailingStop > 0 && Bid < NormalizeDouble(OrderOpenPrice(), Digits)) { if (NormalizeDouble(OrderStopLoss(), Digits) > NormalizeDouble(Ask + Point * (TrailingStop + gi_268), Digits) || OrderStopLoss() == 0.0) { OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(Ask + Point * TrailingStop, Digits), OrderTakeProfit(), 0, Red); return; } } } } } } void MoveBreakEven() { int l_ord_total_4 = OrdersTotal(); for (int l_pos_0 = 0; l_pos_0 < l_ord_total_4; l_pos_0++) { OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES); if (OrderType() <= OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_360) { if (OrderType() == OP_BUY) { if (gi_272 <= 0) continue; if (NormalizeDouble(Bid - OrderOpenPrice(), Digits) <= gi_272 * Point) continue; if (NormalizeDouble(OrderStopLoss() - OrderOpenPrice(), Digits) >= 0.0) continue; OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(OrderOpenPrice() + 0.0 * Point, Digits), OrderTakeProfit(), 0, Blue); return; } if (gi_272 > 0) { if (NormalizeDouble(OrderOpenPrice() - Ask, Digits) > gi_272 * Point) { if (NormalizeDouble(OrderOpenPrice() - OrderStopLoss(), Digits) < 0.0) { OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(OrderOpenPrice() - 0.0 * Point, Digits), OrderTakeProfit(), 0, Red); return; } } } } } }