double YYg_maxLotRobo3_80 = 0.0;
string Ygs_88 = "AP_v.3.0";
double YYgd_96 = 2.0;
string Ygs_104 = "AutoP_v.3.0";

extern int MMTypeRobo3 = 1;
bool YYgi_128 = TRUE;
extern double LotRobo3MultiplicadorRobo3 = 1.667;
double YYgd_148;
double YYg_slippage_156 = 5.0;
extern bool YLotRobo3Const_or_not = FALSE;
extern double LotRobo3 = 0.01;
extern double RiskPercentRobo3 = 30.0;
double YYgd_200;

extern double TakeProfitRobo3 = 5.0;
double YYgd_224;
double Yg_pips_232 = 0.0;
double Ygd_240 = 10.0;
double Ygd_248 = 10.0;
extern double StepRobo3 = 5.0;
double Ygd_272;
extern int MaxTradesRobo3 = 30;
extern bool UseEquityStopRobo3 = FALSE;
extern double TotalEquityRiskRobo3 = 20.0;
bool Ygi_312 = FALSE;
bool Ygi_316 = FALSE;
bool Ygi_320 = FALSE;
double Ygd_324 = 48.0;
bool Ygi_332 = FALSE;
int Ygi_336 = 2;
int Ygi_340 = 16;
extern int Magic = 1111111;
int Ygi_356;
extern bool ShowTableOnTesting = TRUE;
double Yg_price_380;
double Ygd_388;
double Ygd_unused_396;
double Ygd_unused_404;
double Yg_price_412;
double Yg_bid_420;
double Yg_ask_428;
double Ygd_436;
double Ygd_444;
double Ygd_452;
bool Ygi_460;
int Yg_time_464 = 0;
int Ygi_468;
int Ygi_472 = 0;
double Ygd_476;
int Yg_pos_484 = 0;
int Ygi_488;
double Ygd_492 = 0.0;
bool Ygi_500 = FALSE;
bool Ygi_504 = FALSE;
bool Ygi_508 = FALSE;
int Ygi_512;
bool Ygi_516 = FALSE;
int Yg_datetime_520 = 0;
int Yg_datetime_524 = 0;
double Ygd_528;
double Ygd_536;
int Yg_fontsize_544 = 14;
int Yg_color_548 = Gold;
int Yg_color_552 = Orange;
int Yg_color_556 = Gray;
int Ygi_unused_560 = 5197615;

int init()
{
    Ygd_452 = MarketInfo(Symbol(), MODE_SPREAD) * Point;
    if (IsTesting() == TRUE) Yf0_9();
    if (IsTesting() == FALSE) Yf0_9();
    return (0);
}

int deinit()
{
    return (0);
}

