#property copyright "Copyright © 2005, Forex-Experts." #property link "http://www.forex-experts.com" extern double Lots = 0.1; extern int DetlaPips = 5; extern int Fractal_Entry_Pips = 0; extern int StopLoss = 0; extern bool UseGatorStopLoss = TRUE; extern double GatorMouseClosePips = 10.0; extern int Fractal_Stop_Pips = 10; extern int Gator_Stop_Pips = 10; extern double kts_stoploss = 3.0; extern double kts_trailingstop = 3.0; extern double ProfitClose = 500.0; extern int ATR_Period = 9; extern int MaxTrades = 13; int gi_148 = 2; double gd_152 = 0.0; double gd_160 = 0.0; extern int MoneyMan = 0; extern double Delta = 5000.0; int g_stoplevel_180 = 10; extern int UseAO = 1; extern int UseAC = 1; extern int UseZ = 1; extern int UseB = 1; extern bool UseAlerts = FALSE; int gi_unused_204 = 1; extern bool UseEmailAlerts = FALSE; extern bool ShowSignals = TRUE; extern int Slippage = 3; int gi_220 = 0; int gi_224 = 0; string gs_228 = "ChaosTrader ver. 1.01 Unlimited Custom"; int gi_unused_236 = D'01.12.2003 03:30:01'; double gd_240 = 0.618033988; double gd_248 = 1000.0; double gd_unused_256 = 0.00005; double gd_264 = 1.0; double gd_272 = 13.0; double gd_280 = 0.0; double gd_288 = 1.0; double gd_unused_296 = 0.5; int gi_304 = 0; int gi_308 = 0; int g_index_312 = 0; int gi_unused_316 = 0; int gi_unused_320 = 0; double gd_324 = 5.0; double gd_332 = 0.0; double gd_unused_340 = 0.0; int g_time_348 = 0; double g_stoplevel_352 = 0.0; bool gi_360 = FALSE; bool gi_364 = FALSE; bool gi_368 = TRUE; int gi_372 = 1; int gi_376 = 0; int gi_380 = 0; double gd_384 = 1000.0; bool gi_392 = FALSE; bool gi_396 = FALSE; bool gi_400 = FALSE; double gd_404 = 5.0; double gd_412 = 5.0; double g_price_420 = 5.0; double g_price_428 = 0.0; double g_price_436 = 0.0; double gd_444 = 5.0; double gd_452 = 5.0; double gd_460 = 5.0; double gd_468 = 5.0; double gd_476 = 5.0; double gd_unused_484 = 4.0; bool gi_492 = FALSE; bool gi_496 = FALSE; bool gi_unused_500 = FALSE; bool gi_504 = FALSE; bool gi_508 = FALSE; bool gi_512 = FALSE; int gi_516 = 3; int g_index_520 = 0; int gi_524 = 0; double gd_528 = 0.0; double gd_536 = 0.0; bool gi_544 = FALSE; bool gi_548 = FALSE; bool gi_552 = FALSE; bool gi_556 = FALSE; bool gi_560 = FALSE; bool gi_564 = FALSE; bool gi_568 = FALSE; bool gi_572 = FALSE; bool gi_unused_576 = FALSE; bool gi_unused_580 = FALSE; bool gi_584 = FALSE; bool gi_588 = FALSE; bool gi_592 = FALSE; bool gi_596 = FALSE; bool gi_600 = FALSE; bool gi_604 = FALSE; bool gi_unused_608 = FALSE; bool gi_unused_612 = FALSE; bool gi_unused_616 = FALSE; bool gi_unused_620 = FALSE; bool gi_unused_624 = TRUE; bool gi_628 = FALSE; bool gi_632 = FALSE; bool gi_636 = FALSE; bool gi_640 = FALSE; bool gi_644 = TRUE; bool gi_648 = TRUE; bool gi_652 = TRUE; bool gi_656 = FALSE; bool gi_unused_660 = FALSE; int gi_unused_664 = 3; bool gi_unused_668 = FALSE; bool gi_unused_672 = FALSE; double g_lots_676 = 1.0; int g_count_684 = 0; int g_count_688 = 0; bool gi_692 = FALSE; bool gi_696 = FALSE; bool gi_700 = FALSE; bool gi_704 = FALSE; bool gi_708 = FALSE; bool gi_712 = FALSE; double g_global_var_716 = 0.0; double g_global_var_724 = 0.0; double g_global_var_732 = 0.0; double g_global_var_740 = 0.0; double g_global_var_748 = 0.0; double gd_unused_756 = 0.0; double g_global_var_764 = 0.0; double g_global_var_772 = 0.0; double g_global_var_780 = 0.0; double g_global_var_788 = 0.0; double g_global_var_796 = 0.0; double gd_unused_804 = 0.0; int gi_unused_812 = 0; int g_ticket_816 = 0; int gi_820 = 0; int gi_824 = 21; bool gi_828 = FALSE; int gi_832 = 2; double gd_unused_836 = 0.0; double gd_unused_844 = 0.0; double gd_unused_852 = 0.0; double gd_unused_860 = 0.0; bool gi_868 = TRUE; int gi_unused_872 = 0; double gd_unused_876 = 0.0; bool gi_unused_884 = FALSE; bool gi_unused_888 = FALSE; int gi_unused_892 = 0; double gd_896 = 9.0; double gd_904 = 49.0; int g_period_912 = 9; int gi_916 = 0; double gd_920 = 0.0; double gd_928 = 0.0; int g_count_936 = 0; int gi_940 = 0; double gd_944 = 0.5; double gd_952 = 0.0; double gd_960 = 0.0; double gd_968 = 0.0; double gd_unused_976 = 0.0; double gda_984[90]; double gda_988[5]; double gda_992[5]; int gia_996[56]; double gda_1000[6]; double gda_1004[6]; double gda_1008[6]; double gda_1012[6]; double gda_1016[6]; double gda_1020[6]; double gda_1024[4]; int gia_1028[4]; int gia_1032[4]; double gda_1036[3]; double gda_1040[3]; double gda_1044[3]; double gda_1048[3]; double gda_1052[3]; double gda_1056[3]; double gda_1060[3]; double gda_1064[3]; double gda_1068[3]; double gda_1072[3]; double gda_1076[3]; double gda_1080[22]; int gia_1084[6]; double gda_1088[9][3]; double gda_1092[9][3]; int gia_1096[22][4]; string gs_1100 = ""; string gs_1108 = ""; int gi_1116 = 0; int init() { ArrayInitialize(gda_984, 0); ArrayInitialize(gda_988, 0); ArrayInitialize(gda_992, 0); ArrayInitialize(gia_996, 0); ArrayInitialize(gda_1000, 0); ArrayInitialize(gda_1004, 0); ArrayInitialize(gda_1008, 0); ArrayInitialize(gda_1012, 0); ArrayInitialize(gda_1016, 0); ArrayInitialize(gda_1020, 0); ArrayInitialize(gda_1024, 0); ArrayInitialize(gia_1028, 0); ArrayInitialize(gia_1032, 0); ArrayInitialize(gda_1036, 0); ArrayInitialize(gda_1040, 0); ArrayInitialize(gda_1044, 0); ArrayInitialize(gda_1048, 0); ArrayInitialize(gda_1052, 0); ArrayInitialize(gda_1056, 0); ArrayInitialize(gda_1060, 0); ArrayInitialize(gda_1064, 0); ArrayInitialize(gda_1068, 0); ArrayInitialize(gda_1072, 0); ArrayInitialize(gda_1076, 0); ArrayInitialize(gda_1080, 0); ArrayInitialize(gia_1084, 0); ArrayInitialize(gda_1088, 0); ArrayInitialize(gda_1092, 0); ArrayInitialize(gia_1096, 0); return (0); } int deinit() { return (0); } int start() { gi_1116 = SetBrokerX(); double ld_0 = AccountEquity() - AccountBalance(); if (ld_0 >= ProfitClose && ProfitClose != 0.0) CloseAll(); g_stoplevel_180 = MarketInfo(Symbol(), MODE_STOPLEVEL); if (OrdersTotalSym() <= MaxTrades) { if (gi_828) { for (gi_304 = 1; gi_304 <= MaxTrades; gi_304++) { for (gi_308 = 0; gi_308 <= 2; gi_308++) if (GlobalVariableCheck(Symbol() + "_ct" + gi_304 + gi_308)) gia_1096[gi_304][gi_308] = GlobalVariableGet(Symbol() + "_ct" + gi_304 + gi_308); } gi_820 = OrdersTotalSym(); gi_828 = FALSE; } for (gi_304 = 0; gi_304 <= gi_372; gi_304++) { gda_1000[gi_304] = iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORTEETH, gi_304); gda_1004[gi_304] = iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORTEETH, gi_304); gda_1008[gi_304] = iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORTEETH, gi_304); } if (g_time_348 < Time[1]) { g_time_348 = Time[1]; gi_820 = OrdersTotalSym(); GlobalVariableSet(Symbol() + "_Fbuy", 0); GlobalVariableSet(Symbol() + "_Fsell", 0); GlobalVariableSet(Symbol() + "_AObuy", 0); GlobalVariableSet(Symbol() + "_AOsell", 0); GlobalVariableSet(Symbol() + "_ACbuy", 0); GlobalVariableSet(Symbol() + "_ACsell", 0); GlobalVariableSet(Symbol() + "_Zbuy", 0); GlobalVariableSet(Symbol() + "_Zsell", 0); GlobalVariableSet(Symbol() + "_Bbuy", 0); GlobalVariableSet(Symbol() + "_Bsell", 0); gd_272 = 0; for (gi_304 = 1; gi_304 <= 55; gi_304++) gd_272 += (High[gi_304] - Low[gi_304]) / Point; gd_272 /= 55.0; g_stoplevel_352 = g_stoplevel_180; gd_412 = MathCeil(g_stoplevel_352 * (gd_240 + 1.0)); gd_404 = MathCeil(g_stoplevel_352); if (Period() >= PERIOD_M15) gd_404 = MathCeil(gd_272 * MathPow(gd_240, 2)); if (Period() > PERIOD_H4) gd_404 = MathCeil(gd_272 * MathPow(gd_240, 4)); if (gd_404 < g_stoplevel_352) gd_404 = g_stoplevel_352; gd_412 = MathCeil(gd_404 * (gd_240 + 1.0)); gd_444 = gd_404; gd_452 = gd_404; gd_460 = gd_404; gd_476 = MathRound(gd_240 * gd_272); gd_468 = gd_404; } else { if (GlobalVariableCheck(Symbol() + "_Fbuy")) g_global_var_716 = GlobalVariableGet(Symbol() + "_Fbuy"); else GlobalVariableSet(Symbol() + "_Fbuy", 0); if (GlobalVariableCheck(Symbol() + "_Fsell")) g_global_var_764 = GlobalVariableGet(Symbol() + "_Fsell"); else GlobalVariableSet(Symbol() + "_Fsell", 0); if (GlobalVariableCheck(Symbol() + "_AObuy")) g_global_var_732 = GlobalVariableGet(Symbol() + "_AObuy"); else GlobalVariableSet(Symbol() + "_AObuy", 0); if (GlobalVariableCheck(Symbol() + "_AOsell")) g_global_var_780 = GlobalVariableGet(Symbol() + "_AOsell"); else GlobalVariableSet(Symbol() + "_AOsell", 0); if (GlobalVariableCheck(Symbol() + "_ACbuy")) g_global_var_724 = GlobalVariableGet(Symbol() + "_ACbuy"); else GlobalVariableSet(Symbol() + "_ACbuy", 0); if (GlobalVariableCheck(Symbol() + "_ACsell")) g_global_var_772 = GlobalVariableGet(Symbol() + "_ACsell"); else GlobalVariableSet(Symbol() + "_ACsell", 0); if (GlobalVariableCheck(Symbol() + "_Zbuy")) g_global_var_740 = GlobalVariableGet(Symbol() + "_Zbuy"); else GlobalVariableSet(Symbol() + "_Zbuy", 0); if (GlobalVariableCheck(Symbol() + "_Zsell")) g_global_var_788 = GlobalVariableGet(Symbol() + "_Zsell"); else GlobalVariableSet(Symbol() + "_Zsell", 0); if (GlobalVariableCheck(Symbol() + "_Bbuy")) g_global_var_748 = GlobalVariableGet(Symbol() + "_Bbuy"); else GlobalVariableSet(Symbol() + "_Bbuy", 0); if (GlobalVariableCheck(Symbol() + "_Bsell")) g_global_var_796 = GlobalVariableGet(Symbol() + "_Bsell"); else GlobalVariableSet(Symbol() + "_Bsell", 0); } if (gi_360) gi_360 = FALSE; if (gi_220 == 1) gi_360 = TRUE; gi_364 = FALSE; if (UseAlerts) gi_364 = TRUE; gi_368 = TRUE; gd_264 = gd_240 + 3.0; gi_unused_500 = FALSE; gi_unused_500 = TRUE; gi_392 = FALSE; gi_372 = 5; gd_324 = 5; gd_332 = MathFloor(gd_324 / 2.0); gi_unused_624 = TRUE; gi_628 = FALSE; gi_632 = FALSE; gi_636 = FALSE; gi_640 = FALSE; if (UseAO == 1) gi_628 = TRUE; if (UseAC == 1) gi_632 = TRUE; if (UseZ == 1) gi_636 = TRUE; if (UseB == 1) gi_640 = TRUE; gd_unused_484 = 4; gd_288 = Lots; if (MoneyMan == 3) gd_unused_296 = gd_240; if (MoneyMan == 1) { gd_952 = MathCeil(iATR(NULL, 0, 9, 1) / Point) / gd_272; gd_288 = MathFloor(MathSqrt(2.0 * AccountBalance() / (Delta * gd_952) + 0.25) + 0.5); } if (MoneyMan == 2) gd_288 = MathFloor(AccountBalance() / 1000.0) / 10.0; if (gd_288 < 0.1) gd_288 = 0.1; if (gd_288 > 1000.0) gd_288 = 1000; gi_380 = 0; gi_376 = 0; gi_unused_608 = FALSE; gi_unused_612 = FALSE; gi_396 = FALSE; gi_400 = FALSE; gi_492 = FALSE; gi_496 = FALSE; gi_504 = FALSE; gi_508 = FALSE; gi_544 = FALSE; gi_548 = FALSE; gi_552 = FALSE; gi_556 = FALSE; gi_560 = FALSE; gi_564 = FALSE; gi_568 = FALSE; gi_572 = FALSE; gi_unused_576 = FALSE; gi_unused_580 = FALSE; gi_584 = FALSE; gi_588 = FALSE; gi_592 = FALSE; gi_596 = FALSE; gi_600 = FALSE; gi_604 = FALSE; g_price_420 = 0; g_price_436 = 34; g_price_428 = 0; if (GlobalVariableCheck(Symbol() + "_TotalTrades")) gi_unused_812 = GlobalVariableGet(Symbol() + "_TotalTrades"); GlobalVariableSet(Symbol() + "_TotalTrades", OrdersTotalSym()); if (gi_820 != OrdersTotalSym()) gi_820 = OrdersTotalSym(); g_count_684 = 0; g_count_688 = 0; for (gi_304 = 1; gi_304 <= OrdersTotal(); gi_304++) { OrderSelect(gi_304 - 1, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol()) { g_ticket_816 = OrderTicket(); if (g_ticket_816 == gia_1096[gi_304][2]) { gia_1096[gi_304][0] = OrderOpenPrice(); if (gia_1096[gi_304][1] == 0) gia_1096[gi_304][1] = 1; } else { for (gi_308 = 1; gi_308 <= MaxTrades; gi_308++) { if (g_ticket_816 == gia_1096[gi_308][2]) { gia_1096[gi_304][0] = gia_1096[gi_308][0]; gia_1096[gi_304][1] = gia_1096[gi_308][1]; gia_1096[gi_304][2] = gia_1096[gi_308][2]; gia_1096[gi_304][3] = gia_1096[gi_308][3]; gia_1096[gi_308][0] = 0; gia_1096[gi_308][1] = -1; gia_1096[gi_308][2] = 0; gia_1096[gi_308][3] = 0; for (g_index_312 = 0; g_index_312 <= 3; g_index_312++) GlobalVariableSet(Symbol() + "_ct" + gi_308 + g_index_312, gia_1096[gi_308][g_index_312]); if (gi_360) { } } } } if (g_ticket_816 != gia_1096[gi_304][2]) { gia_1096[gi_304][0] = OrderOpenPrice(); if (gia_1096[gi_304][1] <= 0) { if (OrderOpenPrice() == g_global_var_716 || OrderOpenPrice() == g_global_var_764) gia_1096[gi_304][1] = 1; if (OrderOpenPrice() == g_global_var_732 || OrderOpenPrice() == g_global_var_780) gia_1096[gi_304][1] = 2; if (OrderOpenPrice() == g_global_var_724 || OrderOpenPrice() == g_global_var_772) gia_1096[gi_304][1] = 3; if (OrderOpenPrice() == g_global_var_740 || OrderOpenPrice() == g_global_var_788) gia_1096[gi_304][1] = 4; if (OrderOpenPrice() == g_global_var_748 || OrderOpenPrice() == g_global_var_796) gia_1096[gi_304][1] = 5; } if (gia_1096[gi_304][1] <= 0) gia_1096[gi_304][1] = 1; gia_1096[gi_304][2] = OrderTicket(); } for (g_index_312 = 0; g_index_312 <= 3; g_index_312++) GlobalVariableSet(Symbol() + "_ct" + gi_304 + g_index_312, gia_1096[gi_304][g_index_312]); if (gi_360) { } if (gi_360) { } if (OrderType() == OP_BUY || OrderType() == OP_BUYSTOP) { g_count_684++; if (OrderType() == OP_BUY) gi_396 = TRUE; if (gia_1096[gi_304][1] == 1 && gia_1096[gi_304][0] == gda_1036[1]) { gda_1088[1][2] = 0; gda_1088[1][0] = 1; } if (gia_1096[gi_304][1] == 2 && gia_1096[gi_304][0] == gda_1040[1]) { gda_1088[2][2] = 0; gda_1088[2][0] = 1; } if (gia_1096[gi_304][1] == 3 && gia_1096[gi_304][0] == gda_1044[1]) { gda_1088[3][2] = 0; gda_1088[3][0] = 1; } if (gia_1096[gi_304][1] == 4 && gia_1096[gi_304][0] == gda_1048[1]) { gda_1088[4][2] = 0; gda_1088[4][0] = 1; } if (gia_1096[gi_304][1] == 5 && gia_1096[gi_304][0] == gda_1052[1]) { gda_1088[5][2] = 0; gda_1088[5][0] = 1; } } if (OrderType() == OP_SELL || OrderType() == OP_SELLSTOP) { g_count_688++; if (OrderType() == OP_SELL) gi_400 = TRUE; if (gia_1096[gi_304][1] == 1 && gia_1096[gi_304][0] == gda_1056[1]) { gda_1092[1][2] = 0; gda_1092[1][0] = 1; } if (gia_1096[gi_304][1] == 2 && gia_1096[gi_304][0] == gda_1060[1]) { gda_1092[2][2] = 0; gda_1092[2][0] = 1; } if (gia_1096[gi_304][1] == 3 && gia_1096[gi_304][0] == gda_1064[1]) { gda_1092[3][2] = 0; gda_1092[3][0] = 1; } if (gia_1096[gi_304][1] == 4 && gia_1096[gi_304][0] == gda_1068[1]) { gda_1092[4][2] = 0; gda_1092[4][0] = 1; } if (gia_1096[gi_304][1] == 5 && gia_1096[gi_304][0] == gda_1076[1]) { gda_1092[5][2] = 0; gda_1092[5][0] = 1; } } } } g_index_520 = 0; gi_524 = 1; while (g_index_520 < 144) { gi_512 = FALSE; g_index_520++; if (Low[g_index_520 + 2] < Low[g_index_520] && Low[g_index_520 + 2] < Low[g_index_520 + 1] && Low[g_index_520 + 2] < Low[g_index_520 + 3] && Low[g_index_520 + 2] < Low[g_index_520 + 4]) { gi_512 = TRUE; gi_516 = 2; } if (Low[g_index_520 + 2] < Low[g_index_520] && Low[g_index_520 + 2] < Low[g_index_520 + 1] && Low[g_index_520 + 2] == Low[g_index_520 + 3] && Low[g_index_520 + 2] < Low[g_index_520 + 4] && Low[g_index_520 + 2] < Low[g_index_520 + 5]) { gi_512 = TRUE; gi_516 = 3; } if (Low[g_index_520 + 2] < Low[g_index_520] && Low[g_index_520 + 2] < Low[g_index_520 + 1] && Low[g_index_520 + 2] == Low[g_index_520 + 3] && Low[g_index_520 + 2] == Low[g_index_520 + 4] && Low[g_index_520 + 2] < Low[g_index_520 + 5] && Low[g_index_520 + 2] < Low[g_index_520 + 6]) { gi_512 = TRUE; gi_516 = 4; } if (Low[g_index_520 + 2] < Low[g_index_520] && Low[g_index_520 + 2] < Low[g_index_520 + 1] && Low[g_index_520 + 2] == Low[g_index_520 + 3] && Low[g_index_520 + 2] == Low[g_index_520 + 4] && Low[g_index_520 + 2] == Low[g_index_520 + 5] && Low[g_index_520 + 2] < Low[g_index_520 + 6] && Low[g_index_520 + 2] < Low[g_index_520 + 6]) { gi_512 = TRUE; gi_516 = 5; } if (Low[g_index_520 + 2] < Low[g_index_520] && Low[g_index_520 + 2] < Low[g_index_520 + 1] && Low[g_index_520 + 2] < Low[g_index_520 + 3] && Low[g_index_520 + 2] == Low[g_index_520 + 4] && Low[g_index_520 + 2] < Low[g_index_520 + 5] && Low[g_index_520 + 2] < Low[g_index_520 + 6]) { gi_512 = TRUE; gi_516 = 4; } if (Low[g_index_520 + 2] < Low[g_index_520] && Low[g_index_520 + 2] < Low[g_index_520 + 1] && Low[g_index_520 + 2] < Low[g_index_520 + 3] && Low[g_index_520 + 2] == Low[g_index_520 + 4] && Low[g_index_520 + 2] < Low[g_index_520 + 5] && Low[g_index_520 + 2] == Low[g_index_520 + 6] && Low[g_index_520 + 2] < Low[g_index_520 + 7] && Low[g_index_520 + 2] < Low[g_index_520 + 8]) { gi_512 = TRUE; gi_516 = 6; } if (Low[g_index_520 + 2] < Low[g_index_520] && Low[g_index_520 + 2] < Low[g_index_520 + 1] && Low[g_index_520 + 2] < Low[g_index_520 + 3] && Low[g_index_520 + 2] == Low[g_index_520 + 4] && Low[g_index_520 + 2] == Low[g_index_520 + 5] && Low[g_index_520 + 2] < Low[g_index_520 + 6] && Low[g_index_520 + 2] < Low[g_index_520 + 7]) { gi_512 = TRUE; gi_516 = 5; } if (Low[g_index_520 + 2] < Low[g_index_520] && Low[g_index_520 + 2] < Low[g_index_520 + 1] && Low[g_index_520 + 2] == Low[g_index_520 + 3] && Low[g_index_520 + 2] < Low[g_index_520 + 4] && Low[g_index_520 + 2] == Low[g_index_520 + 5] && Low[g_index_520 + 2] < Low[g_index_520 + 6] && Low[g_index_520 + 2] < Low[g_index_520 + 7]) { gi_512 = TRUE; gi_516 = 5; } if (Low[g_index_520 + 2] < Low[g_index_520] && Low[g_index_520 + 2] < Low[g_index_520 + 1] && Low[g_index_520 + 2] == Low[g_index_520 + 3] && Low[g_index_520 + 2] < Low[g_index_520 + 4] && Low[g_index_520 + 2] == Low[g_index_520 + 5] && Low[g_index_520 + 2] == Low[g_index_520 + 6] && Low[g_index_520 + 2] < Low[g_index_520 + 7] && Low[g_index_520 + 2] < Low[g_index_520 + 8]) { gi_512 = TRUE; gi_516 = 6; } if (gi_512) { gda_1024[gi_524] = Low[g_index_520 + 2]; gia_1032[gi_524] = g_index_520 + 2; if (gi_524 == 1) gi_380 = g_index_520 + 2; if (gi_360) { } gi_524++; g_index_520 += gi_516; if (gi_524 == 3 && gda_1024[2] == gda_1024[1]) gi_524 = 2; } if (gi_524 > 2) break; } if (g_index_520 > 144) gda_1024[2] = gda_1024[1]; gd_528 = gda_1024[1] - gi_1116 * g_stoplevel_352 * Point - gi_1116 * Fractal_Stop_Pips * Point; if (gda_1024[2] < gda_1024[1]) gd_528 = gda_1024[2] - gi_1116 * g_stoplevel_352 * Point - gi_1116 * Fractal_Stop_Pips * Point; if (Bid - gd_528 < gi_1116 * g_stoplevel_352 * Point) gd_528 = Bid - gd_412 * Point; gda_1056[1] = gda_1024[1] - gd_404 * Point; gda_1056[2] = 0; gda_1092[1][1] = gda_1024[1] - gd_404 * Point; gda_1092[1][2] = 0; gi_304 = 0; g_index_312 = 1; while (g_index_312 <= OrdersTotalSym()) { if (gia_1096[g_index_312][1] == 1) gi_304++; g_index_312++; } g_index_312 = 1; while (g_index_312 <= OrdersTotalSym()) { if ((gda_1056[1] == gia_1096[g_index_312][0] && gia_1096[g_index_312][1] == 1) || gi_304 >= gi_832) { gda_1092[1][0] = 1; break; } gda_1092[1][0] = 0; g_index_312++; } if (gda_1024[1] < iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORTEETH, gi_380) && gda_1092[1][0] == 0.0) { gda_1056[2] = 1; gda_1092[1][1] = gda_1024[1] - gd_404 * Point; gda_1092[1][2] = 1; gda_1092[1][0] = 0; } else { if (gda_1024[1] < gda_1004[0] && gda_1092[1][0] == 0.0) { gda_1056[2] = 1; gda_1092[1][1] = gda_1024[1] - gd_404 * Point; gda_1092[1][2] = 1; gda_1092[1][0] = 0; } else { gda_1056[2] = -1; gda_1092[1][2] = 0; } } if (gda_1056[2] == 1.0 && gda_1024[1] > gda_1024[2] && gda_1056[1] < Bid - g_stoplevel_352 * Point) gi_496 = TRUE; if (gda_1056[2] == -1.0 && gda_1056[1] > Close[0]) { gda_1056[2] = 0; gi_508 = TRUE; } if (gi_360) { } g_index_520 = 0; gi_524 = 1; while (g_index_520 < 144) { gi_512 = FALSE; g_index_520++; if (High[g_index_520 + 2] > High[g_index_520] && High[g_index_520 + 2] > High[g_index_520 + 1] && High[g_index_520 + 2] > High[g_index_520 + 3] && High[g_index_520 + 2] > High[g_index_520 + 4]) { gi_512 = TRUE; gi_516 = 2; } if (High[g_index_520 + 2] > High[g_index_520] && High[g_index_520 + 2] > High[g_index_520 + 1] && High[g_index_520 + 2] == High[g_index_520 + 3] && High[g_index_520 + 2] > High[g_index_520 + 4] && High[g_index_520 + 2] > High[g_index_520 + 5]) { gi_512 = TRUE; gi_516 = 3; } if (High[g_index_520 + 2] > High[g_index_520] && High[g_index_520 + 2] > High[g_index_520 + 1] && High[g_index_520 + 2] == High[g_index_520 + 3] && High[g_index_520 + 2] == High[g_index_520 + 4] && High[g_index_520 + 2] > High[g_index_520 + 5] && High[g_index_520 + 2] > High[g_index_520 + 6]) { gi_512 = TRUE; gi_516 = 4; } if (High[g_index_520 + 2] > High[g_index_520] && High[g_index_520 + 2] > High[g_index_520 + 1] && High[g_index_520 + 2] == High[g_index_520 + 3] && High[g_index_520 + 2] == High[g_index_520 + 4] && High[g_index_520 + 2] == High[g_index_520 + 5] && High[g_index_520 + 2] > High[g_index_520 + 6] && High[g_index_520 + 2] > High[g_index_520 + 7]) { gi_512 = TRUE; gi_516 = 5; } if (High[g_index_520 + 2] > High[g_index_520] && High[g_index_520 + 2] > High[g_index_520 + 1] && High[g_index_520 + 2] > High[g_index_520 + 3] && High[g_index_520 + 2] == High[g_index_520 + 4] && High[g_index_520 + 2] > High[g_index_520 + 5] && High[g_index_520 + 2] > High[g_index_520 + 6]) { gi_512 = TRUE; gi_516 = 4; } if (High[g_index_520 + 2] > High[g_index_520] && High[g_index_520 + 2] > High[g_index_520 + 1] && High[g_index_520 + 2] > High[g_index_520 + 3] && High[g_index_520 + 2] == High[g_index_520 + 4] && High[g_index_520 + 2] > High[g_index_520 + 5] && High[g_index_520 + 2] == High[g_index_520 + 6] && High[g_index_520 + 2] > High[g_index_520 + 7] && High[g_index_520 + 2] > High[g_index_520 + 8]) { gi_512 = TRUE; gi_516 = 6; } if (High[g_index_520 + 2] > High[g_index_520] && High[g_index_520 + 2] > High[g_index_520 + 1] && High[g_index_520 + 2] > High[g_index_520 + 3] && High[g_index_520 + 2] == High[g_index_520 + 4] && High[g_index_520 + 2] == High[g_index_520 + 5] && High[g_index_520 + 2] > High[g_index_520 + 6] && High[g_index_520 + 2] > High[g_index_520 + 7]) { gi_512 = TRUE; gi_516 = 5; } if (High[g_index_520 + 2] > High[g_index_520] && High[g_index_520 + 2] > High[g_index_520 + 1] && High[g_index_520 + 2] == High[g_index_520 + 3] && High[g_index_520 + 2] > High[g_index_520 + 4] && High[g_index_520 + 2] == High[g_index_520 + 5] && High[g_index_520 + 2] > High[g_index_520 + 6] && High[g_index_520 + 2] > High[g_index_520 + 7]) { gi_512 = TRUE; gi_516 = 5; } if (High[g_index_520 + 2] > High[g_index_520] && High[g_index_520 + 2] > High[g_index_520 + 1] && High[g_index_520 + 2] == High[g_index_520 + 3] && High[g_index_520 + 2] > High[g_index_520 + 4] && High[g_index_520 + 2] == High[g_index_520 + 5] && High[g_index_520 + 2] == High[g_index_520 + 6] && High[g_index_520 + 2] > High[g_index_520 + 7] && High[g_index_520 + 2] > High[g_index_520 + 8]) { gi_512 = TRUE; gi_516 = 6; } if (gi_512) { gda_1024[gi_524] = High[g_index_520 + 2]; gia_1028[gi_524] = g_index_520 + 2; if (gi_524 == 1) gi_376 = g_index_520 + 2; if (gi_360) { } gi_524++; g_index_520 += gi_516; if (gi_524 == 3 && gda_1024[2] == gda_1024[1]) gi_524 = 2; } if (gi_524 > 2) break; } if (g_index_520 > 144) gda_1024[2] = gda_1024[1]; gd_536 = gda_1024[1] + gi_1116 * g_stoplevel_352 * Point + gi_1116 * Fractal_Stop_Pips * Point; if (gda_1024[2] > gda_1024[1]) gd_536 = gda_1024[2] + gi_1116 * g_stoplevel_352 * Point + gi_1116 * Fractal_Stop_Pips * Point; if (gd_536 - Ask < g_stoplevel_352 * Point) gd_536 = Ask + gd_412 * Point; gda_1036[1] = gda_1024[1] + gd_404 * Point; gda_1036[2] = 0; gda_1088[1][1] = gda_1024[1] + gd_404 * Point; gda_1088[1][2] = 0; g_index_312 = 1; while (g_index_312 <= OrdersTotalSym()) { if ((gda_1036[1] == gia_1096[g_index_312][0] && gia_1096[g_index_312][1] == 1) || gi_304 >= gi_832) { gda_1088[1][0] = 1; break; } gda_1088[1][0] = 0; g_index_312++; } if (gda_1024[1] > iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORTEETH, gi_376) && gda_1088[1][0] == 0.0) { gda_1036[2] = 1; gda_1088[1][1] = gda_1024[1] + gd_404 * Point; gda_1088[1][2] = 1; gda_1088[1][0] = 0; } else { if (gda_1024[1] > gda_1004[0] && gda_1088[1][0] == 0.0) { gda_1036[2] = 1; gda_1088[1][1] = gda_1024[1] + gd_404 * Point; gda_1088[1][2] = 1; gda_1088[1][0] = 0; } else { gda_1036[2] = -1; gda_1088[1][2] = 0; } } if (gda_1036[2] == 1.0 && gda_1024[1] < gda_1024[2] && gda_1036[1] > Ask + g_stoplevel_352 * Point) gi_492 = TRUE; if (gda_1036[2] == -1.0 && gda_1036[1] < Close[0]) { gda_1036[2] = 0; gi_504 = TRUE; } if (gi_360) { } for (gi_304 = 1; gi_304 <= 8; gi_304++) gda_984[gi_304 + 10] = iAO(NULL, 0, gi_304) * gd_248; gda_984[1] = gda_984[11]; gda_984[2] = gda_984[12]; gda_1040[1] = High[1] + gd_444 * Point; gda_1040[2] = 0; gda_1088[2][1] = 0; gda_1088[2][2] = 0; g_index_312 = 1; while (g_index_312 <= OrdersTotalSym()) { if (gda_1040[1] == gia_1096[g_index_312][0] && gia_1096[g_index_312][1] == 2) { gda_1088[2][0] = 1; break; } gda_1088[2][0] = 0; g_index_312++; } if (gda_984[1] > 0.0 && gda_1088[2][0] == 0.0) { if (gda_984[2] < gda_984[1] && gda_984[2] > 0.0) { for (gi_304 = 3; gi_304 <= 5; gi_304++) { if (iAO(NULL, 0, gi_304) * gd_248 > gda_984[2]) { gda_1040[2] = 1; gda_1040[1] = High[1] + gd_444 * Point; gda_1088[2][1] = High[1] + gd_444 * Point; gda_1088[2][2] = 1; break; } if (iAO(NULL, 0, gi_304) * gd_248 < gda_984[2]) { gda_1040[2] = 0; gda_1088[2][1] = 0; gda_1088[2][2] = 0; break; } } } } if (gda_984[2] < 0.0 && gda_984[1] > 0.0 && gda_1040[2] == 0.0 && gda_1088[2][0] == 0.0) { gda_1040[2] = 1; gda_1040[1] = High[1] + gd_444 * Point; gda_1088[2][1] = High[1] + gd_444 * Point; gda_1088[2][2] = 1; } else { gda_1088[2][1] = 0; gda_1088[2][2] = 0; } if (gda_984[2] < gda_984[1] && High[2] > High[1]) gi_544 = TRUE; if (gda_984[2] > gda_984[1]) gi_552 = TRUE; gda_1060[1] = Low[1] - gd_444 * Point; gda_1060[2] = 0; gda_1092[2][1] = 0; gda_1092[2][2] = 0; g_index_312 = 1; while (g_index_312 <= OrdersTotalSym()) { if (gda_1060[1] == gia_1096[g_index_312][0] && gia_1096[g_index_312][1] == 2) { gda_1092[2][0] = 1; break; } gda_1092[2][0] = 0; g_index_312++; } if (gda_984[1] < 0.0 && gda_1092[2][0] == 0.0) { if (gda_984[2] > gda_984[1] && gda_984[2] < 0.0) { for (gi_304 = 3; gi_304 <= 5; gi_304++) { if (iAO(NULL, 0, gi_304) * gd_248 < gda_984[2]) { gda_1060[2] = 1; gda_1060[1] = Low[1] - gd_444 * Point; gda_1092[2][1] = Low[1] - gd_444 * Point; gda_1092[2][2] = 1; break; } if (iAO(NULL, 0, gi_304) * gd_248 > gda_984[2]) { gda_1060[2] = 0; gda_1092[2][1] = 0; gda_1092[2][2] = 0; break; } } } } if (gda_984[2] > 0.0 && gda_984[1] < 0.0 && gda_1060[2] == 0.0 && gda_1092[2][0] == 0.0) { gda_1060[2] = 1; gda_1060[1] = Low[1] - gd_444 * Point; gda_1092[2][1] = Low[1] - gd_444 * Point; gda_1092[2][2] = 1; } else { gda_1092[2][1] = 0; gda_1092[2][2] = 0; } if (gda_984[2] > gda_984[1] && Low[2] < Low[1]) gi_548 = TRUE; if (gda_984[2] < gda_984[1]) gi_556 = TRUE; if (gi_360) { } for (gi_304 = 1; gi_304 <= 8; gi_304++) gda_984[gi_304] = iAC(NULL, 0, gi_304) * gd_248; gda_1044[1] = High[1] + gd_452 * Point; gda_1044[2] = 0; gda_1088[3][1] = 0; g_index_312 = 1; while (g_index_312 <= OrdersTotalSym()) { if (gda_1044[1] == gia_1096[g_index_312][0] && gia_1096[g_index_312][1] == 3) { gda_1088[3][0] = 1; break; } gda_1088[3][0] = 0; g_index_312++; } if (gda_984[1] > 0.0 && gda_984[3] > 0.0 && gda_1088[3][0] == 0.0) { if (gda_984[4] > gda_984[3] && gda_984[3] < gda_984[2] && gda_984[2] < gda_984[1]) { gda_1044[2] = 1; gda_1044[1] = High[1] + gd_452 * Point; gda_1088[3][1] = High[1] + gd_452 * Point; gda_1088[3][2] = 1; } else { gda_1088[3][1] = 0; gda_1088[3][2] = 0; } } if (gda_984[1] < 0.0 && gda_984[5] < 0.0 && gda_1044[2] == 0.0 && gda_1088[3][0] == 0.0) { if (gda_984[5] > gda_984[4] && gda_984[4] < gda_984[3] && gda_984[3] < gda_984[2] && gda_984[2] < gda_984[1]) { gda_1044[2] = 1; gda_1044[1] = High[1] + gd_452 * Point; gda_1088[3][1] = High[1] + gd_452 * Point; gda_1088[3][2] = 1; } else { gda_1088[3][1] = 0; gda_1088[3][2] = 0; } } if (gda_984[3] < 0.0 && gda_984[2] < 0.0 && gda_984[3] < gda_984[2] && gda_984[1] > 0.0 && gda_1044[2] == 0.0 && gda_1088[3][0] == 0.0) { gda_1044[2] = 1; gda_1044[1] = High[1] + gd_452 * Point; gda_1088[3][1] = High[1] + gd_452 * Point; gda_1088[3][2] = 1; } else { gda_1088[3][1] = 0; gda_1088[3][2] = 0; } if (gda_984[2] < gda_984[1] && High[2] > High[1]) gi_560 = TRUE; if (gda_984[2] > gda_984[1]) gi_568 = TRUE; gda_1064[1] = Low[1] - gd_452 * Point; gda_1064[2] = 0; gda_1092[3][1] = 0; gda_1092[3][2] = 0; g_index_312 = 1; while (g_index_312 <= OrdersTotalSym()) { if (gda_1064[1] == gia_1096[g_index_312][0] && gia_1096[g_index_312][1] == 3) { gda_1092[3][0] = 1; break; } gda_1092[3][0] = 0; g_index_312++; } if (gda_984[1] < 0.0 && gda_984[3] < 0.0 && gda_1092[3][0] == 0.0) { if (gda_984[4] < gda_984[3] && gda_984[3] > gda_984[2] && gda_984[2] > gda_984[1]) { gda_1064[2] = 1; gda_1064[1] = Low[1] - gd_452 * Point; gda_1092[3][1] = Low[1] - gd_452 * Point; gda_1092[3][2] = 1; } else { gda_1092[3][1] = 0; gda_1092[3][2] = 0; } } if (gda_984[1] > 0.0 && gda_984[5] > 0.0 && gda_1064[2] == 0.0 && gda_1092[3][0] == 0.0) { if (gda_984[5] < gda_984[4] && gda_984[4] > gda_984[3] && gda_984[3] > gda_984[2] && gda_984[2] > gda_984[1]) { gda_1064[2] = 1; gda_1064[1] = Low[1] - gd_452 * Point; gda_1092[3][1] = Low[1] - gd_452 * Point; gda_1092[3][2] = 1; } else { gda_1092[3][1] = 0; gda_1092[3][2] = 0; } } if (gda_984[3] > 0.0 && gda_984[2] > 0.0 && gda_984[3] > gda_984[2] && gda_984[1] < 0.0 && gda_1064[2] == 0.0 && gda_1092[3][0] == 0.0) { gda_1064[2] = 1; gda_1064[1] = Low[1] - gd_452 * Point; gda_1092[3][1] = Low[1] - gd_452 * Point; gda_1092[3][2] = 1; } else { gda_1092[3][1] = 0; gda_1092[3][2] = 0; } if (gda_984[2] > gda_984[1] && Low[2] < Low[1]) gi_564 = TRUE; if (gda_984[2] < gda_984[1]) gi_572 = TRUE; if (gi_360) { } gda_1048[1] = High[1] + gd_460 * Point; gda_1048[2] = 0; gda_1088[4][1] = 0; gda_1088[4][2] = 0; g_index_312 = 1; while (g_index_312 <= OrdersTotalSym()) { if (gda_1048[1] == gia_1096[g_index_312][0] && gia_1096[g_index_312][1] == 4) { gda_1088[4][0] = 1; break; } gda_1088[4][0] = 0; g_index_312++; } if (gda_984[3] < gda_984[2] && gda_984[13] < gda_984[12] && (gda_984[2] < gda_984[1] && gda_984[12] < gda_984[11]) && Close[2] < Close[1] && gda_1088[4][0] == 0.0) { for (gi_304 = 3; gi_304 < 5; gi_304++) { if (gda_984[gi_304 + 1] > gda_984[gi_304]) { gda_1048[2] = 1; gda_1048[1] = High[1] + gd_460 * Point; gda_1088[4][1] = High[1] + gd_460 * Point; gda_1088[4][2] = 1; break; } } if (gi_304 == 5) { for (gi_304 = 13; gi_304 < 15; gi_304++) { if (gda_984[gi_304 + 1] > gda_984[gi_304]) { gda_1048[2] = 1; gda_1048[1] = High[1] + gd_460 * Point; gda_1088[4][1] = High[1] + gd_460 * Point; gda_1088[4][2] = 1; break; } } } } if (High[2] > High[1]) gi_unused_576 = TRUE; if (gda_1004[0] > Close[0]) gi_584 = TRUE; gda_1068[1] = Low[1] - gd_460 * Point; gda_1068[2] = 0; gda_1092[4][1] = 0; gda_1092[4][2] = 0; g_index_312 = 1; while (g_index_312 <= OrdersTotalSym()) { if (gda_1068[1] == gia_1096[g_index_312][0] && gia_1096[g_index_312][1] == 4) { gda_1092[4][0] = 1; break; } gda_1092[4][0] = 0; g_index_312++; } if (gda_984[3] > gda_984[2] && gda_984[13] > gda_984[12] && (gda_984[2] > gda_984[1] && gda_984[12] > gda_984[11]) && Close[2] > Close[1] && gda_1092[4][0] == 0.0) { for (gi_304 = 3; gi_304 < 5; gi_304++) { if (gda_984[gi_304 + 1] < gda_984[gi_304]) { gda_1068[2] = 1; gda_1068[1] = Low[1] - gd_460 * Point; gda_1092[4][1] = Low[1] - gd_460 * Point; gda_1092[4][2] = 1; break; } } if (gi_304 == 5) { for (gi_304 = 13; gi_304 < 15; gi_304++) { if (gda_984[gi_304 + 1] < gda_984[gi_304]) { gda_1068[2] = 1; gda_1068[1] = Low[1] - gd_460 * Point; gda_1092[4][1] = Low[1] - gd_460 * Point; gda_1092[4][2] = 1; break; } } } } if (Low[2] < Low[1]) gi_unused_580 = TRUE; if (gda_1004[0] < Close[0]) gi_588 = TRUE; if (gi_360) { } gda_1052[1] = 0; gda_1052[2] = 0; gda_1088[5][1] = 0; gda_1088[5][2] = 0; if (gda_984[2] < gda_984[1] && gda_984[12] < gda_984[11]) { for (gi_304 = 2; gi_304 <= 13; gi_304++) { if (High[gi_304] > High[1] && High[gi_304] > iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORTEETH, gi_304)) { gda_1052[1] = High[gi_304] + gd_468 * Point; g_index_312 = 1; while (g_index_312 <= OrdersTotalSym()) { if (gda_1052[1] == gia_1096[g_index_312][0] && gia_1096[g_index_312][1] == 5) { gda_1088[5][0] = 1; break; } gda_1088[5][0] = 0; g_index_312++; } if (gda_1088[5][0] == 0.0) { gda_1052[2] = 1; gda_1088[5][1] = High[gi_304] + gd_468 * Point; gda_1088[5][2] = 1; } if (gi_360) {} break; } gda_1052[2] = -1; } } if ((gda_984[2] > gda_984[1] && gda_984[12] > gda_984[11]) || (gda_984[2] < gda_984[1] && gda_984[12] > gda_984[11]) || (gda_984[2] > gda_984[1] && gda_984[12] < gda_984[11])) { for (gi_304 = 2; gi_304 <= 12; gi_304++) { if (High[gi_304] > High[1]) { for (gi_308 = gi_304 + 1; gi_308 <= 13; gi_308++) { if (High[gi_308] > High[gi_304] && High[gi_308] > iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORTEETH, gi_308)) { gda_1052[1] = High[gi_308] + gd_468 * Point; g_index_312 = 1; while (g_index_312 <= OrdersTotalSym()) { if (gda_1052[1] == gia_1096[g_index_312][0] && gia_1096[g_index_312][1] == 5) { gda_1088[5][0] = 1; break; } gda_1088[5][0] = 0; g_index_312++; } if (gda_1088[5][0] == 0.0) { gda_1052[2] = 1; gda_1088[5][1] = High[gi_308] + gd_468 * Point; gda_1088[5][2] = 1; } if (gi_360) {} break; } gda_1052[2] = -1; } break; } } } if (gda_1004[0] > Close[0]) gi_600 = TRUE; gda_1076[1] = 0; gda_1076[2] = 0; gda_1092[5][1] = 0; gda_1092[5][2] = 0; if (gda_984[2] > gda_984[1] && gda_984[12] > gda_984[11]) { for (gi_304 = 2; gi_304 <= 13; gi_304++) { if (Low[gi_304] < Low[1] && Low[gi_304] < iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORTEETH, gi_304)) { gda_1076[1] = Low[gi_304] - gd_468 * Point; g_index_312 = 1; while (g_index_312 <= OrdersTotalSym()) { if (gda_1076[1] == gia_1096[g_index_312][0] && gia_1096[g_index_312][1] == 5) { gda_1092[5][0] = 1; break; } gda_1092[5][0] = 0; g_index_312++; } if (gda_1092[5][0] == 0.0) { gda_1076[2] = 1; gda_1092[5][1] = Low[gi_304] - gd_468 * Point; gda_1092[5][2] = 1; } if (gi_360) {} break; } gda_1076[2] = -1; } } if ((gda_984[2] < gda_984[1] && gda_984[12] < gda_984[11]) || (gda_984[2] < gda_984[1] && gda_984[12] > gda_984[11]) || (gda_984[2] > gda_984[1] && gda_984[12] < gda_984[11])) { for (gi_304 = 2; gi_304 <= 12; gi_304++) { if (Low[gi_304] < Low[1]) { for (gi_308 = gi_304 + 1; gi_308 <= 13; gi_308++) { if (Low[gi_308] < Low[gi_304] && Low[gi_308] < iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORTEETH, gi_308)) { gda_1076[1] = Low[gi_308] - gd_468 * Point; g_index_312 = 1; while (g_index_312 <= OrdersTotalSym()) { if (gda_1076[1] == gia_1096[g_index_312][0] && gia_1096[g_index_312][1] == 5) { gda_1092[5][0] = 1; break; } gda_1092[5][0] = 0; g_index_312++; } if (gda_1092[5][0] == 0.0) { gda_1076[2] = 1; gda_1092[5][1] = Low[gi_308] - gd_468 * Point; gda_1092[5][2] = 1; } if (gi_360) {} break; } gda_1076[2] = -1; } break; } } } if (gda_1004[0] < Close[0]) gi_604 = TRUE; if (gi_360) gs_1100 = Symbol(); if (gs_1100 == "$COMPQ") gd_280 = 100.0 * gd_272; else { if (gs_1100 == "$INDU") gd_280 = 100.0 * gd_272; else { if (gs_1100 == "#ENQZ3") gd_280 = 100.0 * gd_272; else gd_280 = gd_272; } } gd_952 = MathCeil(iATR(NULL, 0, ATR_Period - 1, 1) / Point) * Point; gd_960 = Low[0] - gd_952 * gd_944; gd_968 = High[0] + gd_952 * gd_944; gd_920 = MathCeil(MathPow(iWPR(NULL, 0, g_period_912, 0), 2) / 100.0); gd_928 = gd_920; gi_916 = 0; if (gd_928 < gd_896) gi_916 = 1; if (gd_928 > gd_904) gi_916 = -1; if (gi_148 > 0) { gi_940 = -1; g_count_936 = 0; if (gi_916 != 0) { gi_940 = 0; g_count_936 = 1; } for (gi_304 = 1; gi_304 <= 55; gi_304++) { gd_920 = MathCeil(MathPow(iWPR(NULL, 0, g_period_912, gi_304), 2) / 100.0); gd_928 = gd_920; gia_996[gi_304] = 0; if (gd_928 < gd_896) gia_996[gi_304] = 1; if (gd_928 > gd_904) gia_996[gi_304] = -1; if (gia_996[gi_304] > 0 && gi_940 == -1) gi_940 = gi_304; if (gia_996[gi_304] < 0 && gi_940 == -1) gi_940 = -gi_304; if (gi_940 > 0 && gia_996[gi_304] > 0) g_count_936++; if (gi_940 < 0 && gia_996[gi_304] < 0) g_count_936++; if (gi_916 > 0 && gia_996[gi_304] > 0) g_count_936++; if (gi_916 < 0 && gia_996[gi_304] < 0) g_count_936++; if (gi_940 > 0 && gia_996[gi_304] < 0) break; if (gi_940 < 0 && gia_996[gi_304] > 0) break; if (gi_916 > 0 && gia_996[gi_304] < 0) break; if (gi_916 < 0 && gia_996[gi_304] > 0) break; } if (g_count_936 > gi_148) { gi_868 = FALSE; gi_708 = TRUE; gi_712 = TRUE; } else { gi_868 = TRUE; gi_708 = FALSE; gi_712 = FALSE; } if (gi_360) { } } if (gi_224 == 0) { if (gi_916 == 1) { if (gi_396) gi_644 = TRUE; } else gi_644 = FALSE; if (gi_916 == -1) { if (gi_400) gi_648 = TRUE; } else gi_648 = FALSE; } else { gi_644 = TRUE; gi_648 = TRUE; } gi_700 = FALSE; gi_704 = FALSE; if (gi_224 == 0) { gi_656 = FALSE; gi_unused_672 = TRUE; if (Symbol() == "EURUSD" || Symbol() != "EURJPY" && Period() <= PERIOD_H1) gi_unused_672 = FALSE; for (gi_304 = 1; gi_304 <= 4; gi_304++) if (Volume[gi_304] > Volume[gi_304 + 1] && iBWMFI(NULL, 0, gi_304) < iBWMFI(NULL, 0, gi_304 + 1)) gi_656 = TRUE; gi_692 = FALSE; if (gi_916 == -1) { gi_692 = TRUE; gi_708 = TRUE; } if (Period() >= PERIOD_M15) { if (gi_692) gi_700 = TRUE; else gi_700 = FALSE; } else { if (gi_656 && gi_692) gi_700 = TRUE; else gi_700 = FALSE; } gi_696 = FALSE; if (gi_916 == 1) { gi_696 = TRUE; gi_712 = TRUE; } if (Period() >= PERIOD_M15) { if (gi_696) gi_704 = TRUE; else gi_704 = FALSE; } else { if (gi_656 && gi_696) gi_704 = TRUE; else gi_704 = FALSE; } } if (gi_700) for (gi_304 = 1; gi_304 <= 5; gi_304++) gda_1088[gi_304][0] = 0; if (gi_704) for (gi_304 = 1; gi_304 <= 5; gi_304++) gda_1092[gi_304][0] = 0; if (gi_916 == 0) gi_868 = FALSE; else gi_868 = TRUE; if (gi_916 == -1) gi_708 = TRUE; if (gi_916 == 1) gi_712 = TRUE; if (Period() > PERIOD_D1) { gi_304 = 0; gi_308 = 0; g_index_312 = 1; while (g_index_312 <= OrdersTotalSym()) { if (gia_1096[g_index_312][1] == 1) { if (gia_1096[g_index_312][3] == 1) gi_304++; if (gia_1096[g_index_312][3] == -1) gi_308++; } g_index_312++; } if (g_count_936 > 0 && g_count_936 <= 8 && gi_940 >= 0 && gi_304 <= 1 || OrdersTotalSym() <= 0) { gi_652 = TRUE; gi_868 = TRUE; gi_708 = FALSE; gi_504 = FALSE; } if (g_count_936 > 0 && g_count_936 <= 8 && gi_940 <= 0 && gi_308 <= 1 || OrdersTotalSym() <= 1) { gi_652 = TRUE; gi_868 = TRUE; gi_712 = FALSE; gi_508 = FALSE; } } gda_984[0] = 0; for (gi_304 = 1; gi_304 <= OrdersTotal(); gi_304++) { OrderSelect(gi_304 - 1, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol()) { if (OrderType() == OP_BUY) { gi_396 = TRUE; if (gia_1084[gi_304] != OrderType()) { gia_1084[gi_304] = OrderType(); if (gi_364) { gs_1108 = Symbol() + " BuyStop order with ticket " + OrderTicket() + " is hit on price " + DoubleToStr(OrderOpenPrice(), 4); AlertExt(gs_1108); } } if (gia_1096[gi_304][1] == 1 && gda_1036[1] == OrderOpenPrice()) gda_1036[2] = 0; if (gia_1096[gi_304][1] == 2 && gda_1040[1] == OrderOpenPrice()) gda_1040[2] = 0; if (gia_1096[gi_304][1] == 3 && gda_1044[1] == OrderOpenPrice()) gda_1044[2] = 0; if (gia_1096[gi_304][1] == 4 && gda_1048[1] == OrderOpenPrice()) gda_1048[2] = 0; if (gia_1096[gi_304][1] == 5 && gda_1052[1] == OrderOpenPrice()) gda_1052[2] = 0; } if (OrderType() == OP_SELL) { gi_400 = TRUE; if (gia_1084[gi_304] != OrderType()) { gia_1084[gi_304] = OrderType(); if (gi_364) { gs_1108 = Symbol() + " SellStop order with ticket " + OrderTicket() + " is hit on price " + DoubleToStr(OrderOpenPrice(), 4); AlertExt(gs_1108); } } if (gia_1096[gi_304][1] == 1 && gda_1056[1] == OrderOpenPrice()) gda_1056[2] = 0; if (gia_1096[gi_304][1] == 2 && gda_1060[1] == OrderOpenPrice()) gda_1060[2] = 0; if (gia_1096[gi_304][1] == 3 && gda_1064[1] == OrderOpenPrice()) gda_1064[2] = 0; if (gia_1096[gi_304][1] == 4 && gda_1068[1] == OrderOpenPrice()) gda_1068[2] = 0; if (gia_1096[gi_304][1] == 5 && gda_1076[1] == OrderOpenPrice()) gda_1076[2] = 0; } if (OrderType() == OP_BUYSTOP) { if (gia_1096[gi_304][1] == 1) { if (gda_1024[2] + gd_404 * Point != gda_1088[1][1] && gda_1036[2] == 1.0) { gi_492 = TRUE; gda_1088[1][2] = 0; } } if (gia_1096[gi_304][1] == 5) { if (gi_704 == TRUE && gi_712) { g_price_428 = High[1] + gd_404 * Point; if (OrderOpenPrice() > g_price_428 && gda_1052[2] == 1.0) { gi_592 = TRUE; gda_1088[5][1] = g_price_428; gda_1088[5][2] = 0; } } if (OrderOpenPrice() > gda_1088[5][1] && gda_1088[5][1] > 0.0) { if (gda_1088[5][1] > Ask + g_stoplevel_352 * Point && gda_1052[2] == 1.0) { gda_1088[5][2] = 0; gi_592 = TRUE; } } } } if (OrderType() == OP_SELLSTOP) { if (gia_1096[gi_304][1] == 1) { if (gda_1024[2] - gd_404 * Point != gda_1092[1][1] && gda_1056[2] == 1.0) { gi_496 = TRUE; gda_1092[1][2] = 0; gda_1056[2] = 0; } } if (gia_1096[gi_304][1] == 5) { if (gi_700 == TRUE && gi_708) { g_price_428 = Low[1] - gd_404 * Point; if (OrderOpenPrice() < g_price_428 && gda_1076[2] == 1.0) { gi_596 = TRUE; gda_1092[5][1] = g_price_428; gda_1092[5][2] = 0; } } if (OrderOpenPrice() < gda_1092[5][1] && gda_1092[5][1] > 0.0) { if (gda_1092[5][1] < Bid - g_stoplevel_352 * Point && gda_1076[2] == 1.0) { gi_596 = TRUE; gda_1092[5][2] = 0; } } } } gda_984[0] += 1.0; if (gda_984[0] >= gi_824) gi_392 = TRUE; } } if (gi_360) { } if (!gi_392) { if (Symbol() == "#SP500" || Symbol() == "#NQCOMP" || Symbol() == "#NQ100") gd_384 = 10.0 * Ask * Lots / 20.0; else { if (Symbol() == "#DJI") gd_384 = 1.0 * Ask * Lots / 20.0; else { if (Symbol() == "#ENQU3") gd_384 = 2000.0 * Lots; else { if (Symbol() == "#EPU3") gd_384 = 3000.0 * Lots; else gd_384 = 1000.0 * Lots; } } } if (AccountFreeMargin() < gd_384) { Comment(TimeToStr(Time[0]), ": Do not have enough margin to continue ..."); gi_368 = FALSE; } else { Comment(gs_228, "\nLot = ", gd_288, " Trades = ", OrdersTotalSym(), " Trendbars = ", g_count_936); } if (gi_360) { } if (gi_368 && gi_652) { if (MoneyMan > 0) g_lots_676 = gd_288; else g_lots_676 = Lots; if (UseGatorStopLoss) { if (iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORJAW, 0) - iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORTEETH, 0) > gi_1116 * GatorMouseClosePips * Point) gd_528 = iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORTEETH, 0) - gi_1116 * Gator_Stop_Pips * Point; } else { if (StopLoss == 0) gd_528 = Bid - gd_952 * kts_stoploss; else gd_528 = Bid - gi_1116 * StopLoss * Point; } g_price_428 = High[0] + gd_404 * Point; if (gda_1036[1] > g_price_428) g_price_428 = gda_1036[1]; g_price_428 += gi_1116 * Fractal_Entry_Pips * Point; g_price_420 = gd_528; g_price_436 = g_price_428 + (g_price_428 - g_price_420) * gd_264; if (gda_1036[2] == 1.0 && !gi_708 && g_global_var_716 == 0.0 && gda_1088[1][2] == 1.0 && gda_1088[1][0] == 0.0) { OrderSend(Symbol(), OP_BUYSTOP, g_lots_676, g_price_428, Slippage, g_price_420, g_price_436, "ChaosTrader", 0, 0, Green); GlobalVariableSet(Symbol() + "_Fbuy", g_price_428); gia_1096[gi_820 + 1][0] = g_price_428; gia_1096[gi_820 + 1][1] = 1; gia_1096[gi_820 + 1][2] = 0; gia_1096[gi_820 + 1][3] = 1; if (gi_364) { gs_1108 = Symbol() + " (F): Place a Buy Stop to buy " + DoubleToStr(g_lots_676, 4) + " Lots if price rises to " + DoubleToStr(g_price_428, 4) + " or higher; Set Stop Loss to " + DoubleToStr(g_price_420, 4) + " and Take Profit to " + DoubleToStr(g_price_436, 4) + "; Exit Strategy: Close the position using fractal trailing stop or Red Balance Line."; AlertExt(gs_1108); } if (!(ShowSignals)) return; SetText(Time[0], g_price_428, "F", Red); return; } g_price_428 = High[0] + gd_404 * Point; if (gda_1040[1] > g_price_428) g_price_428 = gda_1040[1]; g_price_420 = gd_528; g_price_436 = g_price_428 + (g_price_428 - g_price_420) * gd_264; if (gda_1040[2] == 1.0 && g_global_var_732 == 0.0 && gda_1088[2][2] == 1.0 && gda_1088[2][0] == 0.0 && gi_396 && gi_628 && gi_644 && gi_868) { OrderSend(Symbol(), OP_BUYSTOP, g_lots_676, g_price_428, Slippage, g_price_420, g_price_436, "ChaosTrader", 0, 0, Green); GlobalVariableSet(Symbol() + "_AObuy", g_price_428); gia_1096[gi_820 + 1][0] = g_price_428; gia_1096[gi_820 + 1][1] = 2; gia_1096[gi_820 + 1][2] = 0; gia_1096[gi_820 + 1][3] = 1; if (gi_364) { gs_1108 = Symbol() + " (AO): Place a Buy Stop to buy " + DoubleToStr(g_lots_676, 4) + " Lots if price rises to " + DoubleToStr(g_price_428, 4) + " or higher; Set Stop Loss to " + DoubleToStr(g_price_420, 4) + " and Take Profit to " + DoubleToStr(g_price_436, 4) + "; Exit Strategy: Close the position using fractal trailing stop or Red Balance Line."; AlertExt(gs_1108); } if (!(ShowSignals)) return; SetText(Time[0], g_price_428, "AO", Red); return; } g_price_428 = High[0] + gd_404 * Point; if (gda_1044[1] > g_price_428) g_price_428 = gda_1044[1]; g_price_420 = gd_528; g_price_436 = g_price_428 + (g_price_428 - g_price_420) * gd_264; if (gda_1044[2] == 1.0 && g_global_var_724 == 0.0 && gda_1088[3][2] == 1.0 && gda_1088[3][0] == 0.0 && gi_396 && gi_632 && gi_644 && gi_868) { OrderSend(Symbol(), OP_BUYSTOP, g_lots_676, g_price_428, Slippage, g_price_420, g_price_436, "ChaosTrader", 0, 0, Green); GlobalVariableSet(Symbol() + "_ACbuy", g_price_428); gia_1096[gi_820 + 1][0] = g_price_428; gia_1096[gi_820 + 1][1] = 3; gia_1096[gi_820 + 1][2] = 0; gia_1096[gi_820 + 1][3] = 1; if (gi_364) { gs_1108 = Symbol() + " (AC): Place a Buy Stop to buy " + DoubleToStr(g_lots_676, 4) + " Lots if price rises to " + DoubleToStr(g_price_428, 4) + " or higher; Set Stop Loss to " + DoubleToStr(g_price_420, 4) + " and Take Profit to " + DoubleToStr(g_price_436, 4) + "; Exit Strategy: Close the position using fractal trailing stop or Red Balance Line."; AlertExt(gs_1108); } if (!(ShowSignals)) return; SetText(Time[0], g_price_428, "AC", Red); return; } g_price_428 = High[0] + gd_460 * Point; if (gda_1048[1] > g_price_428) g_price_428 = gda_1048[1]; g_price_420 = gd_528; g_price_436 = g_price_428 + (g_price_428 - g_price_420) * gd_264; if (gda_1048[2] == 1.0 && g_global_var_740 == 0.0 && gda_1088[4][2] == 1.0 && gda_1088[4][0] == 0.0 && gi_396 && gi_636 && gi_644 && gi_868) { OrderSend(Symbol(), OP_BUYSTOP, g_lots_676, g_price_428, Slippage, g_price_420, g_price_436, "ChaosTrader", 0, 0, Green); GlobalVariableSet(Symbol() + "_Zbuy", g_price_428); gia_1096[gi_820 + 1][0] = g_price_428; gia_1096[gi_820 + 1][1] = 4; gia_1096[gi_820 + 1][2] = 0; gia_1096[gi_820 + 1][3] = 1; if (gi_364) { gs_1108 = Symbol() + " (Z): Place a Buy Stop to buy " + DoubleToStr(g_lots_676, 4) + " Lots if price rises to " + DoubleToStr(g_price_428, 4) + " or higher; Set Stop Loss to " + DoubleToStr(g_price_420, 4) + " and Take Profit to " + DoubleToStr(g_price_436, 4) + "; Exit Strategy: Close the position using trailing stop or Red Balance Line."; AlertExt(gs_1108); } if (!(ShowSignals)) return; SetText(Time[0], g_price_428, "Z", Red); return; } g_price_428 = gda_1052[1]; g_price_420 = gd_528; g_price_436 = g_price_428 + (g_price_428 - g_price_420) * gd_264; if (gi_360) { } if (gda_1052[2] == 1.0 && g_global_var_748 == 0.0 && gda_1088[5][2] == 1.0 && gda_1088[5][0] == 0.0 && gi_396 && gi_640 && gi_644 && gi_868) { OrderSend(Symbol(), OP_BUYSTOP, g_lots_676, g_price_428, Slippage, g_price_420, g_price_436, "ChaosTrader", 0, 0, Green); GlobalVariableSet(Symbol() + "_Bbuy", g_price_428); gia_1096[gi_820 + 1][0] = g_price_428; gia_1096[gi_820 + 1][1] = 5; gia_1096[gi_820 + 1][2] = 0; gia_1096[gi_820 + 1][3] = 1; if (gi_364) { gs_1108 = Symbol() + " (B): Place a Buy Stop to buy " + DoubleToStr(g_lots_676, 4) + " Lots if price rises to " + DoubleToStr(g_price_428, 4) + " or higher; Set Stop Loss to " + DoubleToStr(g_price_420, 4) + " and Take Profit to " + DoubleToStr(g_price_436, 4) + "; Exit Strategy: Close the position using trailing stop or Red Balance Line."; AlertExt(gs_1108); } if (!(ShowSignals)) return; SetText(Time[0], g_price_428, "B", Red); return; } if (UseGatorStopLoss) { if (iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORTEETH, 0) - iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORJAW, 0) > gi_1116 * GatorMouseClosePips * Point) gd_536 = iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORTEETH, 0) + gi_1116 * Gator_Stop_Pips * Point; } else { if (StopLoss == 0) gd_536 = Ask + gd_952 * kts_stoploss; else gd_536 = Ask + gi_1116 * StopLoss * Point; } g_price_428 = Low[0] - gd_404 * Point; if (gda_1056[1] < g_price_428) g_price_428 = gda_1056[1]; g_price_428 -= gi_1116 * Fractal_Entry_Pips * Point; g_price_420 = gd_536; g_price_436 = g_price_428 - (g_price_420 - g_price_428) * gd_264; if (gda_1056[2] == 1.0 && !gi_712 && g_global_var_764 == 0.0 && gda_1092[1][2] == 1.0 && gda_1092[1][0] == 0.0) { OrderSend(Symbol(), OP_SELLSTOP, g_lots_676, g_price_428, Slippage, g_price_420, g_price_436, "ChaosTrader", 0, 0, Red); GlobalVariableSet(Symbol() + "_Fsell", g_price_428); gia_1096[gi_820 + 1][0] = g_price_428; gia_1096[gi_820 + 1][1] = 1; gia_1096[gi_820 + 1][2] = 0; gia_1096[gi_820 + 1][3] = -1; if (gi_364) { gs_1108 = Symbol() + " (F): Place a Sell Stop to sell " + DoubleToStr(g_lots_676, 4) + " Lots if price falls to " + DoubleToStr(g_price_428, 4) + " or lower; Set Stop Loss to " + DoubleToStr(g_price_420, 4) + " and Take Profit to " + DoubleToStr(g_price_436, 4) + "; Exit Strategy: Close the position using fractal trailing stop or Red Balance Line."; AlertExt(gs_1108); } if (!(ShowSignals)) return; SetText(Time[0], g_price_428, "F", Red); return; } g_price_428 = Low[0] - gd_404 * Point; if (gda_1060[1] < g_price_428) g_price_428 = gda_1060[1]; g_price_420 = gd_536; g_price_436 = g_price_428 - (g_price_420 - g_price_428) * gd_264; if (gda_1060[2] == 1.0 && g_global_var_780 == 0.0 && gda_1092[2][2] == 1.0 && gda_1092[2][0] == 0.0 && gi_400 && gi_628 && gi_648 && gi_868) { OrderSend(Symbol(), OP_SELLSTOP, g_lots_676, g_price_428, Slippage, g_price_420, g_price_436, "ChaosTrader", 0, 0, Red); GlobalVariableSet(Symbol() + "_AOsell", g_price_428); gia_1096[gi_820 + 1][0] = g_price_428; gia_1096[gi_820 + 1][1] = 2; gia_1096[gi_820 + 1][2] = 0; gia_1096[gi_820 + 1][3] = -1; if (gi_364) { gs_1108 = Symbol() + " (AO): Place a Sell Stop to sell " + DoubleToStr(g_lots_676, 4) + " Lots if price falls to " + DoubleToStr(g_price_428, 4) + " or lower; Set Stop Loss to " + DoubleToStr(g_price_420, 4) + " and Take Profit to " + DoubleToStr(g_price_436, 4) + "; Exit Strategy: Close the position using fractal trailing stop or Red Balance Line."; AlertExt(gs_1108); } if (!(ShowSignals)) return; SetText(Time[0], g_price_428, "AO", Red); return; } g_price_428 = Low[0] - gd_404 * Point; if (gda_1064[1] < g_price_428) g_price_428 = gda_1064[1]; g_price_420 = gd_536; g_price_436 = g_price_428 - (g_price_420 - g_price_428) * gd_264; if (gda_1064[2] == 1.0 && g_global_var_772 == 0.0 && gda_1092[3][2] == 1.0 && gda_1092[3][0] == 0.0 && gi_400 && gi_632 && gi_648 && gi_868) { OrderSend(Symbol(), OP_SELLSTOP, g_lots_676, g_price_428, Slippage, g_price_420, g_price_436, "ChaosTrader", 0, 0, Red); GlobalVariableSet(Symbol() + "_ACsell", g_price_428); gia_1096[gi_820 + 1][0] = g_price_428; gia_1096[gi_820 + 1][1] = 3; gia_1096[gi_820 + 1][2] = 0; gia_1096[gi_820 + 1][3] = -1; if (gi_364) { gs_1108 = Symbol() + " (AC): Place a Sell Stop to sell " + DoubleToStr(g_lots_676, 4) + " Lots if price falls to " + DoubleToStr(g_price_428, 4) + " or lower; Set Stop Loss to " + DoubleToStr(g_price_420, 4) + " and Take Profit to " + DoubleToStr(g_price_436, 4) + "; Exit Strategy: Close the position using fractal trailing stop or Red Balance Line."; AlertExt(gs_1108); } if (!(ShowSignals)) return; SetText(Time[0], g_price_428, "AC", Red); return; } g_price_428 = Low[0] - gd_460 * Point; if (gda_1068[1] < g_price_428) g_price_428 = gda_1068[1]; g_price_420 = gd_536; g_price_436 = g_price_428 - (g_price_420 - g_price_428) * gd_264; if (gda_1068[2] == 1.0 && g_global_var_788 == 0.0 && gda_1092[4][2] == 1.0 && gda_1092[4][0] == 0.0 && gi_400 && gi_636 && gi_648 && gi_868) { OrderSend(Symbol(), OP_SELLSTOP, g_lots_676, g_price_428, Slippage, g_price_420, g_price_436, "ChaosTrader", 0, 0, Red); GlobalVariableSet(Symbol() + "_Zsell", g_price_428); gia_1096[gi_820 + 1][0] = g_price_428; gia_1096[gi_820 + 1][1] = 4; gia_1096[gi_820 + 1][2] = 0; gia_1096[gi_820 + 1][3] = -1; if (gi_364) { gs_1108 = Symbol() + " (Z): Place a Sell Stop to sell " + DoubleToStr(g_lots_676, 4) + " Lots if price falls to " + DoubleToStr(g_price_428, 4) + " or lower; Set Stop Loss to " + DoubleToStr(g_price_420, 4) + " and Take Profit to " + DoubleToStr(g_price_436, 4) + "; Exit Strategy: Close the position using trailing stop or Red Balance Line."; AlertExt(gs_1108); } if (!(ShowSignals)) return; SetText(Time[0], g_price_428, "Z", Red); return; } g_price_428 = gda_1076[1]; g_price_420 = gd_536; g_price_436 = g_price_428 - (g_price_420 - g_price_428) * gd_264; if (gi_360) { } if (gda_1076[2] == 1.0 && g_global_var_796 == 0.0 && gda_1092[5][2] == 1.0 && gda_1092[5][0] == 0.0 && gi_400 && gi_640 && gi_648 && gi_868) { OrderSend(Symbol(), OP_SELLSTOP, g_lots_676, g_price_428, Slippage, g_price_420, g_price_436, "ChaosTrader", 0, 0, Red); GlobalVariableSet(Symbol() + "_Bsell", g_price_428); gia_1096[gi_820 + 1][0] = g_price_428; gia_1096[gi_820 + 1][1] = 5; gia_1096[gi_820 + 1][2] = 0; gia_1096[gi_820 + 1][3] = -1; if (gi_364) { gs_1108 = Symbol() + " (B): Place a Sell Stop to sell " + DoubleToStr(g_lots_676, 4) + " Lots if price falls to " + DoubleToStr(g_price_428, 4) + " or lower; Set Stop Loss to " + DoubleToStr(g_price_420, 4) + " and Take Profit to " + DoubleToStr(g_price_436, 4) + "; Exit Strategy: Close the position using trailing stop or Red Balance Line."; AlertExt(gs_1108); } if (!(ShowSignals)) return; SetText(Time[0], g_price_428, "B", Red); return; } } } if (gi_360) { } if (gi_360) { } for (gi_304 = 1; gi_304 <= OrdersTotal(); gi_304++) { OrderSelect(gi_304 - 1, SELECT_BY_POS, MODE_TRADES); if (OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP && OrderSymbol() == Symbol()) { g_ticket_816 = OrderTicket(); if (OrderType() == OP_BUYSTOP) { if (gi_504 && gia_1096[gi_304][1] == 1) { OrderDelete(OrderTicket()); gda_1088[gia_1096[gi_304][1]][0] = 0; for (g_index_312 = 0; g_index_312 <= 3; g_index_312++) if (GlobalVariableCheck(Symbol() + "_ct" + gi_304 + g_index_312)) GlobalVariableDel(Symbol() + "_ct" + gi_304 + g_index_312); if (!(gi_364)) return; gs_1108 = Symbol() + " (F): Delete a Buy Stop order with a ticket No " + OrderTicket() + " Fractal pending orders deleting rule: New fractal is unusable."; AlertExt(gs_1108); return; } if (gi_552 || gi_708 && gia_1096[gi_304][1] == 2) { OrderDelete(OrderTicket()); gda_1088[gia_1096[gi_304][1]][0] = 0; for (g_index_312 = 0; g_index_312 <= 3; g_index_312++) if (GlobalVariableCheck(Symbol() + "_ct" + gi_304 + g_index_312)) GlobalVariableDel(Symbol() + "_ct" + gi_304 + g_index_312); if (!(gi_364)) return; gs_1108 = Symbol() + " (AO): Delete a Buy Stop order with a ticket No " + OrderTicket() + " AO pending orders deleting rule: red AO bar deletes AO BUY signal."; AlertExt(gs_1108); return; } if (gi_568 || gi_708 && gia_1096[gi_304][1] == 3) { OrderDelete(OrderTicket()); gda_1088[gia_1096[gi_304][1]][0] = 0; for (g_index_312 = 0; g_index_312 <= 3; g_index_312++) if (GlobalVariableCheck(Symbol() + "_ct" + gi_304 + g_index_312)) GlobalVariableDel(Symbol() + "_ct" + gi_304 + g_index_312); if (!(gi_364)) return; gs_1108 = Symbol() + " (AC): Delete a Buy Stop order with a ticket No " + OrderTicket() + " AC pending orders deleting rule: red AC bar deletes AO BUY signal."; AlertExt(gs_1108); return; } if (gi_584 || gi_708 && gia_1096[gi_304][1] == 4) { OrderDelete(OrderTicket()); gda_1088[gia_1096[gi_304][1]][0] = 0; for (g_index_312 = 0; g_index_312 <= 3; g_index_312++) if (GlobalVariableCheck(Symbol() + "_ct" + gi_304 + g_index_312)) GlobalVariableDel(Symbol() + "_ct" + gi_304 + g_index_312); if (!(gi_364)) return; gs_1108 = Symbol() + " (Z): Delete a Buy Stop order with a ticket No " + OrderTicket() + " Zone pending orders deleting rule: Close is below red base line."; AlertExt(gs_1108); return; } if (gi_600 || gi_708 && gia_1096[gi_304][1] == 5) { OrderDelete(OrderTicket()); gda_1088[gia_1096[gi_304][1]][0] = 0; for (g_index_312 = 0; g_index_312 <= 3; g_index_312++) if (GlobalVariableCheck(Symbol() + "_ct" + gi_304 + g_index_312)) GlobalVariableDel(Symbol() + "_ct" + gi_304 + g_index_312); if (!(gi_364)) return; gs_1108 = Symbol() + " (B): Delete a Buy Stop order with a ticket No " + OrderTicket() + " Base line pending orders deleting rule: Close is below red base line."; AlertExt(gs_1108); return; } } if (OrderType() == OP_SELLSTOP) { if (gi_508 && gia_1096[gi_304][1] == 1) { OrderDelete(OrderTicket()); gda_1092[gia_1096[gi_304][1]][0] = 0; for (g_index_312 = 0; g_index_312 <= 3; g_index_312++) if (GlobalVariableCheck(Symbol() + "_ct" + gi_304 + g_index_312)) GlobalVariableDel(Symbol() + "_ct" + gi_304 + g_index_312); if (!(gi_364)) return; gs_1108 = Symbol() + " (F): Delete a Sell Stop order with a ticket No " + OrderTicket() + " Fractal pending orders deleting rule: New fractal is unusable."; AlertExt(gs_1108); return; } if (gi_556 || gi_712 && gia_1096[gi_304][1] == 2) { OrderDelete(OrderTicket()); gda_1092[gia_1096[gi_304][1]][0] = 0; for (g_index_312 = 0; g_index_312 <= 3; g_index_312++) if (GlobalVariableCheck(Symbol() + "_ct" + gi_304 + g_index_312)) GlobalVariableDel(Symbol() + "_ct" + gi_304 + g_index_312); if (!(gi_364)) return; gs_1108 = Symbol() + " (AO): Delete a Sell Stop order with a ticket No " + OrderTicket() + " AO pending orders deleting rule: green AO bar deletes AO Sell signal."; AlertExt(gs_1108); return; } if (gi_572 || gi_712 && gia_1096[gi_304][1] == 3) { OrderDelete(OrderTicket()); gda_1092[gia_1096[gi_304][1]][0] = 0; for (g_index_312 = 0; g_index_312 <= 3; g_index_312++) if (GlobalVariableCheck(Symbol() + "_ct" + gi_304 + g_index_312)) GlobalVariableDel(Symbol() + "_ct" + gi_304 + g_index_312); if (!(gi_364)) return; gs_1108 = Symbol() + " (AC): Delete a Sell Stop order with a ticket No " + OrderTicket() + " AC pending orders deleting rule: green AC bar deletes AC Sell signal."; AlertExt(gs_1108); return; } if (gi_588 || gi_712 && gia_1096[gi_304][1] == 4) { OrderDelete(OrderTicket()); gda_1092[gia_1096[gi_304][1]][0] = 0; for (g_index_312 = 0; g_index_312 <= 3; g_index_312++) if (GlobalVariableCheck(Symbol() + "_ct" + gi_304 + g_index_312)) GlobalVariableDel(Symbol() + "_ct" + gi_304 + g_index_312); if (!(gi_364)) return; gs_1108 = Symbol() + " (Z): Delete a Sell Stop order with a ticket No " + OrderTicket() + " Zone pending orders deleting rule: Close is above red base line."; AlertExt(gs_1108); return; } if (gi_604 || gi_712 && gia_1096[gi_304][1] == 5) { OrderDelete(OrderTicket()); gda_1092[gia_1096[gi_304][5]][0] = 0; for (g_index_312 = 0; g_index_312 <= 3; g_index_312++) if (GlobalVariableCheck(Symbol() + "_ct" + gi_304 + g_index_312)) GlobalVariableDel(Symbol() + "_ct" + gi_304 + g_index_312); if (!(gi_364)) return; gs_1108 = Symbol() + " (B): Delete a Sell Stop order with a ticket No " + OrderTicket() + " Base Line pending orders deleting rule: Close is above red base line."; AlertExt(gs_1108); return; } } } } if (gi_360) { } for (gi_304 = 1; gi_304 <= OrdersTotal(); gi_304++) { OrderSelect(gi_304 - 1, SELECT_BY_POS, MODE_TRADES); if (OrderType() == OP_BUY || OrderType() == OP_SELL && OrderSymbol() == Symbol()) { g_ticket_816 = OrderTicket(); if (OrderType() == OP_BUY) { if (gi_360) { } if (OrderOpenPrice() - Close[0] > gd_476 * Point && 0) { OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Red); gda_1088[gia_1096[gi_304][1]][0] = 0; for (g_index_312 = 0; g_index_312 <= 3; g_index_312++) if (GlobalVariableCheck(Symbol() + "_ct" + gi_304 + g_index_312)) GlobalVariableDel(Symbol() + "_ct" + gi_304 + g_index_312); if (!(gi_364)) return; gs_1108 = Symbol() + " : Close a Buy Order with ticket No " + OrderTicket() + "; CloseOnFixedBack rule: Order loss more then " + DoubleToStr(gd_476, 4) + " points."; AlertExt(gs_1108); return; } if (gi_700 && 0) { OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Fuchsia); gda_1088[gia_1096[gi_304][1]][0] = 0; for (g_index_312 = 0; g_index_312 <= 3; g_index_312++) if (GlobalVariableCheck(Symbol() + "_ct" + gi_304 + g_index_312)) GlobalVariableDel(Symbol() + "_ct" + gi_304 + g_index_312); if (!(gi_364)) return; gs_1108 = Symbol() + " : Close a Buy Order with ticket No " + OrderTicket() + "; New Sell Order was opened."; AlertExt(gs_1108); return; } if (gi_400) { OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, DeepSkyBlue); gda_1088[gia_1096[gi_304][1]][0] = 0; for (g_index_312 = 0; g_index_312 <= 3; g_index_312++) if (GlobalVariableCheck(Symbol() + "_ct" + gi_304 + g_index_312)) GlobalVariableDel(Symbol() + "_ct" + gi_304 + g_index_312); if (!(gi_364)) return; Alert(Symbol(), " : Close a Buy Order with ticket No ", OrderTicket(), "; New Sell Order was opened."); return; } if (gd_152 > 0.0 && OrderProfit() > 10.0 * (OrderLots() * gd_272) * gd_152 / 100.0) { OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, DeepSkyBlue); gda_1088[gia_1096[gi_304][1]][0] = 0; for (g_index_312 = 0; g_index_312 <= 3; g_index_312++) if (GlobalVariableCheck(Symbol() + "_ct" + gi_304 + g_index_312)) GlobalVariableDel(Symbol() + "_ct" + gi_304 + g_index_312); if (!(gi_364)) return; gs_1108 = Symbol() + " : Close a Buy Order with ticket No " + OrderTicket() + "; " + DoubleToStr(gd_152, 4) + " of the used margin." + DoubleToStr(OrderProfit(), 4) + " " + DoubleToStr(OrderLots(), 4); AlertExt(gs_1108); return; } if (gd_160 > 0.0 && OrderProfit() < 10.0 * ((-OrderLots()) * gd_272) * gd_160 / 100.0) { OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, DeepSkyBlue); gda_1088[gia_1096[gi_304][1]][0] = 0; for (g_index_312 = 0; g_index_312 <= 3; g_index_312++) if (GlobalVariableCheck(Symbol() + "_ct" + gi_304 + g_index_312)) GlobalVariableDel(Symbol() + "_ct" + gi_304 + g_index_312); if (!(gi_364)) return; gs_1108 = Symbol() + " : Close a Buy Order with ticket No " + OrderTicket() + "; " + DoubleToStr(gd_152, 4) + " of the used margin." + DoubleToStr(OrderProfit(), 4) + " " + DoubleToStr(OrderLots(), 4); AlertExt(gs_1108); return; } g_price_428 = OrderOpenPrice(); g_price_420 = Bid - gd_952 * kts_trailingstop; if (Ask > g_price_428) g_price_436 = Ask + (Ask - g_price_420) * gd_264; else g_price_436 = OrderTakeProfit(); if (gi_360) { } if (Bid - OrderOpenPrice() > gd_952 * kts_trailingstop && OrderStopLoss() < g_price_420 || OrderStopLoss() == 0.0) { OrdModify(OrderTicket(), g_price_428, g_price_420, g_price_436, 0, LightCyan); if (!(gi_364)) return; gs_1108 = Symbol() + " : Modify a Buy Order with ticket No " + OrderTicket() + "; Set Stop Loss to " + DoubleToStr(g_price_420, 4) + " and Take Profit to " + DoubleToStr(g_price_436, 4) + "; This is a fractal trailing stop modification."; AlertExt(gs_1108); return; } if (gia_1096[gi_304][1] == 4 || gia_1096[gi_304][1] == 5 && 0) { g_price_428 = OrderOpenPrice(); g_price_420 = Low[1] - gd_476 * Point; if (Ask > g_price_428) g_price_436 = Ask + (Ask - g_price_420) * gd_264; else g_price_436 = OrderTakeProfit(); if (gi_360) { } if (OrderStopLoss() < g_price_420) { OrdModify(OrderTicket(), g_price_428, g_price_420, g_price_436, 0, DarkGray); if (!(gi_364)) return; gs_1108 = Symbol() + " : Modify a Buy Order with ticket No " + OrderTicket() + "; Set Stop Loss to " + DoubleToStr(g_price_420, 4) + " and Take Profit to " + DoubleToStr(g_price_436, 4) + "; This is a trailing stop modification."; AlertExt(gs_1108); return; } } } if (OrderType() == OP_SELL) { if (gi_360) { } if (Close[0] - OrderOpenPrice() > gd_476 * Point && 0) { OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Red); gda_1092[gia_1096[gi_304][1]][0] = 0; for (g_index_312 = 0; g_index_312 <= 3; g_index_312++) if (GlobalVariableCheck(Symbol() + "_ct" + gi_304 + g_index_312)) GlobalVariableDel(Symbol() + "_ct" + gi_304 + g_index_312); if (!(gi_364)) return; gs_1108 = Symbol() + " : Close a Sell Order with ticket No " + OrderTicket() + "; CloseOnFixedBack rule: Order loss more then " + DoubleToStr(gd_476, 4) + " points."; AlertExt(gs_1108); return; } if (gi_704 && 0) { OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Fuchsia); gda_1092[gia_1096[gi_304][1]][0] = 0; for (g_index_312 = 0; g_index_312 <= 3; g_index_312++) if (GlobalVariableCheck(Symbol() + "_ct" + gi_304 + g_index_312)) GlobalVariableDel(Symbol() + "_ct" + gi_304 + g_index_312); if (!(gi_364)) return; gs_1108 = Symbol() + " : Close a Sell Order with ticket No " + OrderTicket() + "; New Buy Order was opened."; AlertExt(gs_1108); return; } if (gi_396) { OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, DeepSkyBlue); gda_1092[gia_1096[gi_304][1]][0] = 0; for (g_index_312 = 0; g_index_312 <= 3; g_index_312++) if (GlobalVariableCheck(Symbol() + "_ct" + gi_304 + g_index_312)) GlobalVariableDel(Symbol() + "_ct" + gi_304 + g_index_312); if (!(gi_364)) return; gs_1108 = Symbol() + " : Close a Sell Order with ticket No " + OrderTicket() + "; New Buy Order was opened."; AlertExt(gs_1108); return; } if (gd_152 > 0.0 && OrderProfit() > 10.0 * (OrderLots() * gd_272) * gd_152 / 100.0) { OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, DeepSkyBlue); gda_1092[gia_1096[gi_304][1]][0] = 0; for (g_index_312 = 0; g_index_312 <= 3; g_index_312++) if (GlobalVariableCheck(Symbol() + "_ct" + gi_304 + g_index_312)) GlobalVariableDel(Symbol() + "_ct" + gi_304 + g_index_312); if (!(gi_364)) return; gs_1108 = Symbol() + " : Close a Sell Order with ticket No " + OrderTicket() + "; " + DoubleToStr(gd_152, 4) + " of the used margin." + DoubleToStr(OrderProfit(), 4) + " " + DoubleToStr(OrderLots(), 4); AlertExt(gs_1108); return; } if (gd_160 > 0.0 && OrderProfit() < 10.0 * ((-OrderLots()) * gd_272) * gd_160 / 100.0) { OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, DeepSkyBlue); gda_1092[gia_1096[gi_304][1]][0] = 0; for (g_index_312 = 0; g_index_312 <= 3; g_index_312++) if (GlobalVariableCheck(Symbol() + "_ct" + gi_304 + g_index_312)) GlobalVariableDel(Symbol() + "_ct" + gi_304 + g_index_312); if (!(gi_364)) return; gs_1108 = Symbol() + " : Close a Sell Order with ticket No " + OrderTicket() + "; " + DoubleToStr(gd_152, 4) + " of the used margin." + DoubleToStr(OrderProfit(), 4) + " " + DoubleToStr(OrderLots(), 4); AlertExt(gs_1108); return; } g_price_428 = OrderOpenPrice(); g_price_420 = Ask + gd_952 * kts_trailingstop; if (Bid < g_price_428) g_price_436 = Bid - (g_price_420 - Bid) * gd_264; else g_price_436 = OrderTakeProfit(); if (gi_360) { } if (OrderOpenPrice() - Ask > gd_952 * kts_trailingstop && OrderStopLoss() > g_price_420 || OrderStopLoss() == 0.0) { OrdModify(OrderTicket(), g_price_428, g_price_420, g_price_436, 0, Fuchsia); if (!(gi_364)) return; gs_1108 = Symbol() + " : Modify a Sell Order with ticket No " + OrderTicket() + "; Set Stop Loss to " + DoubleToStr(g_price_420, 4) + " and Take Profit to " + DoubleToStr(g_price_436, 4) + "; This is a fractal trailing stop modification."; AlertExt(gs_1108); return; } if (gia_1096[gi_304][1] == 4 || gia_1096[gi_304][1] == 5 && 0) { g_price_428 = OrderOpenPrice(); g_price_420 = High[1] + gd_476 * Point; if (Bid < g_price_428) g_price_436 = Bid - (g_price_420 - Bid) * gd_264; else g_price_436 = OrderTakeProfit(); if (gi_360) { } if (OrderStopLoss() > g_price_420) { OrdModify(OrderTicket(), g_price_428, g_price_420, g_price_436, 0, DarkGray); if (!(gi_364)) return; gs_1108 = Symbol() + " : Modify a Sell Order with ticket No " + OrderTicket() + "; Set Stop Loss to " + DoubleToStr(g_price_420, 4) + " and Take Profit to " + DoubleToStr(g_price_436, 4) + "; This is a trailing stop modification."; AlertExt(gs_1108); return; } } } } } if (gi_360) { } for (gi_304 = 1; gi_304 <= OrdersTotal(); gi_304++) { OrderSelect(gi_304 - 1, SELECT_BY_POS, MODE_TRADES); if (OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP && OrderSymbol() == Symbol()) { if (OrderType() == OP_BUYSTOP) { if (gi_492 && gia_1096[gi_304][1] == 1) { g_price_428 = gda_1088[1][1] + gi_1116 * Fractal_Entry_Pips * Point; g_price_420 = gd_528; g_price_436 = g_price_428 + (g_price_428 - g_price_420) * gd_264; if (gi_360) { } if (g_price_428 >= Ask + g_stoplevel_352 * Point) { OrdModify(OrderTicket(), g_price_428, g_price_420, g_price_436, 0, Brown); if (!(gi_364)) return; gs_1108 = Symbol() + " (F): Modify a Buy Stop Order with ticket No " + OrderTicket() + " and change Price to " + DoubleToStr(g_price_428, 4) + ", Stop Loss to " + DoubleToStr(g_price_420, 4) + ", Take Profit to " + DoubleToStr(g_price_436, 4) + ";"; AlertExt(gs_1108); return; } } if (gi_544 && gia_1096[gi_304][1] == 2) { g_price_428 = High[1] + gd_444 * Point; g_price_420 = gd_528; g_price_436 = g_price_428 + (g_price_428 - g_price_420) * gd_264; if (gi_360) { } if (OrderOpenPrice() > g_price_428) { OrdModify(OrderTicket(), g_price_428, g_price_420, g_price_436, 0, Brown); if (!(gi_364)) return; gs_1108 = Symbol() + " (AO): Modify a Buy Stop Order with ticket No " + OrderTicket() + " and change Price to " + DoubleToStr(g_price_428, 4) + ", Stop Loss to " + DoubleToStr(g_price_420, 4) + ", Take Profit to " + DoubleToStr(g_price_436, 4) + ";"; AlertExt(gs_1108); return; } } if (gi_560 && gia_1096[gi_304][1] == 3) { g_price_428 = High[1] + gd_452 * Point; g_price_420 = gd_528; g_price_436 = g_price_428 + (g_price_428 - g_price_420) * gd_264; if (gi_360) { } if (OrderOpenPrice() > g_price_428) { OrdModify(OrderTicket(), g_price_428, g_price_420, g_price_436, 0, Brown); if (!(gi_364)) return; gs_1108 = Symbol() + " (AC): Modify a Buy Stop Order with ticket No " + OrderTicket() + " and change Price to " + DoubleToStr(g_price_428, 4) + ", Stop Loss to " + DoubleToStr(g_price_420, 4) + ", Take Profit to " + DoubleToStr(g_price_436, 4) + ";"; AlertExt(gs_1108); return; } } if (gi_592 && gia_1096[gi_304][1] == 5) { if (OrderOpenPrice() > gda_1088[5][1]) g_price_428 = gda_1088[5][1]; else g_price_428 = OrderOpenPrice(); g_price_420 = gd_528; g_price_436 = g_price_428 + (g_price_428 - g_price_420) * gd_264; if (gi_360) { } if (OrderOpenPrice() > g_price_428) { OrdModify(OrderTicket(), g_price_428, g_price_420, g_price_436, 0, Brown); if (!(gi_364)) return; gs_1108 = Symbol() + " (B): Modify a Buy Stop Order with ticket No " + OrderTicket() + " and change Price to " + DoubleToStr(g_price_428, 4) + ", Stop Loss to " + DoubleToStr(g_price_420, 4) + ", Take Profit to " + DoubleToStr(g_price_436, 4) + ";"; AlertExt(gs_1108); return; } } } if (OrderType() == OP_SELLSTOP) { if (gi_496 && gia_1096[gi_304][1] == 1) { g_price_428 = gda_1092[1][1] - gi_1116 * Fractal_Entry_Pips * Point; g_price_420 = gd_536; g_price_436 = g_price_428 - (g_price_420 - g_price_428) * gd_264; if (gi_360) { } if (g_price_428 <= Bid - g_stoplevel_352 * Point) { OrdModify(OrderTicket(), g_price_428, g_price_420, g_price_436, 0, Violet); if (!(gi_364)) return; gs_1108 = Symbol() + " (F): Modify a Sell Stop Order with ticket No " + OrderTicket() + " and change Price to " + DoubleToStr(g_price_428, 4) + ", Stop Loss to " + DoubleToStr(g_price_420, 4) + ", Take Profit to " + DoubleToStr(g_price_436, 4) + ";"; AlertExt(gs_1108); return; } } if (gi_548 && gia_1096[gi_304][1] == 2) { g_price_428 = Low[1] - gd_444 * Point; g_price_420 = gd_536; g_price_436 = g_price_428 - (g_price_420 - g_price_428) * gd_264; if (gi_360) { } if (OrderOpenPrice() < g_price_428) { OrdModify(OrderTicket(), g_price_428, g_price_420, g_price_436, 0, Violet); if (!(gi_364)) return; gs_1108 = Symbol() + " (AO): Modify a Sell Stop Order with ticket No " + OrderTicket() + " and change Price to " + DoubleToStr(g_price_428, 4) + ", Stop Loss to " + DoubleToStr(g_price_420, 4) + ", Take Profit to " + DoubleToStr(g_price_436, 4) + ";"; AlertExt(gs_1108); return; } } if (gi_564 && gia_1096[gi_304][1] == 3) { g_price_428 = Low[1] - gd_452 * Point; g_price_420 = gd_536; g_price_436 = g_price_428 - (g_price_420 - g_price_428) * gd_264; if (gi_360) { } if (OrderOpenPrice() < g_price_428) { OrdModify(OrderTicket(), g_price_428, g_price_420, g_price_436, 0, Violet); if (!(gi_364)) return; gs_1108 = Symbol() + " (AC): Modify a Sell Stop Order with ticket No " + OrderTicket() + " and change Price to " + DoubleToStr(g_price_428, 4) + ", Stop Loss to " + DoubleToStr(g_price_420, 4) + ", Take Profit to " + DoubleToStr(g_price_436, 4) + ";"; AlertExt(gs_1108); return; } } if (gi_596 && gia_1096[gi_304][1] == 5) { if (OrderOpenPrice() < gda_1092[5][1]) g_price_428 = gda_1092[5][1]; else g_price_428 = OrderOpenPrice(); g_price_428 = gda_1092[5][1]; g_price_420 = gd_536; g_price_436 = g_price_428 - (g_price_420 - g_price_428) * gd_264; if (gi_360) { } if (OrderOpenPrice() < g_price_428) { OrdModify(OrderTicket(), g_price_428, g_price_420, g_price_436, 0, Violet); if (!(gi_364)) return; gs_1108 = Symbol() + " (B): Modify a Sell Stop Order with ticket No " + OrderTicket() + " and change Price to " + DoubleToStr(g_price_428, 4) + ", Stop Loss to " + DoubleToStr(g_price_420, 4) + ", Take Profit to " + DoubleToStr(g_price_436, 4) + ";"; AlertExt(gs_1108); return; } } } } } } return (0); } void SetText(int a_datetime_0, double a_price_4, string a_text_12, color a_color_20) { int l_datetime_24 = TimeCurrent(); if (ObjectFind(a_text_12 + DoubleToStr(l_datetime_24, 0)) != 0) { ObjectCreate(a_text_12 + DoubleToStr(l_datetime_24, 0), OBJ_TEXT, 0, a_datetime_0, a_price_4); ObjectSet(a_text_12 + DoubleToStr(l_datetime_24, 0), OBJPROP_COLOR, a_color_20); ObjectSetText(a_text_12 + DoubleToStr(l_datetime_24, 0), a_text_12, 8, "Arial", CLR_NONE); return; } ObjectMove(a_text_12 + DoubleToStr(l_datetime_24, 0), 0, a_datetime_0, a_price_4); } void AlertExt(string as_0) { Alert(as_0); if (UseEmailAlerts == TRUE) SendMail("Alert", as_0); } int OrdersTotalSym() { int l_count_0 = 0; for (int l_pos_4 = 0; l_pos_4 < OrdersTotal(); l_pos_4++) { OrderSelect(l_pos_4, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol()) l_count_0++; } return (l_count_0); } int SetBrokerX() { int li_ret_0; if (Digits == 5 || Digits == 3) li_ret_0 = 10; else li_ret_0 = 1; return (li_ret_0); } int CloseAll() { int l_cmd_16; int l_ticket_20; double l_bid_24; bool l_magic_0 = FALSE; int li_unused_4 = 0; bool li_ret_8 = TRUE; int l_ord_total_12 = OrdersTotal(); if (l_ord_total_12 == 0) return (1); for (int l_pos_32 = l_ord_total_12 - 1; l_pos_32 >= 0; l_pos_32--) { if (OrderSelect(l_pos_32, SELECT_BY_POS)) { l_cmd_16 = OrderType(); l_ticket_20 = OrderTicket(); if (OrderSymbol() == Symbol() && OrderMagicNumber() == l_magic_0 || l_magic_0 == 0) { li_ret_8 = FALSE; switch (l_cmd_16) { case OP_BUY: l_bid_24 = MarketInfo(OrderSymbol(), MODE_BID); OrderClose(l_ticket_20, OrderLots(), l_bid_24, 3, Red); break; case OP_SELL: l_bid_24 = MarketInfo(OrderSymbol(), MODE_ASK); OrderClose(l_ticket_20, OrderLots(), l_bid_24, 3, Red); break; default: OrderDelete(l_ticket_20); } } } } return (li_ret_8); } int OrdModify(int a_ticket_0, double ad_4, double ad_12, double ad_20, int a_datetime_28, color a_color_32 = -1) { bool l_bool_44; double ld_unused_36 = 0; bool l_bool_48 = FALSE; if (OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP) { if (MathAbs(ad_4 - OrderClosePrice()) >= gi_1116 * DetlaPips || MathAbs(ad_12 - OrderStopLoss()) >= gi_1116 * DetlaPips || MathAbs(ad_20 - OrderTakeProfit()) >= gi_1116 * DetlaPips) { l_bool_44 = OrderModify(a_ticket_0, NormalizeDouble(ad_4, Digits), NormalizeDouble(ad_12, Digits), NormalizeDouble(ad_20, Digits), a_datetime_28, a_color_32); l_bool_48 = l_bool_44; } } if (OrderType() == OP_BUY || OrderType() == OP_SELL) { if (MathAbs(ad_12 - OrderStopLoss()) >= gi_1116 * DetlaPips || MathAbs(ad_20 - OrderTakeProfit()) >= gi_1116 * DetlaPips) { l_bool_44 = OrderModify(a_ticket_0, NormalizeDouble(ad_4, Digits), NormalizeDouble(ad_12, Digits), NormalizeDouble(ad_20, Digits), a_datetime_28, a_color_32); l_bool_48 = l_bool_44; } } return (l_bool_48); }