/* */ #property copyright #property link extern string Key = "Введите лицензионный ключ"; extern double Lot = 0.0; int gi_92 = 100000; int gi_96 = 5; extern int slippage = 2; extern int TakeProfit = 10; extern int MagicNumber = 387689; extern string s2 = "Вкл/выкл работу во время выхода NFP"; extern bool NFP = FALSE; extern string s3 = "Пересчет при тике/постоянно"; extern bool StartTick = FALSE; extern double TimeRefresh = 0.2; extern string s4 = "Настройки по валютным парам:"; extern string v_1 = "EURUSD"; extern int filtr_1 = 0; extern string v_2 = "USDJPY"; extern int filtr_2 = 11; extern string v_3 = "USDCAD"; extern int filtr_3 = 13; extern string v_4 = "GBPJPY"; extern int filtr_4 = 1; extern string v_5 = "AUDUSD"; extern int filtr_5 = 11; extern string v_6 = "NZDUSD"; extern int filtr_6 = 6; extern string v_7 = "CHFJPY"; extern int filtr_7 = 38; extern string v_8 = ""; extern int filtr_8 = 0; extern string v_9 = ""; extern int filtr_9 = 0; extern string v_10 = ""; extern int filtr_10 = 0; extern string s1 = "Cигнал при подходу к экстремуму"; extern int Distans = 10; extern bool Sound = TRUE; extern int TimeSound = 15; bool gi_292 = FALSE; bool gi_296 = FALSE; double gd_300; double gda_316[10]; double gda_320[10]; int gi_324; int gi_328; int g_ticket_332; int g_str2int_336; double g_ord_lots_340; double g_lots_348; string g_comment_356; int gia_364[10]; int gia_368[10]; int gia_372[10]; int gia_376[10]; int g_error_380; int gi_384 = 85; int gi_unused_388; string g_symbol_392; string gs_400; int gia_408[10]; double gda_412[10]; int gia_416[]; string gsa_420[]; string gsa_424[1000]; int g_index_428; int gi_432; bool gi_436 = TRUE; double g_point_440; double g_price_448; double g_price_456; double g_ihigh_464; double g_ilow_472; int g_datetime_480; int init() { int li_20; int li_24; int li_28; int li_32; string ls_36; gi_436 = TRUE; int l_index_8 = 0; if (v_1 != "") { ArrayResize(gsa_420, l_index_8 + 1); gsa_420[l_index_8] = v_1; ArrayResize(gia_416, l_index_8 + 1); gia_416[l_index_8] = filtr_1; Print("Настройка ", gsa_420[l_index_8], " фильтр ", gia_416[l_index_8], " считана."); l_index_8++; } if (v_2 != "") { ArrayResize(gsa_420, l_index_8 + 1); gsa_420[l_index_8] = v_2; ArrayResize(gia_416, l_index_8 + 1); gia_416[l_index_8] = filtr_2; Print("Настройка ", gsa_420[l_index_8], " фильтр ", gia_416[l_index_8], " считана."); l_index_8++; } if (v_3 != "") { ArrayResize(gsa_420, l_index_8 + 1); gsa_420[l_index_8] = v_3; ArrayResize(gia_416, l_index_8 + 1); gia_416[l_index_8] = filtr_3; Print("Настройка ", gsa_420[l_index_8], " фильтр ", gia_416[l_index_8], " считана."); l_index_8++; } if (v_4 != "") { ArrayResize(gsa_420, l_index_8 + 1); gsa_420[l_index_8] = v_4; ArrayResize(gia_416, l_index_8 + 1); gia_416[l_index_8] = filtr_4; Print("Настройка ", gsa_420[l_index_8], " фильтр ", gia_416[l_index_8], " считана."); l_index_8++; } if (v_5 != "") { ArrayResize(gsa_420, l_index_8 + 1); gsa_420[l_index_8] = v_5; ArrayResize(gia_416, l_index_8 + 1); gia_416[l_index_8] = filtr_5; Print("Настройка ", gsa_420[l_index_8], " фильтр ", gia_416[l_index_8], " считана."); l_index_8++; } if (v_6 != "") { ArrayResize(gsa_420, l_index_8 + 1); gsa_420[l_index_8] = v_6; ArrayResize(gia_416, l_index_8 + 1); gia_416[l_index_8] = filtr_6; Print("Настройка ", gsa_420[l_index_8], " фильтр ", gia_416[l_index_8], " считана."); l_index_8++; } if (v_7 != "") { ArrayResize(gsa_420, l_index_8 + 1); gsa_420[l_index_8] = v_7; ArrayResize(gia_416, l_index_8 + 1); gia_416[l_index_8] = filtr_7; Print("Настройка ", gsa_420[l_index_8], " фильтр ", gia_416[l_index_8], " считана."); l_index_8++; } if (v_8 != "") { ArrayResize(gsa_420, l_index_8 + 1); gsa_420[l_index_8] = v_8; ArrayResize(gia_416, l_index_8 + 1); gia_416[l_index_8] = filtr_8; Print("Настройка ", gsa_420[l_index_8], " фильтр ", gia_416[l_index_8], " считана."); l_index_8++; } if (v_9 != "") { ArrayResize(gsa_420, l_index_8 + 1); gsa_420[l_index_8] = v_9; ArrayResize(gia_416, l_index_8 + 1); gia_416[l_index_8] = filtr_9; Print("Настройка ", gsa_420[l_index_8], " фильтр ", gia_416[l_index_8], " считана."); l_index_8++; } if (v_10 != "") { ArrayResize(gsa_420, l_index_8 + 1); gsa_420[l_index_8] = v_10; ArrayResize(gia_416, l_index_8 + 1); gia_416[l_index_8] = filtr_10; Print("Настройка ", gsa_420[l_index_8], " фильтр ", gia_416[l_index_8], " считана."); } ls_36 = "40600000021301320212036135013"; double ld_44 = StrToDouble(StringSubstr(ls_36, 0, 2)) / 10.0; gs_400 = "10 pip" + DoubleToStr(ld_44 + 0.1, 1); Print(gs_400); g_str2int_336 = StrToInteger(StringSubstr(ls_36, 3, StrToInteger(StringSubstr(ls_36, 2, 1)))); bool li_52 = FALSE; Sleep(1000); if (AccountNumber() == AccountNumber() || IsDemo() || IsTesting() || IsOptimization()) { DrawTextLabel("Sost", 1, 28, 40, "Серийный номер принят.", 8, LightGray); Print("Серийный номер принят."); li_52 = TRUE; } else { DrawTextLabel("Sost", 1, 5, 35, "Не верный лицензионный номер!", 12, LightGray); DrawTextLabel("Sost1", 1, 5, 53, "Обратитесь к разработчикам для получения лицензионного ключа!", 10, LightGray); DrawTextLabel("Sost2", 1, 5, 70, "e-mail: dj_ermoloff@mail.ru ICQ: 307-723-870", 10, LightGray); Print("Не верный лицензионный номер!"); Print("Обратитесь к разработчикам для получения лицензионного ключа!"); Print("e-mail: dj_ermoloff@mail.ru ICQ: 307-723-870"); gi_436 = FALSE; return (0); } int li_56 = StrToInteger(StringSubstr(ls_36, 2, 1)) + 7; int l_index_60 = 0; ArrayResize(gia_408, 0); ArrayResize(gda_412, 0); while (li_56 <= StringLen(ls_36)) { if (ArrayResize(gia_408, ArraySize(gia_408) + 1) > l_index_60) if (li_52 == TRUE) gia_408[l_index_60] = StrToInteger(StringSubstr(ls_36, li_56 - 4, 2)); if (ArrayResize(gda_412, ArraySize(gda_412) + 1) > l_index_60) if (li_52 == TRUE) gda_412[l_index_60] = StrToDouble(StringSubstr(ls_36, li_56 - 2, 2)) / 10.0; Print(gia_408[l_index_60], " ", gda_412[l_index_60]); l_index_60++; li_56 += 4; } if (ArraySize(gia_408) == 5) { ArrayResize(gia_408, ArraySize(gia_408) + 1); gia_408[5] = 100; } if (ArraySize(gda_412) == 5) { ArrayResize(gda_412, ArraySize(gda_412) + 1); gda_412[5] = 1; } Print(gia_408[5], " ", gda_412[5]); if (MarketInfo(Symbol(), MODE_DIGITS) == 5.0 || MarketInfo(Symbol(), MODE_DIGITS) == 3.0) gi_432 = 10; else gi_432 = 1; for (int l_index_64 = 0; l_index_64 < ArraySize(gsa_420); l_index_64++) { g_point_440 = MarketInfo(gsa_420[l_index_64], MODE_POINT); g_ihigh_464 = iHigh(gsa_420[l_index_64], PERIOD_D1, 1); g_ihigh_464 = iHigh(gsa_420[l_index_64], PERIOD_D1, 1); g_ilow_472 = iLow(gsa_420[l_index_64], PERIOD_D1, 1); g_ilow_472 = iLow(gsa_420[l_index_64], PERIOD_D1, 1); g_datetime_480 = iTime(gsa_420[l_index_64], PERIOD_D1, 1); g_datetime_480 = iTime(gsa_420[l_index_64], PERIOD_D1, 1); if (g_ihigh_464 + gia_416[l_index_64] * gi_432 * g_point_440 < iHigh(gsa_420[l_index_64], PERIOD_D1, 0)) gia_364[l_index_64] = iTime(gsa_420[l_index_64], PERIOD_D1, 1); if (g_ilow_472 - gia_416[l_index_64] * gi_432 * g_point_440 > iLow(gsa_420[l_index_64], PERIOD_D1, 0)) gia_368[l_index_64] = iTime(gsa_420[l_index_64], PERIOD_D1, 1); } DrawTextLabel("Name", 1, 5, 15, gs_400, 14, DeepPink); if (MathFloor(ld_44) != 4.0) { DrawTextLabel("Sost", 1, 5, 35, "Этот ключ от другой версии советника!", 12, LightGray); DrawTextLabel("Sost1", 1, 5, 53, "Обратитесь к разработчикам для получения лицензионного ключа ver 4!", 10, LightGray); DrawTextLabel("Sost2", 1, 5, 70, "e-mail: dj_ermoloff@mail.ru ICQ: 307-723-870", 10, LightGray); Print("Этот ключ от другой версии советника!"); Print("Обратитесь к разработчикам для получения лицензионного ключа ver 4!"); Print("e-mail: dj_ermoloff@mail.ru ICQ: 307-723-870"); gi_436 = FALSE; return (0); } Sleep(1000); if (ArraySize(gia_408) < 5 || ArraySize(gda_412) < 5 || ArraySize(gsa_420) == 0) { DrawTextLabel("Sost", 1, 5, 37, "Работа советника невозможна!", 11, Red); if (ArraySize(gsa_420) == 0) DrawTextLabel("Sost1", 1, 10, 53, "Нет настроек по валютным парам.", 9, LightGray); else DrawTextLabel("Sost1", 1, 10, 53, "Введенный ключ неверен.", 9, LightGray); Print("Работа советника невозможна!"); Print("Нет настроек по валютным парам."); gi_436 = FALSE; return (0); } DrawTextLabel("Sost1", 1, 5, 52, "Настройки успешно считаны.", 8, LightGray); Print("Настройки успешно считаны."); Sleep(1000); return (0); } int deinit() { for (int l_index_0 = 0; l_index_0 < g_index_428; l_index_0++) ObjectDelete(gsa_424[l_index_0]); g_index_428 = 0; return (0); } int start() { int l_count_4; double ld_8; double ld_16; double l_ord_open_price_24; int l_arr_size_36; double ld_44; double ld_52; string ls_60; string ls_68; int li_0 = 1; while (li_0 <= 1) { l_count_4 = 0; ld_8 = 0; ld_16 = 0; l_ord_open_price_24 = 0; gi_292 = FALSE; gi_296 = FALSE; if (gi_436 == FALSE) return (0); for (int l_pos_32 = 0; l_pos_32 < OrdersTotal(); l_pos_32++) { if (OrderSelect(l_pos_32, SELECT_BY_POS, MODE_TRADES) == TRUE) { if (OrderMagicNumber() == MagicNumber) { g_symbol_392 = OrderSymbol(); l_count_4++; ld_8 += OrderLots(); ld_16 += OrderOpenPrice() * OrderLots(); if (OrderType() == OP_BUY) { gi_292 = TRUE; if (OrderOpenPrice() < l_ord_open_price_24 || l_ord_open_price_24 == 0.0) { l_ord_open_price_24 = OrderOpenPrice(); g_ticket_332 = OrderTicket(); g_ord_lots_340 = OrderLots(); } } if (OrderType() == OP_SELL) { gi_296 = TRUE; if (OrderOpenPrice() > l_ord_open_price_24 || l_ord_open_price_24 == 0.0) { l_ord_open_price_24 = OrderOpenPrice(); g_ticket_332 = OrderTicket(); g_ord_lots_340 = OrderLots(); } } } } } if (ld_8 != 0.0) if (gd_300 != ld_16 / ld_8) gd_300 = ld_16 / ld_8; l_arr_size_36 = ArraySize(gsa_420); for (int l_index_40 = 0; l_index_40 < l_arr_size_36; l_index_40++) { if (IsTesting() == TRUE && gsa_420[l_index_40] != Symbol()) continue; g_point_440 = MarketInfo(gsa_420[l_index_40], MODE_POINT); g_price_448 = NormalizeDouble(MarketInfo(gsa_420[l_index_40], MODE_ASK), MarketInfo(gsa_420[l_index_40], MODE_DIGITS)); g_price_456 = NormalizeDouble(MarketInfo(gsa_420[l_index_40], MODE_BID), MarketInfo(gsa_420[l_index_40], MODE_DIGITS)); g_ihigh_464 = iHigh(gsa_420[l_index_40], PERIOD_D1, 1); g_ilow_472 = iLow(gsa_420[l_index_40], PERIOD_D1, 1); g_datetime_480 = iTime(gsa_420[l_index_40], PERIOD_D1, 1); g_error_380 = 0; if (!IsTesting() && !IsOptimization()) Display(gsa_420[l_index_40], g_ihigh_464, g_ilow_472, l_index_40, gd_300); if (l_count_4 == 0) { ld_44 = MathRound(AccountBalance() / gi_92 / MarketInfo(Symbol(), MODE_LOTSTEP)) * MarketInfo(Symbol(), MODE_LOTSTEP); if (Lot == 0.0) { if (ld_44 < MarketInfo(gsa_420[l_index_40], MODE_MINLOT)) g_lots_348 = MarketInfo(gsa_420[l_index_40], MODE_MINLOT); else g_lots_348 = ld_44; } else g_lots_348 = Lot; gi_384 = 85; ld_52 = g_lots_348 * gda_412[0] * gda_412[1] * gda_412[2] * gda_412[3] * gda_412[4]; if (AccountLeverage() < 100) { gi_384 = 110; DrawTextLabel("Err", 1, 5, 65, "Работа советника на этом счете может быть некорректной!", 9, Yellow); DrawTextLabel("Err1", 1, 5, 79, "Рекомендуемое плечо рабочего счета не меньше 100:1.", 8, Yellow); Print("Работа советника на этом счете может быть некорректной!"); Print("Рекомендуемое плечо рабочего счета не меньше 100:1."); Display(gsa_420[l_index_40], g_ihigh_464, g_ilow_472, l_index_40, gd_300); } if (ld_44 < g_lots_348 || g_lots_348 < MarketInfo(gsa_420[l_index_40], MODE_MINLOT)) { gi_384 = 110; DrawTextLabel("Err", 1, 5, 65, "Внимание! Не торгуйте лотом больше рекомендуемого!", 9, Red); ls_60 = "Рекомендуемый лот для вашего счета " + DoubleToStr(ld_44, 2); if (AccountBalance() < 100000.0 * MarketInfo(Symbol(), MODE_MINLOT)) ls_60 = "Минимальный лот счета " + DoubleToStr(MarketInfo(Symbol(), MODE_MINLOT), 2) + ", требуется депозит не меньше " + DoubleToStr(100000.0 * MarketInfo(Symbol(), MODE_MINLOT), 0); DrawTextLabel("Err1", 1, 5, 79, ls_60, 8, Red); Display(gsa_420[l_index_40], g_ihigh_464, g_ilow_472, l_index_40, gd_300); } if (MarketInfo(Symbol(), MODE_MAXLOT) < NormalizeDouble(ld_52, 2)) { gi_384 = 110; DrawTextLabel("Err", 1, 5, 65, "Работа советника на этом счете может быть некорректной!", 9, Yellow); ls_68 = "Возможно превышение максимального лота."; DrawTextLabel("Err1", 1, 5, 79, ls_68, 8, Yellow); Display(gsa_420[l_index_40], g_ihigh_464, g_ilow_472, l_index_40, gd_300); } if (g_price_448 >= g_ihigh_464 + gia_416[l_index_40] * gi_432 * g_point_440 && gia_364[l_index_40] != g_datetime_480) { if (TimeHour(TimeCurrent()) > 3 && g_price_448 < g_ihigh_464 + (gia_416[l_index_40] + gi_96) * gi_432 * g_point_440) { RefreshRates(); if (IsTradeAllowed() && !IsStopped()) { if (ex_32() != 1) continue; OrderSend(gsa_420[l_index_40], OP_BUY, g_lots_348, g_price_448, slippage * gi_432, 0, g_price_448 + TakeProfit * gi_432 * g_point_440, "This", MagicNumber, 0, Green); gi_unused_388 = l_index_40; g_error_380 = GetLastError(); if (g_error_380 != 0/* NO_ERROR */) Print("Ошибка ", g_error_380); else gia_364[l_index_40] = iTime(gsa_420[l_index_40], PERIOD_D1, 1); } } if (g_price_448 > g_ihigh_464 + (gia_416[l_index_40] + TakeProfit) * gi_432 * g_point_440) gia_364[l_index_40] = iTime(gsa_420[l_index_40], PERIOD_D1, 1); } if (g_price_456 <= g_ilow_472 - gia_416[l_index_40] * gi_432 * g_point_440 && gia_368[l_index_40] != g_datetime_480) { if (TimeHour(TimeCurrent()) > 3 && g_price_456 > g_ilow_472 - (gia_416[l_index_40] + gi_96) * gi_432 * g_point_440) { RefreshRates(); if (IsTradeAllowed() && !IsStopped()) { if (ex_32() == 1) OrderSend(gsa_420[l_index_40], OP_SELL, g_lots_348, g_price_456, slippage * gi_432, 0, g_price_456 - TakeProfit * gi_432 * g_point_440, "This", MagicNumber, 0, Red); gi_unused_388 = l_index_40; g_error_380 = GetLastError(); if (g_error_380 != 0/* NO_ERROR */) Print("Ошибка ", g_error_380); else gia_368[l_index_40] = iTime(gsa_420[l_index_40], PERIOD_D1, 1); } } if (g_price_456 < g_ilow_472 - (gia_416[l_index_40] + TakeProfit) * gi_432 * g_point_440) gia_368[l_index_40] = iTime(gsa_420[l_index_40], PERIOD_D1, 1); } } } if (l_count_4 > 1) PutProfit(gd_300, TakeProfit * gi_432, g_symbol_392); if (l_count_4 != 0 && l_count_4 <= ArraySize(gia_408)) { g_point_440 = MarketInfo(g_symbol_392, MODE_POINT); g_price_448 = MarketInfo(g_symbol_392, MODE_ASK); g_price_456 = MarketInfo(g_symbol_392, MODE_BID); g_lots_348 = MathRound(g_ord_lots_340 * (gda_412[l_count_4 - 1]) / MarketInfo(Symbol(), MODE_LOTSTEP)) * MarketInfo(Symbol(), MODE_LOTSTEP); if (MarketInfo(Symbol(), MODE_MAXLOT) < g_lots_348) { DrawTextLabel("Err", 1, 5, 55, "Лот следующей сделки превышает максимальный " + DoubleToStr(MarketInfo(Symbol(), MODE_MAXLOT), 2), 8, Yellow); ls_68 = "Сделка будет открыта максимальным лотом!"; DrawTextLabel("Err1", 1, 5, 68, ls_68, 8, Yellow); g_lots_348 = MarketInfo(Symbol(), MODE_MAXLOT); } if (l_ord_open_price_24 >= g_price_448 + (gia_408[l_count_4 - 1]) * gi_432 * g_point_440 && gi_292 != FALSE) { g_comment_356 = "to #" + g_ticket_332; if (IsTradeAllowed()) OrderSend(g_symbol_392, OP_BUY, g_lots_348, g_price_448, slippage * gi_432, 0, 0, g_comment_356, MagicNumber, 0, Yellow); g_error_380 = GetLastError(); if (g_error_380 != 0/* NO_ERROR */) { Print("Ошибка ", g_error_380); Sleep(10000); } } if (l_ord_open_price_24 <= g_price_456 - (gia_408[l_count_4 - 1]) * gi_432 * g_point_440 && gi_296 != FALSE) { g_comment_356 = "to #" + g_ticket_332; if (IsTradeAllowed()) OrderSend(g_symbol_392, OP_SELL, g_lots_348, g_price_456, slippage * gi_432, 0, 0, g_comment_356, MagicNumber, 0, Yellow); g_error_380 = GetLastError(); if (g_error_380 != 0/* NO_ERROR */) { Print("Ошибка ", g_error_380); Sleep(10000); } } } if (StartTick == TRUE || IsTesting() || IsOptimization()) li_0++; else Sleep(1000.0 * TimeRefresh); } return (0); } int PutProfit(double ad_0, int ai_8, string a_symbol_12) { double l_price_20 = 0; for (int l_pos_28 = 0; l_pos_28 < OrdersTotal(); l_pos_28++) { if (OrderSelect(l_pos_28, SELECT_BY_POS, MODE_TRADES) == TRUE) { if (OrderMagicNumber() == MagicNumber && OrderSymbol() == a_symbol_12) { if (OrderType() == OP_BUY) l_price_20 = MathRound(ad_0 / MarketInfo(a_symbol_12, MODE_POINT)) * MarketInfo(a_symbol_12, MODE_POINT) + ai_8 * MarketInfo(a_symbol_12, MODE_POINT); if (OrderType() == OP_SELL) l_price_20 = MathRound(ad_0 / MarketInfo(a_symbol_12, MODE_POINT)) * MarketInfo(a_symbol_12, MODE_POINT) - ai_8 * MarketInfo(a_symbol_12, MODE_POINT); if (OrderType() == OP_BUY || OrderType() == OP_SELL) { if (NormalizeDouble(OrderTakeProfit(), MarketInfo(a_symbol_12, MODE_DIGITS)) != NormalizeDouble(l_price_20, MarketInfo(a_symbol_12, MODE_DIGITS))) { OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), l_price_20, 0, Red); if (GetLastError() != 0/* NO_ERROR */) Print("Средняя ", ad_0, " TakeProfit ", ai_8 * gi_432 * MarketInfo(a_symbol_12, MODE_POINT), " ", OrderTakeProfit()); } } } } } return (0); } int DrawTextLabel(string a_name_0, int a_corner_8, int a_x_12, int a_y_16, string a_text_20, int a_fontsize_28, color a_color_32) { if (ObjectFind(a_name_0) == -1) { ObjectCreate(a_name_0, OBJ_LABEL, 0, 0, 0); AddObject(a_name_0); } ObjectSet(a_name_0, OBJPROP_CORNER, a_corner_8); ObjectSet(a_name_0, OBJPROP_XDISTANCE, a_x_12); ObjectSet(a_name_0, OBJPROP_YDISTANCE, a_y_16); ObjectSetText(a_name_0, a_text_20, a_fontsize_28, "Tahoma", a_color_32); return (0); } int AddObject(string as_0) { gsa_424[g_index_428] = as_0; g_index_428++; return (0); } int Display(string a_symbol_0, double ad_8, double ad_16, int ai_24, double ad_28) { int li_108; string l_dbl2str_112; string l_dbl2str_128; double l_point_36 = MarketInfo(a_symbol_0, MODE_POINT); double l_ask_44 = MarketInfo(a_symbol_0, MODE_ASK); double l_bid_52 = MarketInfo(a_symbol_0, MODE_BID); int l_arr_size_60 = ArraySize(gsa_420); int li_64 = 9; int li_68 = 9; int li_72 = 18; int li_76 = 5; int li_80 = li_76 + 55; int li_84 = li_80 + 55; int li_88 = li_84 + 55; int li_92 = li_88 + 55; int li_96 = 8388352; DrawTextLabel("high", 1, li_76 + 10, gi_384 - li_72, "High", li_68, li_96); DrawTextLabel("low", 1, li_88 + 10, gi_384 - li_72, "Low", li_68, li_96); string ls_100 = "V" + ai_24; DrawTextLabel(ls_100, 1, li_92, gi_384 + ai_24 * li_72, a_symbol_0, li_68, li_96); if (ad_8 - (Distans - gia_416[ai_24]) * gi_432 * l_point_36 < l_ask_44) { li_108 = 65535; if (gia_364[ai_24] != iTime(a_symbol_0, PERIOD_D1, 1) && gia_372[ai_24] + 60 * TimeSound < TimeCurrent()) { if (Sound == TRUE) PlaySound("alert2.wav"); gia_372[ai_24] = TimeCurrent(); } } else li_108 = 16776960; if (gia_364[ai_24] == iTime(a_symbol_0, PERIOD_D1, 1)) li_108 = 255; if (gi_292 == TRUE && g_symbol_392 == a_symbol_0) { li_108 = 65280; gi_unused_388 = ai_24; l_dbl2str_112 = DoubleToStr((l_bid_52 - ad_28) / l_point_36, 0); } else l_dbl2str_112 = DoubleToStr(ad_8 + gia_416[ai_24] * gi_432 * l_point_36, MarketInfo(a_symbol_0, MODE_DIGITS)); if (ad_8 + gia_416[ai_24] * gi_432 * l_point_36 < iHigh(a_symbol_0, PERIOD_D1, 0) && gi_292 == TRUE || gi_296 == TRUE) gia_364[ai_24] = iTime(a_symbol_0, PERIOD_D1, 1); string ls_120 = "Max" + ai_24; DrawTextLabel(ls_120, 1, li_76, gi_384 + ai_24 * li_72, l_dbl2str_112, li_64, li_108); if (ad_16 + (Distans - gia_416[ai_24]) * gi_432 * l_point_36 > l_bid_52) { li_108 = 65535; if (gia_368[ai_24] != iTime(a_symbol_0, PERIOD_D1, 1) && gia_376[ai_24] + 60 * TimeSound < TimeCurrent()) { if (Sound == TRUE) PlaySound("alert2.wav"); gia_376[ai_24] = TimeCurrent(); } } else li_108 = 16776960; if (gia_368[ai_24] == iTime(a_symbol_0, PERIOD_D1, 1)) li_108 = 255; if (gi_296 == TRUE && g_symbol_392 == a_symbol_0) { li_108 = 65280; gi_unused_388 = ai_24; l_dbl2str_128 = DoubleToStr((ad_28 - l_ask_44) / l_point_36, 0); } else l_dbl2str_128 = DoubleToStr(ad_16 - gia_416[ai_24] * gi_432 * l_point_36, MarketInfo(a_symbol_0, MODE_DIGITS)); if (ad_16 - gia_416[ai_24] * gi_432 * l_point_36 > iLow(a_symbol_0, PERIOD_D1, 0) && gi_296 == TRUE || gi_292 == TRUE) gia_368[ai_24] = iTime(a_symbol_0, PERIOD_D1, 1); string ls_136 = "Min" + ai_24; DrawTextLabel(ls_136, 1, li_88, gi_384 + ai_24 * li_72, l_dbl2str_128, li_64, li_108); int li_144 = gi_384 + 10 + l_arr_size_60 * li_72; DrawTextLabel("ask", 1, li_80 + 10, gi_384 - li_72, "Ask", li_68, li_96); DrawTextLabel("bid", 1, li_84 + 10, gi_384 - li_72, "Bid", li_68, li_96); string ls_148 = "PriceASK" + ai_24; string l_dbl2str_156 = DoubleToStr(l_ask_44, MarketInfo(a_symbol_0, MODE_DIGITS)); if (gda_316[ai_24] > l_ask_44) gi_328 = 17919; if (gda_316[ai_24] < l_ask_44) gi_328 = 65280; DrawTextLabel(ls_148, 1, li_80, gi_384 + ai_24 * li_72, l_dbl2str_156, li_64, gi_328); string ls_164 = "PriceBid" + ai_24; string l_dbl2str_172 = DoubleToStr(l_bid_52, MarketInfo(a_symbol_0, MODE_DIGITS)); if (gda_320[ai_24] > l_bid_52) gi_324 = 17919; if (gda_320[ai_24] < l_bid_52) gi_324 = 65280; DrawTextLabel(ls_164, 1, li_84, gi_384 + ai_24 * li_72, l_dbl2str_172, li_64, gi_324); gda_316[ai_24] = l_ask_44; gda_320[ai_24] = l_bid_52; return (0); } int ex_32() { bool li_ret_0 = TRUE; if (TimeDay(TimeCurrent()) <= 7 && TimeDayOfWeek(TimeCurrent()) == 5 && TimeHour(TimeCurrent()) > 12 && NFP == FALSE) li_ret_0 = FALSE; return (li_ret_0); }