int start()
{
    double order_LotRobo3s_52;
    double order_LotRobo3s_60;
    double iclose_68;
    double iclose_76;
    int li_unused_0 = MarketInfo(Symbol(), MODE_STOPLEVEL);
    int li_unused_4 = MarketInfo(Symbol(), MODE_SPREAD);
    double point_8 = MarketInfo(Symbol(), MODE_POINT);
    double bid_16 = MarketInfo(Symbol(), MODE_BID);
    double ask_24 = MarketInfo(Symbol(), MODE_ASK);
    int li_unused_32 = MarketInfo(Symbol(), MODE_DIGITS);
    if (YYg_maxLotRobo3_80 == 0.0) YYg_maxLotRobo3_80 = MarketInfo(Symbol(), MODE_MAXLOT);
    double minLotRobo3_36 = MarketInfo(Symbol(), MODE_MINLOT);
    double LotRobo3StepRobo3_44 = MarketInfo(Symbol(), MODE_LOTSTEP);
    /* if (AccountNumber() != Yg_acc_number_76 && (!IsDemo())) {
        Comment("Ñîâåòíèê ìîæåò ðàáîòàòü òîëüêî íà ñ÷¸òå " + Yg_acc_number_76 + ", äëÿ áåñïëàòíîãî ïîäêëþ÷åíèÿ ê äðóãîìó ñ÷¸òó ïåðåéäèòå íà ñàéò invest-system.net");
        Sleep(1000);
        Print("Ñîâåòíèê ìîæåò ðàáîòàòü òîëüêî íà ñ÷¸òå " + Yg_acc_number_76 + ", äëÿ ïîäêëþ÷åíèÿ ê äðóãîìó ñ÷¸òó ïðîèäèòå íà ñàéò invest-system.net");
        return;
     }*/
    if (((!IsOptimization()) && !IsTesting() && (!IsVisualMode())) || (ShowTableOnTesting && IsTesting() && (!IsOptimization())))
    {
        YYf0_13();
        YYf0_10();
    }
    if (YLotRobo3Const_or_not) YYgd_200 = LotRobo3;
    else YYgd_200 = AccountBalance() * RiskPercentRobo3 / 100.0 / 10000.0;
    if (YYgd_200 < minLotRobo3_36) Print("Ðàñ÷åòíûé ëîò  " + YYgd_200 + "  ìåíüøå ìèíèìàëüíî äîïóñòèìîãî äëÿ òîðãîâëè  " + minLotRobo3_36);
    if (YYgd_200 > YYg_maxLotRobo3_80 && YYg_maxLotRobo3_80 > 0.0) Print("Ðàñ÷åòíûé ëîò  " + YYgd_200 + "  áîëüøå ìàêñèìàëüíî äîïóñòèìîãî äëÿ òîðãîâëè  " + YYg_maxLotRobo3_80);
    YYgd_148 = LotRobo3MultiplicadorRobo3;
    YYgd_224 = TakeProfitRobo3;
    Ygd_272 = StepRobo3;
    Ygi_356 = Magic;
    string ls_84 = "false";
    string ls_92 = "false";
    if (Ygi_332 == FALSE || (Ygi_332 && (Ygi_340 > Ygi_336 && (Hour() >= Ygi_336 && Hour() <= Ygi_340)) || (Ygi_336 > Ygi_340 && (!(Hour() >= Ygi_340 && Hour() <= Ygi_336))))) ls_84 = "true";
    if (Ygi_332 && (Ygi_340 > Ygi_336 && (!(Hour() >= Ygi_336 && Hour() <= Ygi_340))) || (Ygi_336 > Ygi_340 && (Hour() >= Ygi_340 && Hour() <= Ygi_336))) ls_92 = "true";
    if (Ygi_316) YYf0_18(Ygd_240, Ygd_248, Yg_price_412);
    if (Ygi_320)
    {
        if (TimeCurrent() >= Ygi_468)
        {
            Yf0_3();
            Print("Closed All due to TimeOut");
        }
    }
    if (Yg_time_464 == Time[0]) return (0);
    Yg_time_464 = Time[0];
    double ld_100 = Yf0_5();
    if (UseEquityStopRobo3)
    {
        if (ld_100 < 0.0 && MathAbs(ld_100) > TotalEquityRiskRobo3 / 100.0 * Yf0_7())
        {
            Yf0_3();
            Print("Closed All due to Stop Out");
            Ygi_516 = FALSE;
        }
    }
    Ygi_488 = YYf0_16();
    if (Ygi_488 == 0) Ygi_460 = FALSE;
    for (Yg_pos_484 = OrdersTotal() - 1; Yg_pos_484 >= 0; Yg_pos_484--)
    {
        OrderSelect(Yg_pos_484, SELECT_BY_POS, MODE_TRADES);
        if (OrderSymbol() != Symbol() || OrderMagicNumber() != Ygi_356) continue;
        if (OrderSymbol() == Symbol() && OrderMagicNumber() == Ygi_356)
        {
            if (OrderType() == OP_BUY)
            {
                Ygi_504 = TRUE;
                Ygi_508 = FALSE;
                order_LotRobo3s_52 = OrderLots();
                break;
            }
        }
        if (OrderSymbol() == Symbol() && OrderMagicNumber() == Ygi_356)
        {
            if (OrderType() == OP_SELL)
            {
                Ygi_504 = FALSE;
                Ygi_508 = TRUE;
                order_LotRobo3s_60 = OrderLots();
                break;
            }
        }
    }
    if (Ygi_488 > 0 && Ygi_488 <= MaxTradesRobo3)
    {
        RefreshRates();
        Ygd_436 = Yf0_2();
        Ygd_444 = Yf0_6();
        if (Ygi_504 && Ygd_436 - Ask >= Ygd_272 * Point) Ygi_500 = TRUE;
        if (Ygi_508 && Bid - Ygd_444 >= Ygd_272 * Point) Ygi_500 = TRUE;
    }
    if (Ygi_488 < 1)
    {
        Ygi_508 = FALSE;
        Ygi_504 = FALSE;
        Ygi_500 = TRUE;
        Ygd_388 = AccountEquity();
    }
    if (Ygi_500)
    {
        Ygd_436 = Yf0_2();
        Ygd_444 = Yf0_6();
        if (Ygi_508)
        {
            if (Ygi_312 || ls_92 == "true")
            {
                Yf0_1(0, 1);
                Ygd_476 = NormalizeDouble(YYgd_148 * order_LotRobo3s_60, YYgd_96);
            }
            else Ygd_476 = YYf0_14(OP_SELL);
            if (YYgi_128 && ls_84 == "true")
            {
                Ygi_472 = Ygi_488;
                if (Ygd_476 > 0.0)
                {
                    RefreshRates();
                    Ygi_512 = YYf0_15(1, Ygd_476, Bid, YYg_slippage_156, Ask, 0, 0, Symbol() + "-" + Ygs_88 + "-" + Ygi_472, Ygi_356, 0, HotPink);
                    if (Ygi_512 < 0)
                    {
                        Print("Error: ", GetLastError());
                        return (0);
                    }
                    Ygd_444 = Yf0_6();
                    Ygi_500 = FALSE;
                    Ygi_516 = TRUE;
                }
            }
        }
        else
        {
            if (Ygi_504)
            {
                if (Ygi_312 || ls_92 == "true")
                {
                    Yf0_1(1, 0);
                    Ygd_476 = NormalizeDouble(YYgd_148 * order_LotRobo3s_52, YYgd_96);
                }
                else Ygd_476 = YYf0_14(OP_BUY);
                if (YYgi_128 && ls_84 == "true")
                {
                    Ygi_472 = Ygi_488;
                    if (Ygd_476 > 0.0)
                    {
                        Ygi_512 = YYf0_15(0, Ygd_476, Ask, YYg_slippage_156, Bid, 0, 0, Symbol() + "-" + Ygs_88 + "-" + Ygi_472, Ygi_356, 0, Lime);
                        if (Ygi_512 < 0)
                        {
                            Print("Error: ", GetLastError());
                            return (0);
                        }
                        Ygd_436 = Yf0_2();
                        Ygi_500 = FALSE;
                        Ygi_516 = TRUE;
                    }
                }
            }
        }
    }
    if (Ygi_500 && Ygi_488 < 1)
    {
        iclose_68 = iClose(Symbol(), 0, 2);
        iclose_76 = iClose(Symbol(), 0, 1);
        Yg_bid_420 = Bid;
        Yg_ask_428 = Ask;
        if ((!Ygi_508) && !Ygi_504 && ls_84 == "true")
        {
            Ygi_472 = Ygi_488;
            if (iclose_68 > iclose_76)
            {
                Ygd_476 = YYf0_14(OP_SELL);
                if (Ygd_476 > 0.0)
                {
                    Ygi_512 = YYf0_15(1, Ygd_476, Yg_bid_420, YYg_slippage_156, Yg_bid_420, 0, 0, Symbol() + "-" + Ygs_88 + "-" + Ygi_472, Ygi_356, 0, HotPink);
                    if (Ygi_512 < 0)
                    {
                        Print(Ygd_476, "Error: ", GetLastError());
                        return (0);
                    }
                    Ygd_436 = Yf0_2();
                    Ygi_516 = TRUE;
                }
            }
            else
            {
                Ygd_476 = YYf0_14(OP_BUY);
                if (Ygd_476 > 0.0)
                {
                    Ygi_512 = YYf0_15(0, Ygd_476, Yg_ask_428, YYg_slippage_156, Yg_ask_428, 0, 0, Symbol() + "-" + Ygs_88 + "-" + Ygi_472, Ygi_356, 0, Lime);
                    if (Ygi_512 < 0)
                    {
                        Print(Ygd_476, "Error: ", GetLastError());
                        return (0);
                    }
                    Ygd_444 = Yf0_6();
                    Ygi_516 = TRUE;
                }
            }
        }
        if (Ygi_512 > 0) Ygi_468 = TimeCurrent() + 60.0 * (60.0 * Ygd_324);
        Ygi_500 = FALSE;
    }
    Ygi_488 = YYf0_16();
    Yg_price_412 = 0;
    double ld_108 = 0;
    for (Yg_pos_484 = OrdersTotal() - 1; Yg_pos_484 >= 0; Yg_pos_484--)
    {
        OrderSelect(Yg_pos_484, SELECT_BY_POS, MODE_TRADES);
        if (OrderSymbol() != Symbol() || OrderMagicNumber() != Ygi_356) continue;
        if (OrderSymbol() == Symbol() && OrderMagicNumber() == Ygi_356)
        {
            if (OrderType() == OP_BUY || OrderType() == OP_SELL)
            {
                Yg_price_412 += OrderOpenPrice() * OrderLots();
                ld_108 += OrderLots();
            }
        }
    }
    if (Ygi_488 > 0) Yg_price_412 = NormalizeDouble(Yg_price_412 / ld_108, Digits);
    if (Ygi_516)
    {
        for (Yg_pos_484 = OrdersTotal() - 1; Yg_pos_484 >= 0; Yg_pos_484--)
        {
            OrderSelect(Yg_pos_484, SELECT_BY_POS, MODE_TRADES);
            if (OrderSymbol() != Symbol() || OrderMagicNumber() != Ygi_356) continue;
            if (OrderSymbol() == Symbol() && OrderMagicNumber() == Ygi_356)
            {
                if (OrderType() == OP_BUY)
                {
                    Yg_price_380 = Yg_price_412 + YYgd_224 * Point;
                    Ygd_unused_396 = Yg_price_380;
                    Ygd_492 = Yg_price_412 - Yg_pips_232 * Point;
                    Ygi_460 = TRUE;
                }
            }
            if (OrderSymbol() == Symbol() && OrderMagicNumber() == Ygi_356)
            {
                if (OrderType() == OP_SELL)
                {
                    Yg_price_380 = Yg_price_412 - YYgd_224 * Point;
                    Ygd_unused_404 = Yg_price_380;
                    Ygd_492 = Yg_price_412 + Yg_pips_232 * Point;
                    Ygi_460 = TRUE;
                }
            }
        }
    }
    if (Ygi_516)
    {
        if (Ygi_460 == TRUE)
        {
            for (Yg_pos_484 = OrdersTotal() - 1; Yg_pos_484 >= 0; Yg_pos_484--)
            {
                OrderSelect(Yg_pos_484, SELECT_BY_POS, MODE_TRADES);
                if (OrderSymbol() != Symbol() || OrderMagicNumber() != Ygi_356) continue;
                if (OrderSymbol() == Symbol() && OrderMagicNumber() == Ygi_356) OrderModify(OrderTicket(), Yg_price_412, OrderStopLoss(), Yg_price_380, 0, Yellow);
                Ygi_516 = FALSE;
            }
        }
    }
    return (0);
}

double Yf0_11(double ad_0)
{
    return (NormalizeDouble(ad_0, Digits));
}

int Yf0_1(bool ai_0 = TRUE, bool ai_4 = TRUE)
{
    int li_ret_8 = 0;
    for (int pos_12 = OrdersTotal() - 1; pos_12 >= 0; pos_12--)
    {
        if (OrderSelect(pos_12, SELECT_BY_POS, MODE_TRADES))
        {
            if (OrderSymbol() == Symbol() && OrderMagicNumber() == Ygi_356)
            {
                if (OrderType() == OP_BUY && ai_0)
                {
                    RefreshRates();
                    if (!IsTradeContextBusy())
                    {
                        if (!OrderClose(OrderTicket(), OrderLots(), Yf0_11(Bid), 5, CLR_NONE))
                        {
                            Print("Error close BUY " + OrderTicket());
                            li_ret_8 = -1;
                        }
                    }
                    else
                    {
                        if (Yg_datetime_520 == iTime(NULL, 0, 0)) return (-2);
                        Yg_datetime_520 = iTime(NULL, 0, 0);
                        Print("Need close BUY " + OrderTicket() + ". Trade Context Busy");
                        return (-2);
                    }
                }
                if (OrderType() == OP_SELL && ai_4)
                {
                    RefreshRates();
                    if (!IsTradeContextBusy())
                    {
                        if (!(!OrderClose(OrderTicket(), OrderLots(), Yf0_11(Ask), 5, CLR_NONE))) continue;
                        Print("Error close SELL " + OrderTicket());
                        li_ret_8 = -1;
                        continue;
                    }
                    if (Yg_datetime_524 == iTime(NULL, 0, 0)) return (-2);
                    Yg_datetime_524 = iTime(NULL, 0, 0);
                    Print("Need close SELL " + OrderTicket() + ". Trade Context Busy");
                    return (-2);
                }
            }
        }
    }
    return (li_ret_8);
}

double YYf0_14(int a_cmd_0)
{
    double ld_ret_4;
    int datetime_12;
    switch (MMTypeRobo3)
    {
        case 0:
            ld_ret_4 = YYgd_200;
            break;
        case 1:
            ld_ret_4 = NormalizeDouble(YYgd_200 * MathPow(YYgd_148, Ygi_472), YYgd_96);
            break;
        case 2:
            datetime_12 = 0;
            ld_ret_4 = YYgd_200;
            for (int pos_20 = OrdersHistoryTotal() - 1; pos_20 >= 0; pos_20--)
            {
                if (!(OrderSelect(pos_20, SELECT_BY_POS, MODE_HISTORY))) return (-3);
                if (OrderSymbol() == Symbol() && OrderMagicNumber() == Ygi_356)
                {
                    if (datetime_12 < OrderCloseTime())
                    {
                        datetime_12 = OrderCloseTime();
                        if (OrderProfit() < 0.0)
                        {
                            ld_ret_4 = NormalizeDouble(OrderLots() * YYgd_148, YYgd_96);
                            continue;
                        }
                        ld_ret_4 = YYgd_200;
                        continue;
                        return (-3);
                    }
                }
            }
    }
    if (AccountFreeMarginCheck(Symbol(), a_cmd_0, ld_ret_4) <= 0.0) return (-1);
    if (GetLastError() == 134/* NOT_ENOUGH_MONEY */) return (-2);
    return (ld_ret_4);
}

int YYf0_16()
{
    int count_0 = 0;
    for (int pos_4 = OrdersTotal() - 1; pos_4 >= 0; pos_4--)
    {
        OrderSelect(pos_4, SELECT_BY_POS, MODE_TRADES);
        if (OrderSymbol() != Symbol() || OrderMagicNumber() != Ygi_356) continue;
        if (OrderSymbol() == Symbol() && OrderMagicNumber() == Ygi_356)
            if (OrderType() == OP_SELL || OrderType() == OP_BUY) count_0++;
    }
    return (count_0);
}

void Yf0_3()
{
    for (int pos_0 = OrdersTotal() - 1; pos_0 >= 0; pos_0--)
    {
        OrderSelect(pos_0, SELECT_BY_POS, MODE_TRADES);
        if (OrderSymbol() == Symbol())
        {
            if (OrderSymbol() == Symbol() && OrderMagicNumber() == Ygi_356)
            {
                if (OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), Bid, YYg_slippage_156, Blue);
                if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, YYg_slippage_156, Red);
            }
            Sleep(1000);
        }
    }
}

int YYf0_15(int ai_0, double a_LotRobo3s_4, double a_price_12, int a_slippage_20, double ad_24, int ai_unused_32, int ai_36, string a_comment_40, int a_magic_48, int a_datetime_52, color a_color_56)
{
    int ticket_60 = 0;
    int error_64 = 0;
    int count_68 = 0;
    int li_72 = 100;
    switch (ai_0)
    {
        case 2:
            for (count_68 = 0; count_68 < li_72; count_68++)
            {
                ticket_60 = OrderSend(Symbol(), OP_BUYLIMIT, a_LotRobo3s_4, a_price_12, a_slippage_20, YYf0_12(ad_24, Yg_pips_232), YYf0_17(a_price_12, ai_36), a_comment_40, a_magic_48, a_datetime_52,
                   a_color_56);
                error_64 = GetLastError();
                if (error_64 == 0/* NO_ERROR */) break;
                if (!((error_64 == 4/* SERVER_BUSY */ || error_64 == 137/* BROKER_BUSY */ || error_64 == 146/* TRADE_CONTEXT_BUSY */ || error_64 == 136/* OFF_QUOTES */))) break;
                Sleep(1000);
            }
            break;
        case 4:
            for (count_68 = 0; count_68 < li_72; count_68++)
            {
                ticket_60 = OrderSend(Symbol(), OP_BUYSTOP, a_LotRobo3s_4, a_price_12, a_slippage_20, YYf0_12(ad_24, Yg_pips_232), YYf0_17(a_price_12, ai_36), a_comment_40, a_magic_48, a_datetime_52,
                   a_color_56);
                error_64 = GetLastError();
                if (error_64 == 0/* NO_ERROR */) break;
                if (!((error_64 == 4/* SERVER_BUSY */ || error_64 == 137/* BROKER_BUSY */ || error_64 == 146/* TRADE_CONTEXT_BUSY */ || error_64 == 136/* OFF_QUOTES */))) break;
                Sleep(5000);
            }
            break;
        case 0:
            for (count_68 = 0; count_68 < li_72; count_68++)
            {
                RefreshRates();
                ticket_60 = OrderSend(Symbol(), OP_BUY, a_LotRobo3s_4, Ask, a_slippage_20, YYf0_12(Bid, Yg_pips_232), YYf0_17(Ask, ai_36), a_comment_40, a_magic_48, a_datetime_52, a_color_56);
                error_64 = GetLastError();
                if (error_64 == 0/* NO_ERROR */) break;
                if (!((error_64 == 4/* SERVER_BUSY */ || error_64 == 137/* BROKER_BUSY */ || error_64 == 146/* TRADE_CONTEXT_BUSY */ || error_64 == 136/* OFF_QUOTES */))) break;
                Sleep(5000);
            }
            break;
        case 3:
            for (count_68 = 0; count_68 < li_72; count_68++)
            {
                ticket_60 = OrderSend(Symbol(), OP_SELLLIMIT, a_LotRobo3s_4, a_price_12, a_slippage_20, Yf0_0(ad_24, Yg_pips_232), Yf0_4(a_price_12, ai_36), a_comment_40, a_magic_48, a_datetime_52,
                   a_color_56);
                error_64 = GetLastError();
                if (error_64 == 0/* NO_ERROR */) break;
                if (!((error_64 == 4/* SERVER_BUSY */ || error_64 == 137/* BROKER_BUSY */ || error_64 == 146/* TRADE_CONTEXT_BUSY */ || error_64 == 136/* OFF_QUOTES */))) break;
                Sleep(5000);
            }
            break;
        case 5:
            for (count_68 = 0; count_68 < li_72; count_68++)
            {
                ticket_60 = OrderSend(Symbol(), OP_SELLSTOP, a_LotRobo3s_4, a_price_12, a_slippage_20, Yf0_0(ad_24, Yg_pips_232), Yf0_4(a_price_12, ai_36), a_comment_40, a_magic_48, a_datetime_52,
                   a_color_56);
                error_64 = GetLastError();
                if (error_64 == 0/* NO_ERROR */) break;
                if (!((error_64 == 4/* SERVER_BUSY */ || error_64 == 137/* BROKER_BUSY */ || error_64 == 146/* TRADE_CONTEXT_BUSY */ || error_64 == 136/* OFF_QUOTES */))) break;
                Sleep(5000);
            }
            break;
        case 1:
            for (count_68 = 0; count_68 < li_72; count_68++)
            {
                ticket_60 = OrderSend(Symbol(), OP_SELL, a_LotRobo3s_4, Bid, a_slippage_20, Yf0_0(Ask, Yg_pips_232), Yf0_4(Bid, ai_36), a_comment_40, a_magic_48, a_datetime_52, a_color_56);
                error_64 = GetLastError();
                if (error_64 == 0/* NO_ERROR */) break;
                if (!((error_64 == 4/* SERVER_BUSY */ || error_64 == 137/* BROKER_BUSY */ || error_64 == 146/* TRADE_CONTEXT_BUSY */ || error_64 == 136/* OFF_QUOTES */))) break;
                Sleep(5000);
            }
    }
    return (ticket_60);
}

double YYf0_12(double ad_0, int ai_8)
{
    if (ai_8 == 0) return (0);
    return (ad_0 - ai_8 * Point);
}

double Yf0_0(double ad_0, int ai_8)
{
    if (ai_8 == 0) return (0);
    return (ad_0 + ai_8 * Point);
}

double YYf0_17(double ad_0, int ai_8)
{
    if (ai_8 == 0) return (0);
    return (ad_0 + ai_8 * Point);
}

double Yf0_4(double ad_0, int ai_8)
{
    if (ai_8 == 0) return (0);
    return (ad_0 - ai_8 * Point);
}

double Yf0_5()
{
    double ld_ret_0 = 0;
    for (Yg_pos_484 = OrdersTotal() - 1; Yg_pos_484 >= 0; Yg_pos_484--)
    {
        OrderSelect(Yg_pos_484, SELECT_BY_POS, MODE_TRADES);
        if (OrderSymbol() != Symbol() || OrderMagicNumber() != Ygi_356) continue;
        if (OrderSymbol() == Symbol() && OrderMagicNumber() == Ygi_356)
            if (OrderType() == OP_BUY || OrderType() == OP_SELL) ld_ret_0 += OrderProfit();
    }
    return (ld_ret_0);
}

void YYf0_18(int ai_0, int ai_4, double a_price_8)
{
    int li_16;
    double order_stoploss_20;
    double price_28;
    if (ai_4 != 0)
    {
        for (int pos_36 = OrdersTotal() - 1; pos_36 >= 0; pos_36--)
        {
            if (OrderSelect(pos_36, SELECT_BY_POS, MODE_TRADES))
            {
                if (OrderSymbol() != Symbol() || OrderMagicNumber() != Ygi_356) continue;
                if (OrderSymbol() == Symbol() || OrderMagicNumber() == Ygi_356)
                {
                    if (OrderType() == OP_BUY)
                    {
                        li_16 = NormalizeDouble((Bid - a_price_8) / Point, 0);
                        if (li_16 < ai_0) continue;
                        order_stoploss_20 = OrderStopLoss();
                        price_28 = Bid - ai_4 * Point;
                        if (order_stoploss_20 == 0.0 || (order_stoploss_20 != 0.0 && price_28 > order_stoploss_20)) OrderModify(OrderTicket(), a_price_8, price_28, OrderTakeProfit(), 0, Aqua);
                    }
                    if (OrderType() == OP_SELL)
                    {
                        li_16 = NormalizeDouble((a_price_8 - Ask) / Point, 0);
                        if (li_16 < ai_0) continue;
                        order_stoploss_20 = OrderStopLoss();
                        price_28 = Ask + ai_4 * Point;
                        if (order_stoploss_20 == 0.0 || (order_stoploss_20 != 0.0 && price_28 < order_stoploss_20)) OrderModify(OrderTicket(), a_price_8, price_28, OrderTakeProfit(), 0, Red);
                    }
                }
                Sleep(1000);
            }
        }
    }
}

double Yf0_7()
{
    if (YYf0_16() == 0) Ygd_528 = AccountEquity();
    if (Ygd_528 < Ygd_536) Ygd_528 = Ygd_536;
    else Ygd_528 = AccountEquity();
    Ygd_536 = AccountEquity();
    return (Ygd_528);
}

double Yf0_2()
{
    double order_open_price_0;
    int ticket_8;
    double ld_unused_12 = 0;
    int ticket_20 = 0;
    for (int pos_24 = OrdersTotal() - 1; pos_24 >= 0; pos_24--)
    {
        OrderSelect(pos_24, SELECT_BY_POS, MODE_TRADES);
        if (OrderSymbol() != Symbol() || OrderMagicNumber() != Ygi_356) continue;
        if (OrderSymbol() == Symbol() && OrderMagicNumber() == Ygi_356 && OrderType() == OP_BUY)
        {
            ticket_8 = OrderTicket();
            if (ticket_8 > ticket_20)
            {
                order_open_price_0 = OrderOpenPrice();
                ld_unused_12 = order_open_price_0;
                ticket_20 = ticket_8;
            }
        }
    }
    return (order_open_price_0);
}

double Yf0_6()
{
    double order_open_price_0;
    int ticket_8;
    double ld_unused_12 = 0;
    int ticket_20 = 0;
    for (int pos_24 = OrdersTotal() - 1; pos_24 >= 0; pos_24--)
    {
        OrderSelect(pos_24, SELECT_BY_POS, MODE_TRADES);
        if (OrderSymbol() != Symbol() || OrderMagicNumber() != Ygi_356) continue;
        if (OrderSymbol() == Symbol() && OrderMagicNumber() == Ygi_356 && OrderType() == OP_SELL)
        {
            ticket_8 = OrderTicket();
            if (ticket_8 > ticket_20)
            {
                order_open_price_0 = OrderOpenPrice();
                ld_unused_12 = order_open_price_0;
                ticket_20 = ticket_8;
            }
        }
    }
    return (order_open_price_0);
}

void Yf0_9()
{
    Comment("            AutoProfit v.3.0  " + Symbol() + "  " + Period(),
       "\n", "            Forex Account Server:", AccountServer(),
       "\n", "            LotRobo3s:  ", YYgd_200,
       "\n", "            Symbol: ", Symbol(),
       "\n", "            Price:  ", NormalizeDouble(Bid, 4),
       "\n", "            Date: ", Month(), "-", Day(), "-", Year(), " Server Time: ", Hour(), ":", Minute(), ":", Seconds(),
    "\n");
}

void YYf0_13()
{
    double ld_0 = Yf0_8(0);
    string name_8 = Ygs_104 + "1";
    if (ObjectFind(name_8) == -1)
    {
        ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
        ObjectSet(name_8, OBJPROP_CORNER, 1);
        ObjectSet(name_8, OBJPROP_XDISTANCE, 10);
        ObjectSet(name_8, OBJPROP_YDISTANCE, 15);
    }
    ObjectSetText(name_8, "Çàðàáîòîê ñåãîäíÿ: " + DoubleToStr(ld_0, 2), Yg_fontsize_544, "Courier New", Yg_color_548);
    ld_0 = Yf0_8(1);
    name_8 = Ygs_104 + "2";
    if (ObjectFind(name_8) == -1)
    {
        ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
        ObjectSet(name_8, OBJPROP_CORNER, 1);
        ObjectSet(name_8, OBJPROP_XDISTANCE, 10);
        ObjectSet(name_8, OBJPROP_YDISTANCE, 33);
    }
    ObjectSetText(name_8, "Çàðàáîòîê â÷åðà: " + DoubleToStr(ld_0, 2), Yg_fontsize_544, "Courier New", Yg_color_548);
    ld_0 = Yf0_8(2);
    name_8 = Ygs_104 + "3";
    if (ObjectFind(name_8) == -1)
    {
        ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
        ObjectSet(name_8, OBJPROP_CORNER, 1);
        ObjectSet(name_8, OBJPROP_XDISTANCE, 10);
        ObjectSet(name_8, OBJPROP_YDISTANCE, 51);
    }
    ObjectSetText(name_8, "Çàðàáîòîê ïîçàâ÷åðà: " + DoubleToStr(ld_0, 2), Yg_fontsize_544, "Courier New", Yg_color_548);
    name_8 = Ygs_104 + "4";
    if (ObjectFind(name_8) == -1)
    {
        ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
        ObjectSet(name_8, OBJPROP_CORNER, 1);
        ObjectSet(name_8, OBJPROP_XDISTANCE, 10);
        ObjectSet(name_8, OBJPROP_YDISTANCE, 76);
    }
    ObjectSetText(name_8, "Áàëàíñ : " + DoubleToStr(AccountBalance(), 2), Yg_fontsize_544, "Courier New", Yg_color_548);
}

void YYf0_10()
{
    string name_0 = Ygs_104 + "L_1";
    if (ObjectFind(name_0) == -1)
    {
        ObjectCreate(name_0, OBJ_LABEL, 0, 0, 0);
        ObjectSet(name_0, OBJPROP_CORNER, 0);
        ObjectSet(name_0, OBJPROP_XDISTANCE, 390);
        ObjectSet(name_0, OBJPROP_YDISTANCE, 10);
    }
    ObjectSetText(name_0, "I N V E S T", 28, "Arial", Yg_color_552);
    name_0 = Ygs_104 + "L_2";
    if (ObjectFind(name_0) == -1)
    {
        ObjectCreate(name_0, OBJ_LABEL, 0, 0, 0);
        ObjectSet(name_0, OBJPROP_CORNER, 0);
        ObjectSet(name_0, OBJPROP_XDISTANCE, 382);
        ObjectSet(name_0, OBJPROP_YDISTANCE, 50);
    }
    ObjectSetText(name_0, "  S Y S T E M", 16, "Arial", Yg_color_552);
    name_0 = Ygs_104 + "L_3";
    if (ObjectFind(name_0) == -1)
    {
        ObjectCreate(name_0, OBJ_LABEL, 0, 0, 0);
        ObjectSet(name_0, OBJPROP_CORNER, 0);
        ObjectSet(name_0, OBJPROP_XDISTANCE, 397);
        ObjectSet(name_0, OBJPROP_YDISTANCE, 75);
    }
    ObjectSetText(name_0, "www.invest-system.net", 12, "Arial", Yg_color_556);
    name_0 = Ygs_104 + "L_4";
    if (ObjectFind(name_0) == -1)
    {
        ObjectCreate(name_0, OBJ_LABEL, 0, 0, 0);
        ObjectSet(name_0, OBJPROP_CORNER, 0);
        ObjectSet(name_0, OBJPROP_XDISTANCE, 382);
        ObjectSet(name_0, OBJPROP_YDISTANCE, 57);
    }
    ObjectSetText(name_0, "_____________________", 12, "Arial", Gray);
    name_0 = Ygs_104 + "L_5";
    if (ObjectFind(name_0) == -1)
    {
        ObjectCreate(name_0, OBJ_LABEL, 0, 0, 0);
        ObjectSet(name_0, OBJPROP_CORNER, 0);
        ObjectSet(name_0, OBJPROP_XDISTANCE, 382);
        ObjectSet(name_0, OBJPROP_YDISTANCE, 76);
    }
    ObjectSetText(name_0, "_____________________", 12, "Arial", Gray);
}

double Yf0_8(int ai_0)
{
    double ld_ret_4 = 0;
    for (int pos_12 = 0; pos_12 < OrdersHistoryTotal(); pos_12++)
    {
        if (!(OrderSelect(pos_12, SELECT_BY_POS, MODE_HISTORY))) break;
        if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
            if (OrderCloseTime() >= iTime(Symbol(), PERIOD_D1, ai_0) && OrderCloseTime() < iTime(Symbol(), PERIOD_D1, ai_0) + 86400) ld_ret_4 = ld_ret_4 + OrderProfit() + OrderCommission() + OrderSwap();
    }
    return (ld_ret_4);
}