Koder potrzebował zmian w (prawie idealnym) Trade-Manager-EA
Pokaż wyniki od 1 do 10 z 10

Wątek: Koder potrzebował zmian w (prawie idealnym) Trade-Manager-EA

  1. #1
    1 Załącznik (s) Witaj,
    Próbuję znaleźć jakiegoś kodera, który może zainteresować się ponownym kodowaniem mojego menedżera handlu, za który zapłaciłem.
    Dawniej bardzo znany starszy członek ROOIKOOL (również bardzo dobry programista) zakodował ten EA dla mnie.
    Ale nie wprowadzał już żadnych zmian w EA.
    Istnieją więc 2-3 funkcje, które działają nieprawidłowo, tak jak powinny być.
    Oto kod:

    # właściwość chroniona kodem rooicol

    #import stdlib.ex4
    string ErrorDescription (int ErrorCode);
    extern int DefaultSL = 400;
    extern bool HighLowSL = True;
    extern int BarCount = 3;
    extern int Gap = 100;
    extern int HighLowSafetyPoints = 100;
    extern int DefaultTP = 500;
    extern int DefaultCPPercent = 50;
    extern bool HardSLTPActive = False;
    extern int HardSLTPDistance = 400;
    extern int AutoBEPoints = 200;
    extern bool TrendLineSL = False;
    extern int TrendLineSLDistance = 40;
    extern bool MaintainSession = False;
    extern int MyMagicNumber = 555;
    extern bool ObjectOrders = True;
    extern bool ObjectStopOrders = False;
    extern int SendMultipleOrders = 1;
    extern int WingdingObjectOrders = 251;
    extern int DistancePendingOrder = 40;
    extern double Lots = 0;
    extern double RiskPercent = 2;
    extern double CommissionPerLot = 0;
    extern int TradeObjectsFontSize = 8;
    extern int TradeWingDingFontSize = 35;
    extern int TradeObjectsXDistance = 10;
    extern int TradeObjectsYDistance = -34;
    extern int TradeObjectsXSpace = 30;
    extern int TradeObjectsYSpace = 28;
    extern bool DeleteOnly = True;
    extern bool ShowConfirm = False;
    kolor zewnętrzny BuyMarketColour = Zielony;
    kolor zewnętrzny BuyLimitColour = Zielony;
    kolor zewnętrzny BuyStopColour = Zielony;
    kolor zewnętrzny CloseColour = szary;
    kolor zewnętrzny SellMarketColour = Maroon;
    kolor zewnętrzny SellLimitColour = Maroon;
    kolor zewnętrzny SellStopColour = Maroon;
    extern int LineStyleEntry = STYLE_SOLID;
    extern int LineStyleSL = STYLE_DASH;
    extern int LineStyleTP = STYLE_DOT;
    extern int LineStyleCP = STYLE_DASHDOT;
    kolor zewnętrzny Colour1 = Pomarańczowy;
    kolor zewnętrzny Colour2 = DarkGray;
    kolor zewnętrzny Colour3 = Wapno;
    kolor zewnętrzny Colour4 = Zielony;
    kolor zewnętrzny Colour5 = niebieski;
    kolor zewnętrzny PendingColour = SkyBlue;
    extern bool UseWingDings = False;
    extern int OrderLineThickness = 5;
    extern int OrderLineLength = 10;
    kolor zewnętrzny EntryColour = Niebieski;
    kolor zewnętrzny SLColour = Orange;
    kolor zewnętrzny TPColour = DarkGray;
    kolor zewnętrzny CPColour = Lime;
    extern int Wingding = 74;
    extern bool RunInfiniteLoop = False;
    extern int RunIntervalMS = 100;
    bool FirstRun = True;
    bool AutoBE = False;
    int start ()
    {
    while (IsStopped () == False)
    {
    RefreshRates ();
    jeśli (MyMagicNumber == 0)
    Komentarz (MyMagicNumber nie może być 0!);
    //--------- USUŃ HISTORIĘ POZIOMY HANDLOWE ----------------------------------- -------
    for (int i = OrdersHistoryTotal () - 10; ilt; OrdersHistoryTotal (); i )
    {
    OrderSelect (i, SELECT_BY_POS, MODE_HISTORY);
    int TicketNo = OrderTicket ();
    ObjectDelete (Trade Management EA: Line Entry TicketNo);
    ObjectDelete (Trade Management EA: Line SL TicketNo);
    ObjectDelete (Trade Management EA: Line TP TicketNo);
    ObjectDelete (Trade Management EA: Line CP TicketNo);
    ObjectDelete (Trade Management EA: Distance Entry TicketNo);
    ObjectDelete (Trade Management EA: Distance SL TicketNo);
    ObjectDelete (Trade Management EA: Distance TP TicketNo);
    ObjectDelete (Trade Management EA: Distance CP TicketNo);
    ObjectDelete (Trade Management EA: Trend Line TicketNo);
    ObjectDelete (Trade Management EA: Ticket No Entry TicketNo);
    ObjectDelete (Trade Management EA: Ticket No SL TicketNo);
    ObjectDelete (Trade Management EA: Ticket No TP TicketNo);
    ObjectDelete (Trade Management EA: Ticket No CP TicketNo);
    ObjectDelete (Trade Management EA: Wingding Entry TicketNo);
    ObjectDelete (Trade Management EA: Wingding SL TicketNo);
    ObjectDelete (Trade Management EA: Wingding TP TicketNo);
    ObjectDelete (Trade Management EA: Wingding CP TicketNo);
    GlobalVariableDel (Trade Management EA: Line CP TicketNo);
    }
    //--------- UTWÓRZ POZIOMY HANDLOWE ------------------------------------ ------
    int j = 0;
    statyczny bool TrailActive;
    for (i = OrdersTotal () - 1; igt; = 0; i--)
    {
    OrderSelect (i, SELECT_BY_POS);
    if (OrderSymbol () == Symbol () OrderMagicNumber ()! = MyMagicNumber)
    {
    j ;
    TicketNo = OrderTicket ();
    string TicketNoStr = DoubleToStr (TicketNo, 0);
    przełącznik (OrderType ())
    {
    case 0: int Direction = 1; double Price = Bid; bool Pending = False; złamać;
    sprawa 2:
    Przypadek 4: Kierunek = 1; Cena = Licytacja; double PendingPrice = Ask; Pending = True; złamać;
    Przypadek 1: Kierunek = -1; Cena = Zapytaj; Oczekujące = Fałsz; złamać;
    sprawa 3:
    Przypadek 5: Kierunek = -1; Cena = Zapytaj; PendingPrice = Bid; Pending = True;
    }
    jeśli (j == 1)
    kolor Kolor = kolor1;
    jeśli (j == 2)
    Kolor = kolor2;
    jeśli (j == 3)
    Kolor = kolor3;
    jeśli (j == 4)
    Kolor = kolor4;
    if (jgt; = 5)
    Kolor = kolor5;
    if (UseWingDings == False)
    {
    ObjectCreate (Trade Management EA: Line Entry TicketNo, OBJ_HLINE, 0, OrderOpenTime (), OrderOpenPrice ());
    ObjectSet (Trade Management EA: Line Entry TicketNo, OBJPROP_COLOR, Color);
    ObjectSet (Trade Management EA: Line Entry TicketNo, OBJPROP_STYLE, LineStyleEntry);
    double LineEntryPrice = NormalizeDouble (ObjectGet (Trade Management EA: Line Entry TicketNo, OBJPROP_PRICE1), cyfry);

    ObjectCreate (Trade Management EA: Ticket No Entry TicketNo, OBJ_TEXT, 0, Time [80], LineEntryPrice);
    ObjectSetText (Trade Management EA: Ticket No Entry TicketNo, TicketNoStr, 10, Arial, Color);
    ObjectMove (Trade Management EA: Ticket No Entry TicketNo, 0, Time [80], LineEntryPrice);
    }
    jeszcze
    {
    ObjectCreate (Trade Management EA: Line Entry TicketNo, OBJ_TREND, 0, OrderOpenTime (), OrderOpenPrice (), Time [iBarShift (Symbol (), Period (), OrderOpenTime ()) OrderLineLength], OrderOpenPrice ());
    ObjectSet (Trade Management EA: Line Entry TicketNo, OBJPROP_WIDTH, OrderLineThickness);
    ObjectSet (Trade Management EA: Line Entry TicketNo, OBJPROP_COLOR, EntryColour);
    ObjectSet (Trade Management EA: Line Entry TicketNo, OBJPROP_RAY, False);
    LineEntryPrice = NormalizeDouble (ObjectGet (Trade Management EA: Line Entry TicketNo, OBJPROP_PRICE1), cyfry);

    //ObjectCreate (Trade Management EA: Wingding Entry TicketNo, OBJ_TEXT, 0, OrderOpenTime (), OrderOpenPrice ());
    //ObjectSetText (Trade Management EA: Wingding Entry TicketNo, CharToStr (Wingding), 10, WingDings, EntryColour);
    //ObjectMove (Trade Management EA: Wingding Entry TicketNo, 0, OrderOpenTime (), LineEntryPrice);
    }

    if (OrderType () lt; = 1)
    {
    ObjectMove (Trade Management EA: Line Entry TicketNo, 0, OrderOpenTime (), OrderOpenPrice ());
    ObjectMove (Trade Management EA: Line Entry TicketNo, 1, Time [iBarShift (Symbol (), Period (), OrderOpenTime ()) OrderLineLength], OrderOpenPrice ());
    }
    if (OrderType () gt; = 2)
    {
    ObjectMove (Trade Management EA: Line Entry TicketNo, 0, OrderOpenTime (), LineEntryPrice);
    ObjectMove (Trade Management EA: Line Entry TicketNo, 1, Time [iBarShift (Symbol (), Period (), OrderOpenTime ()) OrderLineLength], LineEntryPrice);
    }

    if (Pending == True)
    double PriceEntry = PendingPrice;
    jeszcze
    PriceEntry = Price;
    int EntryDistance = ((PriceEntry-LineEntryPrice) * Kierunek)Punkt;
    string EntryDistanceStr = DoubleToStr (EntryDistance, 0);
    if (UseWingDings == True)
    kolor DistanceEntryColour = EntryColour;
    jeszcze
    DistanceEntryColour = Color;
    ObjectCreate (Trade Management EA: Entry Entry TicketNo, OBJ_TEXT, 0, Time [iBarShift (Symbol (), Period (), OrderOpenTime ()) 10], LineEntryPrice);
    ObjectSetText (Trade Management EA: Entry TicketNo, EntryDistanceStr, 13, Arial, DistanceEntryColour)
    ObjectMove (Trade Management EA: Entry Entry TicketNo, 0, Time [iBarShift (Symbol (), Period (), OrderOpenTime ()) 10], LineEntryPrice);

    if (HighLowSL == Prawda)
    {
    jeśli (Kierunek == 1)
    {
    double LineSLInitialPrice = Niski [iLowest (Symbol (), Okres (), MODE_LOW, BarCount)] - (Punkt Gap *);
    if (LineSLInitialPricegt; (OrderOpenPrice () - (HighLowSafetyPoints * Point)))
    LineSLInitialPrice = (OrderOpenPrice () - (HighLowSafetyPoints * Point));
    }
    jeśli (Kierunek == - 1)
    {
    LineSLInitialPrice = High [iHighest (Symbol (), Period (), MODE_HIGH, BarCount)] (Gap * Point);
    if (LineSLInitialPricelt; (OrderOpenPrice () (HighLowSafetyPoints * Point)))
    LineSLInitialPrice = (OrderOpenPrice () (HighLowSafetyPoints * Point));
    }
    }
    jeszcze
    LineSLInitialPrice = OrderOpenPrice () - (Direction * DefaultSL * Point);
    if (OrderStopLoss ()! = 0)
    LineSLInitialPrice = OrderStopLoss () (HardSLTPDistance * Point * Direction);

    if (UseWingDings == False)
    {
    ObjectCreate (Trade Management EA: Line SL TicketNo, OBJ_HLINE, 0, OrderOpenTime (), LineSLInitialPrice);
    ObjectSet (Trade Management EA: Line SL TicketNo, OBJPROP_COLOR, Color);
    ObjectSet (Trade Management EA: Line SL TicketNo, OBJPROP_STYLE, LineStyleSL);
    double LineSLPrice = NormalizeDouble (ObjectGet (Trade Management EA: Line SL TicketNo, OBJPROP_PRICE1), cyfry);
    ObjectMove (Trade Management EA: Line SL TicketNo, 0, OrderOpenTime (), LineSLPrice);

    ObjectCreate (Trade Management EA: Bilet nr SL TicketNo, OBJ_TEXT, 0, Time [80], LineSLPrice);
    ObjectSetText (Trade Management EA: Bilet nr SL TicketNo, TicketNoStr, 10, Arial, Color);
    ObjectMove (Trade Management EA: Bilet nr SL TicketNo, 0, Time [80], LineSLPrice);
    }
    jeszcze
    {
    ObjectCreate (Trade Management EA: Line SL TicketNo, OBJ_TREND, 0, OrderOpenTime (), LineSLInitialPrice, Time [iBarShift (Symbol (), Okres (), OrderOpenTime ()) OrderLineLength], LineSLInitialPrice);
    ObjectSet (Trade Management EA: Line SL TicketNo, OBJPROP_WIDTH, OrderLineThickness);
    ObjectSet (Trade Management EA: Line SL TicketNo, OBJPROP_COLOR, SLColour);

    LineSLPrice = NormalizeDouble (ObjectGet (Trade Management EA: Line SL TicketNo, OBJPROP_PRICE1), cyfry);
    ObjectMove (Trade Management EA: Line SL TicketNo, 0, OrderOpenTime (), LineSLPrice);
    ObjectMove (Trade Management EA: Line SL TicketNo, 1, Time [iBarShift (Symbol (), Okres (), OrderOpenTime ()) OrderLineLength], LineSLPrice);

    //ObjectCreate (Trade Management EA: Wingding SL TicketNo, OBJ_TEXT, 0, OrderOpenTime (), LineSLInitialPrice);
    //ObjectSetText (Trade Management EA: Wingding SL TicketNo, CharToStr (Wingding), 10, WingDings, SLColour);
    //ObjectMove (Trade Management EA: Wingding SL TicketNo, 0, OrderOpenTime (), LineSLPrice);
    }

    double SLDistance = ((LineSLPrice-OrderOpenPrice ()) * Direction)(Point);
    ciąg SLDistanceStr = DoubleToStr (SLDistance, 0);
    if (UseWingDings == True)
    kolor OdległośćSLColour = SLColour;
    jeszcze
    DistanceSLColour = Kolor;
    ObjectCreate (Trade Management EA: Distance SL TicketNo, OBJ_TEXT, 0, Time [iBarShift (Symbol (), Period (), OrderOpenTime ()) 20], LineSLPrice);
    ObjectSetText (Trade Management EA: Distance SL TicketNo, SLDistanceStr, 13, Arial, DistanceSLColour);
    ObjectMove (zarządzanie handlem EA: odległość SL biletNo, 0, czas [iBarShift (Symbol (), okres (), OrderOpenTime ()) 20], LineSLPrice);

    if (TrendLineSL == TrueOrderType () lt; = 1)
    {
    if (OrderType () == 0)
    {
    double TrendLinePrice1 = Low [0] - (250 * Point);
    double TrendLinePrice2 = Low [0] - (75 * Point);
    }
    if (OrderType () == 1)
    {
    TrendLinePrice1 = Wysoki [0] (250 * Punkt);
    TrendLinePrice2 = Wysoki [0] (75 * punkt);
    }

    ObjectCreate (Trade Management EA: Trend Line TicketNo, OBJ_TREND, 0, Time [30], TrendLinePrice1, Time [0], TrendLinePrice2);
    ObjectSet (Trade Management EA: Trend Line TicketNo, OBJPROP_RAY, True);
    double TrendLineCurrentValue = ObjectGetValueByShift (Trade Management EA: Trend Line TicketNo, 0) - (TrendLineSLDistance * Point * Direction);
    ObjectMove (Trade Management EA: Line SL TicketNo, 0, OrderOpenTime (), TrendLineCurrentValue);
    ObjectMove (Trade Management EA: Line SL TicketNo, 1, Time [iBarShift (Symbol (), Okres (), OrderOpenTime ()) OrderLineLength], TrendLineCurrentValue);
    }
    jeśli (TrendLineSL == Fałsz)
    ObjectDelete (Trade Management EA: Trend Line TicketNo);

    if (It BE == True OrderType () lt; = 1EntryDistance gt; = AutoBEPoints)
    {
    ObjectMove (Trade Management EA: Line SL TicketNo, 0, OrderOpenTime (), OrderOpenPrice ());
    ObjectMove (Trade Management EA: Line SL TicketNo, 1, Time [iBarShift (Symbol (), Okres (), OrderOpenTime ()) OrderLineLength], OrderOpenPrice ());
    }

    if (TrailActive == TrueOrderType () lt; = 1)
    {
    if (OrderType () == 0)
    double TrailMovePrice = iLow (Symbol (), 240,1) - (Punkt Gap *);
    if (OrderType () == 1)
    TrailCom Price = High (Symbol (), 240,1) (Gap * Point);

    if ((TrailMovePrice-LineSLPrice) * Directiongt; (Point2))
    {
    ObjectMove (Trade Management EA: Line SL TicketNo, 0, OrderOpenTime (), TrailMovePrice);
    ObjectMove (Trade Management EA: Line SL TicketNo, 1, Time [iBarShift (Symbol (), Okres (), OrderOpenTime ()) OrderLineLength], TrailMovePrice);
    }
    ObjectMove (Trade Management EA: Line TP TicketNo, 0, OrderOpenTime (), OrderOpenPrice () (Point * 10000 * Direction));
    ObjectMove (Trade Management EA: Line TP TicketNo, 1, Time [iBarShift (Symbol (), Period (), OrderOpenTime ()) OrderLineLength], OrderOpenPrice () (Point * 10000 * Direction));
    }

    if (OrderTakeProfit ()! = 0)
    double LineTPInitialPrice = OrderTakeProfit () - (HardSLTPDistance * Punkt * Kierunek);
    jeszcze
    LineTPInitialPrice = OrderOpenPrice () (Kierunek * DefaultTP * Punkt);


    if (UseWingDings == False)
    {
    ObjectCreate (Trade Management EA: Line TP TicketNo, OBJ_HLINE, 0, OrderOpenTime (), LineTPInitialPrice);
    ObjectSet (Trade Management EA: Line TP TicketNo, OBJPROP_COLOR, Color);
    ObjectSet (Trade Management EA: Line TP TicketNo, OBJPROP_STYLE, LineStyleTP);
    double LineTPPrice = NormalizeDouble (ObjectGet (Trade Management EA: Line TP TicketNo, OBJPROP_PRICE1), cyfry);
    ObjectMove (Trade Management EA: Line TP TicketNo, 0, OrderOpenTime (), LineTPPrice);

    ObjectCreate (Trade Management EA: Ticket No TP TicketNo, OBJ_TEXT, 0, Time [80], LineTPPrice);
    ObjectSetText (Trade Management EA: Ticket No TP TicketNo, TicketNoStr, 10, Arial, Color);
    ObjectMove (Trade Management EA: Ticket No TP TicketNo, 0, Time [80], LineTPPrice);
    }
    jeszcze
    {
    ObjectCreate (Trade Management EA: Line TP TicketNo, OBJ_TREND, 0, OrderOpenTime (), LineTPInitialPrice, Time [iBarShift (Symbol (), Period (), OrderOpenTime ()) OrderLineLength], LineTPInitialPrice);
    ObjectSet (Trade Management EA: Line TP TicketNo, OBJPROP_WIDTH, OrderLineThickness);
    ObjectSet (Trade Management EA: Line TP TicketNo, OBJPROP_COLOR, TPColour);
    ObjectSet (Trade Management EA: Line TP TicketNo, OBJPROP_RAY, False);
    LineTPPrice = NormalizeDouble (ObjectGet (Trade Management EA: Line TP TicketNo, OBJPROP_PRICE1), cyfry);
    ObjectMove (Trade Management EA: Line TP TicketNo, 0, OrderOpenTime (), LineTPPrice);
    ObjectMove (Trade Management EA: Line TP TicketNo, 1, Time [iBarShift (Symbol (), Okres (), OrderOpenTime ()) OrderLineLength], LineTPPrice);

    //ObjectCreate (Trade Management EA: Wingding TP TicketNo, OBJ_TEXT, 0, OrderOpenTime (), LineTPInitialPrice);
    //ObjectSetText (Trade Management EA: Wingding TP TicketNo, CharToStr (Wingding), 10, WingDings, TPColour);
    //ObjectMove (Trade Management EA: Wingding TP TicketNo, 0, OrderOpenTime (), LineTPPrice);
    }

    double TPDistance = ((LineTPPrice-OrderOpenPrice ()) * Kierunek)(Punkt);
    string TPDistanceStr = DoubleToStr (TPDistance, 0);
    if (UseWingDings == True)
    kolor DistanceTPColour = TPColour;
    jeszcze
    DistanceTPColour = Kolor;
    ObjectCreate (Trade Management EA: Distance TP TicketNo, OBJ_TEXT, 0, Time [iBarShift (Symbol (), Okres (), OrderOpenTime ()) 20], LineTPPrice);
    ObjectSetText (Trade Management EA: Distance TP TicketNo, TPDistanceStr, 13, Arial, DistanceTPColour);
    ObjectMove (Trade Management EA: Distance TP TicketNo, 0, Time [iBarShift (Symbol (), Okres (), OrderOpenTime ()) 20], LineTPPrice);

    if (DefaultCPPercentgt; 0)
    {
    double LineCPInitialPrice = GlobalVariableGet (Trade Management EA: Line CP TicketNo);
    if (LineCPInitialPrice == 0)
    LineCPInitialPrice = LineTPPrice (Kierunek * 20 * Punkt);
    if (UseWingDings == false)
    {
    ObjectCreate (Trade Management EA: Line CP TicketNo, OBJ_HLINE, 0, OrderOpenTime (), LineCPInitialPrice);
    ObjectSet (Trade Management EA: Line CP TicketNo, OBJPROP_COLOR, Color);
    ObjectSet (Trade Management EA: Line CP TicketNo, OBJPROP_STYLE, LineStyleCP);
    double LineCPPrice = NormalizeDouble (ObjectGet (Trade Management EA: Line CP TicketNo, OBJPROP_PRICE1), cyfry);
    ObjectMove (Trade Management EA: Line CP TicketNo, 0, OrderOpenTime (), LineCPPrice);

    ObjectCreate (Trade Management EA: Ticket No CP TicketNo, OBJ_TEXT, 0, Time [80], LineCPPrice);
    ObjectSetText (Trade Management EA: Ticket No CP TicketNo, TicketNoStr, 10, Arial, Color);
    ObjectMove (Trade Management EA: Ticket No CP TicketNo, 0, Time [80], LineCPPrice);
    }
    jeszcze
    {
    ObjectCreate (Trade Management EA: Line CP TicketNo, OBJ_TREND, 0, OrderOpenTime (), LineCPInitialPrice, Time [iBarShift (Symbol (), Period (), OrderOpenTime ()) OrderLineLength], LineCPInitialPrice);
    ObjectSet (Trade Management EA: Line CP TicketNo, OBJPROP_WIDTH, OrderLineThickness);
    ObjectSet (Trade Management EA: Line CP TicketNo, OBJPROP_COLOR, CPColour);
    ObjectSet (Trade Management EA: Line CP TicketNo, OBJPROP_RAY, False);
    LineCPPrice = NormalizeDouble (ObjectGet (Trade Management EA: Line CP TicketNo, OBJPROP_PRICE1), cyfry);
    ObjectMove (Trade Management EA: Line CP TicketNo, 0, OrderOpenTime (), LineCPPrice);
    ObjectMove (Trade Management EA: Line CP TicketNo, 1, Time [iBarShift (Symbol (), Okres (), OrderOpenTime ()) OrderLineLength], LineCPPrice);

    //ObjectCreate (Trade Management EA: Wingding CP TicketNo, OBJ_TEXT, 0, OrderOpenTime (), LineCPInitialPrice);
    //ObjectSetText (Trade Management EA: Wingding CP TicketNo, CharToStr (Wingding), 10, WingDings, CPColour);
    //ObjectMove (Trade Management EA: Wingding CP TicketNo, 0, OrderOpenTime (), LineCPPrice);
    }
    double CPDistance = ((LineCPPrice-OrderOpenPrice ()) * Kierunek)(Punkt);
    string CPDistanceStr = DoubleToStr (CPDistance, 0);
    if (UseWingDings == True)
    kolor DistanceCPColour = CPColour;
    jeszcze
    DistanceCPColour = Kolor;
    ObjectCreate (Trade Management EA: Distance CP TicketNo, OBJ_TEXT, 0, Time [iBarShift (Symbol (), Okres (), OrderOpenTime ()) 10], LineCPPrice);
    ObjectSetText (Trade Management EA: Distance CP TicketNo, CPDistanceStr, 13, Arial, DistanceCPColor)
    ObjectMove (Trade Management EA: Distance CP TicketNo, 0, Time [iBarShift (Symbol (), Okres (), OrderOpenTime ()) 10], LineCPPrice);
    GlobalVariableSet (Trade Management EA: Line CP TicketNo, LineCPPrice);
    int ClosePercent = StrToDouble (ObjectDescription (Trade Management EA: Line CP TicketNo));
    jeśli (ClosePercent == 0)
    ObjectSetText (Trade Management EA: Line CP TicketNo, DoubleToStr (DefaultCPPercent, 0));
    }
    jeszcze
    {
    ObjectDelete (Trade Management EA: Distance CP TicketNo);
    ObjectDelete (Trade Management EA: Ticket No CP TicketNo);
    ObjectDelete (Trade Management EA: Line CP TicketNo);
    GlobalVariableDel (Trade Management EA: Line CP TicketNo);
    }
    //--------- MODIFY SL I TP ----------------------------------- -------
    double LineSLPriceAdjusted = LineSLPrice- (Kierunek * HardSLTPDistance * Punkt);
    double LineTPPriceAdjusted = LineTPPrice (Kierunek * HardSLTPDistance * Punkt);

    if (MathAbs (OrderOpenPrice () - LineEntryPrice) gt; (Point2))
    bool EntryDifference = True;
    jeszcze
    EntryDifference = False;
    if (MathAbs (OrderStopLoss () - LineSLPriceAdjusted) gt; (Point2))
    bool SLDifference = True;
    jeszcze
    SLDifference = False;
    if (MathAbs (OrderTakeProfit () - LineTPPriceAdjusted) gt; (Point2))
    bool TPDifference = True;
    jeszcze
    TPDifference = False;

    if ((HardSLTPActive == True (SLDifference == True || TPDifference == True)) || (EntryDifference == TrueOrderType () gt; = 2))
    {
    OrderModify (TicketNo, LineEntryPrice, LineSLPriceAdjusted, LineTPPriceAdjusted, 0);
    Sen (250);
    }
    OrderSelect (i, SELECT_BY_POS);
    RefreshRates ();
    //--------- EA ZAMKNIJ ------------------------------------- -----

    if (((cena-liniaSLPrice) * Kierunek) lt; (punkt2))
    bool SLHit = True;
    jeszcze
    SLHit = Fałsz;
    if (((LineTPCena-cena) * Kierunek) lt; (punkt2))
    bool TPHit = True;
    jeszcze
    TPHit = False;
    if (((LineCP cena-cena) * Kierunek) lt; (punkt2))
    bool CPHit = True;
    jeszcze
    CPHit = False;

    if (((HardSLTPActive == TrueHardSLTPDistancegt; 0) || (HardSLTPActive == False)) SLHit == TrueOrderType () lt; = 1)
    RunClose (TicketNo, LineSLPrice, OrderLots (), EA CLOSE);
    if (((HardSLTPActive == TrueHardSLTPDistancegt; 0) || (HardSLTPActive == False)) TPHit == TrueOrderType () lt; = 1)
    RunClose (TicketNo, LineTPPrice, OrderLots (), EA CLOSE);
    if (DefaultCPPercentgt; 0CPHit == TrueOrderType () lt; = 1)
    {
    double LotPoint = MarketInfo (Symbol (), MODE_LOTSTEP);
    double CloseLots = MathRound ((OrderLots () * ClosePercent * 0.01)LotPoint) * LotPoint;
    RunClose (TicketNo, LineCPPrice, CloseLots, EA CLOSE);
    }
    }
    }
    //---------OCZEKUJĄCE ZAMÓWIENIA------------------------------------- --------------------
    dla (i = 0; ilt; 10; i )
    {
    double LineBuyLimitPrice = NormalizeDouble (ObjectGet (Trade Management EA: Limit zakupów liniowych i, OBJPROP_PRICE1), cyfry);
    if (LineBuyLimitPrice! = 0)
    {
    ObjectMove (Trade Management EA: Line Buy Limit i, 0, TimeCurrent (), LineBuyLimitPrice);
    ObjectMove (Trade Management EA: Line Buy Limit i, 1, Time [10], LineBuyLimitPrice);
    ObjectMove (Trade Management EA: Ticket No Buy Limit i, 0, Time [80], LineBuyLimitPrice);
    //ObjectMove (Trade Management EA: Wingding Buy Limit i, 0, TimeCurrent (), LineBuyLimitPrice);
    double BuyLimitDistance = (Ask-LineBuyLimitPrice)(Point);
    string BuyLimitDistanceStr = DoubleToStr (BuyLimitDistance, 0);
    ObjectSetText (Trade Management EA: Distance Buy Limit i, BuyLimitDistanceStr, 13, Arial, PendingColour);
    ObjectMove (Zarządzanie handlem EA: Limit zakupów odległości i, 0, czas [10], LineBuyLimitPrice);
    if ((Ask-LineBuyLimitPrice) lt; (Point2))
    {
    SendBuyMarketOrder (True);
    ObjectDelete (Trade Management EA: Line Buy Limit i);
    ObjectDelete (Trade Management EA: Ticket No Buy Limit i);
    ObjectDelete (Trade Management EA: Distance Buy Limit i);
    ObjectDelete (Trade Management EA: Wingding Buy Limit i);
    }
    }
    jeszcze
    {
    ObjectDelete (Trade Management EA: Ticket No Buy Limit i);
    ObjectDelete (Trade Management EA: Distance Buy Limit i);
    ObjectDelete (Trade Management EA: Wingding Buy Limit i);
    }
    double LineBuyStopPrice = NormalizeDouble (ObjectGet (Trade Management EA: Stop Buy Line i, OBJPROP_PRICE1), cyfry);
    if (LineBuyStopPrice! = 0)
    {
    ObjectMove (Trade Management EA: Line Buy Stop i, 0, TimeCurrent (), LineBuyStopPrice);
    ObjectMove (Trade Management EA: Line Buy Stop i, 1, Time [10], LineBuyStopPrice);
    ObjectMove (Trade Management EA: Ticket No Buy Stop i, 0, Time [80], LineBuyStopPrice);
    //ObjectMove (Trade Management EA: Wingding Kup Stop i, 0, TimeCurrent (), LineBuyStopPrice);
    double BuyStopDistance = (LineBuyStopPrice-Ask)(Point);
    string BuyStopDistanceStr = DoubleToStr (BuyStopDistance, 0);
    ObjectSetText (Trade Management EA: Distance Buy Stop i, BuyStopDistanceStr, 13, Arial, PendingColour);
    ObjectMove (Trade Management EA: Stop Buy Stop i, 0, Time [10], LineBuyStopPrice);
    if ((LineBuyStopPrice-Ask) lt; (punkt2))
    {
    SendBuyMarketOrder (True);
    ObjectDelete (Trade Management EA: Line Buy Stop i);
    ObjectDelete (Trade Management EA: Ticket No Buy Stop i);
    ObjectDelete (Trade Management EA: Distance Buy Stop i);
    ObjectDelete (Trade Management EA: Wingding Buy Stop i);
    }
    }
    jeszcze
    {
    ObjectDelete (Trade Management EA: Ticket No Buy Stop i);
    ObjectDelete (Trade Management EA: Distance Buy Stop i);
    ObjectDelete (Trade Management EA: Wingding Buy Stop i);
    }

    double LineSellLimitPrice = NormalizeDouble (ObjectGet (Trade Management EA: Line Sell Limit i, OBJPROP_PRICE1), cyfry);
    if (LineSellLimitPrice! = 0)
    {
    ObjectMove (Trade Management EA: Line Sell Limit i, 0, TimeCurrent (), LineSellLimitPrice);
    ObjectMove (Trade Management EA: Line Sell Limit i, 1, Time [10], LineSellLimitPrice);
    ObjectMove (Trade Management EA: Limit biletów bez sprzedaży i, 0, Time [80], LineSellLimitPrice);
    //ObjectMove (Trade Management EA: Wingding Sell Limit i, 0, TimeCurrent (), LineSellLimitPrice);
    double SellLimitDistance = (LineSellLimitPodana cena)(Point);
    string SellLimitDistanceStr = DoubleToStr (SellLimitDistance, 0);
    ObjectSetText (Zarządzanie handlem EA: Limit sprzedaży odległości i, SellLimitDistanceStr, 13, Arial, PendingColour);
    ObjectMove (zarządzanie handlem EA: limit sprzedaży odległości i, 0, czas [10], LineSellLimitPrice);
    if ((LineSellLimitPrice-Bid) lt; (Point2))
    {
    SendSellMarketOrder (True);
    ObjectDelete (Trade Management EA: Line Sell Limit i);
    ObjectDelete (Trade Management EA: Ticket No Sell Limit i);
    ObjectDelete (Trade Management EA: Distance Sell Limit i);
    ObjectDelete (Trade Management EA: Wingding Sell Limit i);
    }
    }
    jeszcze
    {
    ObjectDelete (Trade Management EA: Ticket No Sell Limit i);
    ObjectDelete (Trade Management EA: Distance Sell Limit i);
    ObjectDelete (Trade Management EA: Wingding Sell Limit i);
    }
    double LineSellStopPrice = NormalizeDouble (ObjectGet (Trade Management EA: Line Sell Stop i, OBJPROP_PRICE1), cyfry);
    if (LineSellStopPrice! = 0)
    {
    ObjectMove (Trade Management EA: Line Sell Stop i, 0, TimeCurrent (), LineSellStopPrice);
    ObjectMove (Trade Management EA: Line Sell Stop i, 1, Time [10], LineSellStopPrice);
    ObjectMove (Trade Management EA: Ticket No Sell Stop i, 0, Time [80], LineSellStopPrice);
    //ObjectMove (Trade Management EA: Wingding Sell Stop i, 0, TimeCurrent (), LineSellStopPrice);
    double SellStopDistance = (Bid-LineSellStopPrice)(Point);
    string SellStopDistanceStr = DoubleToStr (SellStopDistance, 0);
    ObjectSetText (Trade Management EA: Distance Sell Stop i, SellStopDistanceStr, 13, Arial, PendingColour);
    ObjectMove (Trade Management EA: Distance Sell Stop i, 0, Time [10], LineSellStopPrice);
    if ((Bid-LineSellStopPrice) lt; (Point2))
    {
    SendSellMarketOrder (True);
    ObjectDelete (Trade Management EA: Line Sell Stop i);
    ObjectDelete (Trade Management EA: Ticket No Sell Stop i);
    ObjectDelete (Trade Management EA: Distance Sell Stop i);
    ObjectDelete (Trade Management EA: Wingding Sell Stop i);
    }
    }
    jeszcze
    {
    ObjectDelete (Trade Management EA: Ticket No Sell Stop i);
    ObjectDelete (Trade Management EA: Distance Sell Stop i);
    ObjectDelete (Trade Management EA: Wingding Sell Stop i);
    }
    }
    //--------- ORDER OBJECTS ------------------------------------- --------------------
    statyczne int SIObjectOrders;
    statyczne int SITradeObjectsFontSize;
    statyczne int SITradeWingDingFontSize;
    statyczne int SITradeObjectsXDistance;
    statyczny int SITradeObjectsYDistance;
    statyczny int SITradeObjectsYSpace;
    static int SIObjectStopOrders;

    bool InputsChanged = False;

    jeśli (FirstRun == Fałsz)
    {
    if (SIObjectOrders! = ObjectOrders)
    InputsChanged = True;
    if (SITradeObjectsFontSize! = TradeObjectsFontSize)
    InputsChanged = True;
    if (SITradeWingDingFontSize! = TradeWingDingFontSize)
    InputsChanged = True;
    if (SITradeObjects Distance! = TradeObjects Distance)
    InputsChanged = True;
    if (SITradeObjects Distance! = TradeObjects Distance)
    InputsChanged = True;
    if (SITradeObjectsYSpace! = TradeObjectsYSpace)
    InputsChanged = True;
    if (SIObjectStopOrders! = ObjectStopOrders)
    InputsChanged = True;
    }
    SIObjectOrders = ObjectOrders;
    SITradeObjectsFontSize = TradeObjectsFontSize;
    SITradeWingDingFontSize = TradeWingDingFontSize;
    SITradeObjectsXDistance = TradeObjectsXDistance;
    SITradeObjectsYDistance = TradeObjectsYDistance;
    SITradeObjectsYSpace = TradeObjectsYSpace;
    SIObjectStopOrders = ObjectStopZamówienia;

    if (SendMultipleOrderslt; = 0)
    SendMultipleOrders = 1;

    if (ObjectOrders == True)
    {
    if (FirstRun == FalseInputsChanged == False)
    {
    int BuyMarketX = ObjectGet (Trade Management EA: Buy Market, OBJPROP_XDISTANCE);
    int BuyMarketY = ObjectGet (Trade Management EA: Buy Market, OBJPROP_YDISTANCE);
    int BuyMarketPresent = ObjectFind (Trade Management EA: Buy Market);
    Jeśli(
    (DeleteOnly == Fałsz (BuyMarketX! = TradeObjectsXDistance || BuyMarketY! = TradeObjectsYDistance TradeObjectsFontSize TradeObjectsYSpace)) ||
    (DeleteOnly == TrueBuyMarketPresent! = 0)
    )
    {
    for (int k = 0; klt; SendMultipleOrders; k )
    SendBuyMarketOrder (False);
    ObjectDelete (Trade Management EA: Buy Market);
    }

    int CloseX = ObjectGet (Trade Management EA: Close, OBJPROP_XDISTANCE);
    int CloseY = ObjectGet (Trade Management EA: Close, OBJPROP_YDISTANCE);
    int ClosePresent = ObjectFind (Trade Management EA: Close);
    Jeśli(
    (DeleteOnly == False (CloseX! = TradeObjectsXDistance || CloseY! = TradeObjectsYDistance (TradeObjectsFontSize * 3) (TradeObjectsYSpace * 3))) |
    (DeleteOnly == TrueClosePresent! = 0)
    )
    {
    SendCloseOrder ();
    ObjectDelete (Trade Management EA: Close);
    }
    int SetBEX = ObjectGet (Trade Management EA: ustaw BE, OBJPROP_XDISTANCE);
    int SetBEY = ObjectGet (Trade Management EA: ustaw BE, OBJPROP_YDISTANCE);
    int SetBEPresent = ObjectFind (Trade Management EA: Set BE);
    Jeśli(
    (DeleteOnly == False (SetBEX! = TradeObjectsXDistance || SetBEY! = TradeObjectsYDistance (TradeObjectsFontSize * 4) (TradeObjectsYSpace * 4))) |
    (DeleteOnly == TrueSetBEPresent! = 0)
    )
    {
    SetBE ();
    ObjectDelete (Trade Management EA: Set BE);
    }
    int AutoBEX = ObjectGet (Trade Management EA: AutoBE, OBJPROP_XDISTANCE);
    int AutoBEY = ObjectGet (Trade Management EA: AutoBE, OBJPROP_YDISTANCE);
    int AutoBEPresent = ObjectFind (Trade Management EA: AutoBE);
    Jeśli(
    (DeleteOnly == Fałsz (AutoBEX! = TradeObjectsXDistance || AutoBEY! = TradeObjectsYDistance (TradeObjectsFontSize * 5) (TradeObjectsYSpace * 5))) ||
    (DeleteOnly == TrueAutoBEPresent! = 0)
    )
    {
    static int LastAutoBETime;
    if (TimeLocal () - LastAutoBETimegt; = 2)
    {
    jeśli (AutoBE == Prawda)
    AutoBE = False;
    jeszcze
    AutoBE = True;
    ObjectDelete (Trade Management EA: AutoBE);
    }
    LastAutoBETime = TimeLocal ();
    }
    int TrailX = ObjectGet (Trade Management EA: Trail, OBJPROP_XDISTANCE);
    int TrailY = ObjectGet (Trade Management EA: Trail, OBJPROP_YDISTANCE);
    int TrailPresent = ObjectFind (Trade Management EA: Trail);
    Jeśli(
    (DeleteOnly == False (TrailX! = TradeObjectsXDistance || TrailY! = TradeObjectsYDistance (TradeObjectsFontSize * 6) (TradeObjectsYSpace * 6))) |
    (DeleteOnly == TrueTrailPresent! = 0)
    )
    {
    statyczny int LastTrailTime;
    if (TimeLocal () - LastTrailTimegt; = 2)
    {
    jeśli (TrailActive == Prawda)
    {
    TrailActive = False;
    for (int l = 0; llt; OrdersTotal (); l )
    {
    OrderSelect (l, SELECT_BY_POS);
    if (OrderType () == 0)
    {
    ObjectMove (Trade Management EA: Line TP TicketNo, 0, OrderOpenTime (), Bid (Point * DefaultTP));
    ObjectMove (Trade Management EA: Line TP TicketNo, 1, Time [iBarShift (Symbol (), Okres (), OrderOpenTime ()) OrderLineLength], Bid (Point * DefaultTP));
    }
    if (OrderType () == 1)
    {
    ObjectMove (Trade Management EA: Line TP TicketNo, 0, OrderOpenTime (), Ask- (Point * DefaultTP));
    ObjectMove (Trade Management EA: Line TP TicketNo, 1, Time [iBarShift (Symbol (), Okres (), OrderOpenTime ()) OrderLineLength], Ask- (Point * DefaultTP));
    }
    }
    }
    jeszcze
    TrailActive = True;
    ObjectDelete (Trade Management EA: Trail);
    }
    LastTrailTime = TimeLocal ();
    }
    int SellMarketX = ObjectGet (Trade Management EA: Sell Market, OBJPROP_XDISTANCE);
    int SellMarketY = ObjectGet (Trade Management EA: Sell Market, OBJPROP_YDISTANCE);
    int SellMarketPresent = ObjectFind (Trade Management EA: Sell Market);
    Jeśli(
    (DeleteOnly == False (SellMarketX! = TradeObjectsXDistance || SellMarketY! = TradeObjectsYDistance (TradeObjectsFontSize * 8) (TradeObjectsYSpace * 8))) ||
    (DeleteOnly == TrueSellMarketPresent! = 0)
    )
    {
    dla (k = 0; klt; SendMultipleOrders; k )
    SendSellMarketOrder (False);
    ObjectDelete (Trade Management EA: Sell Market);
    }

    int BuyLimitX = ObjectGet (Trade Management EA: Buy Limit, OBJPROP_XDISTANCE);
    int BuyLimitY = ObjectGet (Trade Management EA: Buy Limit, OBJPROP_YDISTANCE);
    int BuyLimitPresent = ObjectFind (Trade Management EA: Buy Limit);
    Jeśli(
    (DeleteOnly == False (BuyLimitX! = TradeObjectsXDistance || BuyLimitY! = TradeObjectsYDistance (TradeObjectsFontSize * 2) (TradeObjectsYSpace * 2))) ||
    (DeleteOnly == TrueBuyLimitPresent! = 0)
    )
    {
    SendBuyLimitOrder ();
    ObjectDelete (Trade Management EA: Buy Limit);
    }
    int SellLimitX = ObjectGet (Trade Management EA: Sell Limit, OBJPROP_XDISTANCE);
    int SellLimitY = ObjectGet (Trade Management EA: Sell Limit, OBJPROP_YDISTANCE);
    int SellLimitPresent = ObjectFind (Trade Management EA: Sell Limit);
    Jeśli(
    (DeleteOnly == False (SellLimitX! = TradeObjectsXDistance || SellLimitY! = TradeObjectsYDistance (TradeObjectsFontSize * 7) (TradeObjectsYSpace * 7))) ||
    (DeleteOnly == TrueSellLimitPresent! = 0)
    )
    {
    SendSellLimitOrder ();
    ObjectDelete (Trade Management EA: Sell Limit);
    }
    if (ObjectStopOrders == True)
    {
    int BuyStopX = ObjectGet (Trade Management EA: Kup Stop, OBJPROP_XDISTANCE);
    int BuyStopY = ObjectGet (Trade Management EA: Kup Stop, OBJPROP_YDISTANCE);
    int BuyStopPresent = ObjectFind (Trade Management EA: Buy Stop);
    Jeśli(
    (DeleteOnly == False (BuyStopX! = TradeObjectsXDistance || BuyStopY! = TradeObjectsYDistance)) ||
    (DeleteOnly == TrueBuyStopPresent! = 0)
    )
    {
    SendBuyStopOrder ();
    ObjectDelete (Trade Management EA: Buy Stop);
    }
    int SellStopX = ObjectGet (Trade Management EA: Sell Stop, OBJPROP_XDISTANCE);
    int SellStopY = ObjectGet (Trade Management EA: Sell Stop, OBJPROP_YDISTANCE);
    int SellStopPresent = ObjectFind (Trade Management EA: Sell Stop);
    Jeśli(
    (DeleteOnly == False (SellStopX! = TradeObjectsXDistance || SellStopY! = TradeObjectsYDistance (TradeObjectsFontSize * 9) (TradeObjectsYSpace * 9))) ||
    (DeleteOnly == TrueSellStopPresent! = 0)
    )
    {
    SendSellStopOrder ();
    ObjectDelete (Trade Management EA: Sell Stop);
    }
    }
    }

    ObjectCreate (Trade Management EA: Buy Market, OBJ_LABEL, 0,0,0);
    ObjectSetText (Trade Management EA: Buy Market, CharToStr (WingdingObjectOrders), TradeWingDingFontSize, WingDings, BuyMarketColour);
    ObjectSet (Trade Management EA: Buy Market, OBJPROP_CORNER, 1);
    ObjectSet (Trade Management EA: Buy Market, OBJPROP_XDISTANCE, TradeObjectsXDistance);
    ObjectSet (Trade Management EA: Buy Market, OBJPROP_YDISTANCE, TradeObjectsYDistance TradeObjectsFontSize TradeObjectsYSpace);
    ObjectCreate (Trade Management EA: Buy Market Label, OBJ_LABEL, 0,0,0);
    ObjectSetText (Trade Management EA: Kupuj etykietę rynku, MARKET, TradeObjectsFontSize, Arial, BuyMarketColour);
    ObjectSet (Trade Management EA: Buy Market Label, OBJPROP_CORNER, 1);
    ObjectSet (Trade Management EA: Buy Market Label, OBJPROP_XDISTANCE, TradeObjectsXDistance TradeObjectsXSpace);
    ObjectSet (Trade Management EA: etykieta kupna rynku, OBJPROP_YDISTANCE, TradeObjectsYDistance TradeObjectsFontSize TradeObjectsYSpace TradeWingDingFontSize-TradeObjectsFontSize);
    ObjectCreate (Trade Management EA: Close, OBJ_LABEL, 0,0,0);
    ObjectSetText (Trade Management EA: Close, CharToStr (WingdingObjectOrders), TradeWingDingFontSize, WingDings, CloseColour);
    ObjectSet (Trade Management EA: Close, OBJPROP_CORNER, 1);
    ObjectSet (Trade Management EA: Close, OBJPROP_XDISTANCE, TradeObjectsXDistance);
    ObjectSet (Trade Management EA: Close, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 3) (TradeObjectsYSpace * 3));
    ObjectCreate (Trade Management EA: Close Label, OBJ_LABEL, 0,0,0);
    ObjectSetText (Trade Management EA: Close Label, CLOSE, TradeObjectsFontSize, Arial, CloseColour);
    ObjectSet (Trade Management EA: Close Label, OBJPROP_CORNER, 1);
    ObjectSet (Trade Management EA: Close Label, OBJPROP_XDISTANCE, TradeObjectsXDistance TradeObjectsXSpace);
    ObjectSet (Trade Management EA: Close Label, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 3) (TradeObjectsYSpace * 3) TradeWingDingFontSize-TradeObjectsFontSize);

    ObjectCreate (Trade Management EA: Ustaw BE, OBJ_LABEL, 0,0,0);
    ObjectSetText (Trade Management EA: Ustaw BE, CharToStr (WingdingObjectOrders), TradeWingDingFontSize, WingDings, CloseColour);
    ObjectSet (Trade Management EA: Set BE, OBJPROP_CORNER, 1);
    ObjectSet (Trade Management EA: Ustaw BE, OBJPROP_XDISTANCE, TradeObjectsXDistance);
    ObjectSet (Trade Management EA: Ustaw BE, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 4) (TradeObjectsYSpace * 4));
    ObjectCreate (Trade Management EA: Ustaw BE Label, OBJ_LABEL, 0,0,0);
    ObjectSetText (Trade Management EA: Ustaw BE Label, SET BE, TradeObjectsFontSize, Arial, CloseColour);
    ObjectSet (Trade Management EA: Set BE Label, OBJPROP_CORNER, 1);
    ObjectSet (Trade Management EA: Ustaw BE Label, OBJPROP_XDISTANCE, TradeObjectsXDistance TradeObjectsXSpace);
    ObjectSet (Trade Management EA: Set BE Label, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 4) (TradeObjectsYSpace * 4) TradeWingDingFontSize-TradeObjectsFontSize);
    jeśli (AutoBE == Prawda)
    int AutoBEWingDing = 252;
    jeszcze
    AutoBEWingDing = WingdingObjectOrders;

    ObjectCreate (Trade Management EA: AutoBE, OBJ_LABEL, 0,0,0);
    ObjectSetText (Trade Management EA: AutoBE, CharToStr (AutoBEWingDing), TradeWingDingFontSize, WingDings, CloseColour);
    ObjectSet (Trade Management EA: AutoBE, OBJPROP_CORNER, 1);
    ObjectSet (Trade Management EA: AutoBE, OBJPROP_XDISTANCE, TradeObjectsXDistance);
    ObjectSet (Trade Management EA: AutoBE, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 5) (TradeObjectsYSpace * 5));
    ObjectCreate (Trade Management EA: AutoBE Label, OBJ_LABEL, 0,0,0);
    ObjectSetText (Trade Management EA: AutoBE Label, AUTO BE, TradeObjectsFontSize, Arial, CloseColour);
    ObjectSet (Trade Management EA: AutoBE Label, OBJPROP_CORNER, 1);
    ObjectSet (Trade Management EA: AutoBE Label, OBJPROP_XDISTANCE, TradeObjectsXDistance TradeObjectsXSpace);
    ObjectSet (Trade Management EA: AutoBE Label, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 5) (TradeObjectsYSpace * 5) TradeWingDingFontSize-TradeObjectsFontSize);
    jeśli (TrailActive == Prawda)
    int TrailWingDing = 252;
    jeszcze
    TrailWingDing = WingdingObjectOrders;

    ObjectCreate (Trade Management EA: Trail, OBJ_LABEL, 0,0,0);
    ObjectSetText (Trade Management EA: Trail, CharToStr (TrailWingDing), TradeWingDingFontSize, WingDings, CloseColour);
    ObjectSet (Trade Management EA: Trail, OBJPROP_CORNER, 1);
    ObjectSet (Trade Management EA: Trail, OBJPROP_XDISTANCE, TradeObjectsXDistance);
    ObjectSet (Trade Management EA: Trail, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 6) (TradeObjectsYSpace * 6));
    ObjectCreate (Trade Management EA: Trail Label, OBJ_LABEL, 0,0,0);
    ObjectSetText (Trade Management EA: Trail Label, TRAIL, TradeObjectsFontSize, Arial, CloseColour);
    ObjectSet (Trade Management EA: Trail Label, OBJPROP_CORNER, 1);
    ObjectSet (Trade Management EA: Trail Label, OBJPROP_XDISTANCE, TradeObjectsXDistance TradeObjectsXSpace);
    ObjectSet (Trade Management EA: Trail Label, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 6) (TradeObjectsYSpace * 6) TradeWingDingFontSize-TradeObjectsFontSize);
    ObjectCreate (Trade Management EA: Sell Market, OBJ_LABEL, 0,0,0);
    ObjectSetText (Trade Management EA: Sell Market, CharToStr (WingdingObjectOrders), TradeWingDingFontSize, WingDings, SellMarketColour);
    ObjectSet (Trade Management EA: Sell Market, OBJPROP_CORNER, 1);
    ObjectSet (Trade Management EA: Sell Market, OBJPROP_XDISTANCE, TradeObjectsXDistance);
    ObjectSet (Trade Management EA: Sell Market, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 8) (TradeObjectsYSpace * 8));

    ObjectCreate (Trade Management EA: Sell Market Label, OBJ_LABEL, 0,0,0);
    ObjectSetText (Trade Management EA: Label Market, MARKET, TradeObjectsFontSize, Arial, SellMarketColour);
    ObjectSet (Trade Management EA: Sell Market Label, OBJPROP_CORNER, 1);
    ObjectSet (Trade Management EA: Sell Market Label, OBJPROP_XDISTANCE, TradeObjectsXDistance TradeObjectsXSpace);
    ObjectSet (Trade Management EA: Label Market Sell, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 8) (TradeObjectsYSpace * 8) TradeWingDingFontSize-TradeObjectsFontSize);
    ObjectCreate (Trade Management EA: Buy Limit, OBJ_LABEL, 0,0,0);
    ObjectSetText (Trade Management EA: Buy Limit, CharToStr (WingdingObjectOrders), TradeWingDingFontSize, WingDings, BuyLimitColour);
    ObjectSet (Trade Management EA: Buy Limit, OBJPROP_CORNER, 1);
    ObjectSet (Trade Management EA: Buy Limit, OBJPROP_XDISTANCE, TradeObjectsXDistance);
    ObjectSet (Trade Management EA: Kup limit, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 2) (TradeObjectsYSpace * 2));
    ObjectCreate (Trade Management EA: Buy Limit Label, OBJ_LABEL, 0,0,0);
    ObjectSetText (Trade Management EA: Buy Limit Label, LIMIT, TradeObjectsFontSize, Arial, BuyLimitColour);
    ObjectSet (Trade Management EA: Buy Limit Label, OBJPROP_CORNER, 1);
    ObjectSet (Trade Management EA: Buy Limit Label, OBJPROP_XDISTANCE, TradeObjectsXDistance TradeObjectsXSpace);
    ObjectSet (Trade Management EA: Etykieta Buy Limit, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 2) (TradeObjectsYSpace * 2) TradeWingDingFontSize-TradeObjectsFontSize);
    ObjectCreate (Trade Management EA: Sell Limit, OBJ_LABEL, 0,0,0);
    ObjectSetText (Trade Management EA: Sell Limit, CharToStr (WingdingObjectOrders), TradeWingDingFontSize, WingDings, SellLimitColour);
    ObjectSet (Trade Management EA: Sell Limit, OBJPROP_CORNER, 1);
    ObjectSet (Trade Management EA: Sell Limit, OBJPROP_XDISTANCE, TradeObjectsXDistance);
    ObjectSet (Trade Management EA: Sell Limit, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 7) (TradeObjectsYSpace * 7));

    ObjectCreate (Trade Management EA: Sell Limit Label, OBJ_LABEL, 0,0,0);
    ObjectSetText (zarządzanie handlem EA: etykieta Sell Limit, LIMIT, TradeObjectsFontSize, Arial, SellLimitColour);
    ObjectSet (Trade Management EA: Sell Limit Label, OBJPROP_CORNER, 1);
    ObjectSet (Trade Management EA: etykieta Sell Limit, OBJPROP_XDISTANCE, TradeObjectsXDistance TradeObjectsXSpace);
    ObjectSet (Trade Management EA: Label Limit Sell, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 7) (TradeObjectsYSpace * 7) TradeWingDingFontSize-TradeObjectsFontSize);
    if (ObjectStopOrders == True)
    {
    ObjectCreate (Trade Management EA: Kup Stop, OBJ_LABEL, 0,0,0);
    ObjectSetText (Trade Management EA: Buy Stop, CharToStr (WingdingObjectOrders), TradeWingDingFontSize, WingDings, BuyStopColour);
    ObjectSet (Trade Management EA: Buy Stop, OBJPROP_CORNER, 1);
    ObjectSet (Trade Management EA: Kup Stop, OBJPROP_XDISTANCE, TradeObjectsXDistance);
    ObjectSet (Trade Management EA: Kup Stop, OBJPROP_YDISTANCE, TradeObjectsYDistance);
    ObjectCreate (Trade Management EA: Buy Stop Label, OBJ_LABEL, 0,0,0);
    ObjectSetText (Trade Management EA: Kup etykietę Stop, STOP, TradeObjectsFontSize, Arial, BuyStopColour);
    ObjectSet (Trade Management EA: Buy Stop Label, OBJPROP_CORNER, 1);
    ObjectSet (Trade Management EA: Buy Stop Label, OBJPROP_XDISTANCE, TradeObjectsXDistance TradeObjectsXSpace);
    ObjectSet (Trade Management EA: Buy Stop Label, OBJPROP_YDISTANCE, TradeObjectsYDistance TradeWingDingFontSize-TradeObjectsFontSize);
    ObjectCreate (Trade Management EA: Sell Stop, OBJ_LABEL, 0,0,0);
    ObjectSetText (Trade Management EA: Sell Stop, CharToStr (WingdingObjectOrders), TradeWingDingFontSize, WingDings, SellStopColour);
    ObjectSet (Trade Management EA: Sell Stop, OBJPROP_CORNER, 1);
    ObjectSet (Trade Management EA: Sell Stop, OBJPROP_XDISTANCE, TradeObjectsXDistance);
    ObjectSet (Trade Management EA: Sell Stop, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 9) (TradeObjectsYSpace * 9));

    ObjectCreate (Trade Management EA: Sell Stop Label, OBJ_LABEL, 0,0,0);
    ObjectSetText (Trade Management EA: Sell Stop Label, STOP, TradeObjectsFontSize, Arial, SellStopColour);
    ObjectSet (Trade Management EA: Sell Stop Label, OBJPROP_CORNER, 1);
    ObjectSet (Trade Management EA: Sell Stop Label, OBJPROP_XDISTANCE, TradeObjectsXDistance TradeObjectsXSpace);
    ObjectSet (Trade Management EA: Sell Stop Label, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 9) (TradeObjectsYSpace * 9) TradeWingDingFontSize-TradeObjectsFontSize);
    }
    jeszcze
    {
    ObjectDelete (Trade Management EA: Buy Stop);
    ObjectDelete (Trade Management EA: Buy Stop Label);
    ObjectDelete (Trade Management EA: Sell Stop);
    ObjectDelete (Trade Management EA: Sell Stop Label);
    }

    FirstRun = False;
    }
    jeszcze
    {
    ObjectDelete (Trade Management EA: Buy Market);
    ObjectDelete (Trade Management EA: Buy Limit);
    ObjectDelete (Trade Management EA: Buy Stop);
    ObjectDelete (Trade Management EA: Close);
    ObjectDelete (Trade Management EA: Set BE);
    ObjectDelete (Trade Management EA: AutoBE);
    ObjectDelete (Trade Management EA: Trail);
    ObjectDelete (Trade Management EA: Sell Market);
    ObjectDelete (Trade Management EA: Sell Limit);
    ObjectDelete (Trade Management EA: Sell Stop);

    ObjectDelete (Trade Management EA: etykieta kupna rynku);
    ObjectDelete (Trade Management EA: Buy Limit Label);
    ObjectDelete (Trade Management EA: Buy Stop Label);
    ObjectDelete (Trade Management EA: Close Label);
    ObjectDelete (Trade Management EA: Set BE Label);
    ObjectDelete (Trade Management EA: AutoBE Label);
    ObjectDelete (Trade Management EA: Trail Label);
    ObjectDelete (Trade Management EA: Sell Market Label);
    ObjectDelete (Trade Management EA: Sell Limit Label);
    ObjectDelete (Trade Management EA: Sell Stop Label);
    }

    //--------- ZACHOWAJ SESJĘ ------------------------------------- --------------------

    static int NextModifyTime;

    if (MaintainSession == TrueTimeLocal () gt; NextModifyTime)
    {

    i = 0;
    while (IsTradeContextBusy () == Prawda)
    {
    Sen (100);
    i ;
    if (igt; 100)
    return (0);
    }

    bool IsOrderPresent = FALSE;
    for (i = 0; ilt; OrdersTotal (); i )
    {
    OrderSelect (i, SELECT_BY_POS);
    if (OrderMagicNumber () == MyMagicNumber)
    IsOrderPresent = TRUE;
    }

    if (IsOrderPresent == FALSE)
    {
    if (OrderSend (Symbol (), OP_BUYLIMIT, MarketInfo (Symbol (), MODE_MINLOT), Point, 0,0,0,0, MyMagicNumber, 0) lt; 0)
    {
    string ErrorString = ErrorDescription (GetLastError ());
    Komentarz (ZACHOWAJ SESJĘ SESJI OTWARTE NIE POWIODŁO SIĘ. POWÓD:, ErrorString);
    Drukuj (ZACHOWAJ ZAMÓWIENIE SESJI OTWARTE NIE POWIODŁO SIĘ. POWÓD:, ErrorString);
    return (0);
    }
    }

    for (i = 0; ilt; OrdersTotal (); i )
    {
    OrderSelect (i, SELECT_BY_POS);
    if (OrderMagicNumber () == MyMagicNumber)
    {
    if (OrderTakeProfit ()! = 0)
    double TPPrice = 0;
    if (OrderTakeProfit () == 0)
    TPPrice = (punkt * 100000);
    int ms1 = GetTickCount ();
    if (OrderModify (OrderTicket (), OrderOpenPrice (), 0, TPPrice, 0) == Fałsz)
    {
    ErrorString = ErrorDescription (GetLastError ());
    Komentarz (ZMIEŃ MODYFIKACJĘ SESJI GŁÓWNEJ NIE POWINIEN.
    Drukuj (ZMIEŃ MODYFIKACJĘ SESJI GŁÓWNEJ NIE POWINIEN.
    }
    jeszcze
    {
    if (RunInfiniteLoop == True)
    int Czas trwania = 28;
    jeszcze
    Czas trwania = 25;
    NextModifyTime = TimeLocal () czas trwania;
    int ms2 = GetTickCount ();
    int ExeTime = ms2-ms1;
    Drukuj (CZAS WYKONANIA SESJI GŁÓWNEJ:, ExeTime);
    }
    }
    }
    }
    WindowRedraw ();
    if (RunInfiniteLoop == True)
    Sleep (RunIntervalMS);
    jeszcze
    złamać;
    }
    return (0);
    }

    bool RunClose (int TicketNumber, double ClickedPrice, double CloseLots, string MyComment)
    {
    while (IsTradeContextBusy () == Prawda)
    {
    Komentarz (URUCHOM ZAMKNIĘCIE: CZEKANIE NA KONTEKST HANDLOWY W CELU ZATRZYMANIA)
    Sen (10);
    int i; i ;
    jeśli (igt; 500)
    {
    Komentarz (RUN CLOSE: TRADE CONTEXT TIMEOUT);
    PlaySound (timeout.wav);
    return (False);
    }
    }

    RefreshRates ();
    Komentarz (RUN CLOSE: CLOSING POSITION);

    int ms1 = GetTickCount ();
    string ClickedTime = TimeToStr (TimeCurrent (), TIME_SECONDS);
    doubleClick Bid = Bid;
    double ClickedAsk = Zapytaj;
    OrderSelect (TicketNumber, SELECT_BY_TICKET);
    if (OrderClose (TicketNumber, CloseLots, OrderClosePrice (), 100) == TRUE)
    {
    int ms2 = GetTickCount ();

    OrderSelect (TicketNumber, SELECT_BY_TICKET);

    string CloseTimeDMY = StringSubstr (TimeToStr (OrderCloseTime (), TIME_DATE), 8,2) - StringSubstr (TimeToStr (OrderCloseTime (), TIME_DATE), 5,2) - StringSubstr (TimeToStr (OrderCloseTime (), TIME_DATE), 0,4);
    string CloseTimeHMS = TimeToStr (OrderCloseTime (), TIME_SECONDS);
    double ExeTime = ms2-ms1;
    przełącznik (OrderType ())
    {
    case 0: string Direction = SELL; double Slippage = (OrderClosePrice () - ClickedPrice)(Point * 10); break;
    case 1: Direction = BUY; Slippage = (ClickedPrice-OrderClosePrice ())(Point * 10);
    }
    Drukuj (SLIPPAGE:, Slippage);
    Drukuj (CZAS WYKONANIA:, ExeTime);

    int Handle = FileOpen (Execution Loga.csv, FILE_READ | FILE_WRITE);
    FileClose (uchwyt);
    FileDelete (dziennik wykonaniaa.csv);

    string nazwa_pliku = dziennik wykonania numer_liczenia () EXECUTION LOG.csv;
    Handle = FileOpen (FileName, FILE_CSV | FILE_READ | FILE_WRITE, ',');
    jeśli (Handlegt; 0)
    {
    FileSeek (Handle, 0, SEEK_END);
    FileWrite (Uchwyt, AccountNumber (), TicketNumber, CloseTimeDMY, CloseTimeHMS, OrderSymbol (), MyComment, Direction, OrderLots (), ClickedTime, ClickedBid, ClickedAsk, ClickedPrice, OrderClosePrice (), Slippage, ExeTime);
    FileClose (uchwyt);
    PlaySound (ok.wav);
    Komentarz();
    }
    jeszcze
    {
    PlaySound (timeout.wav);
    string ErrorString = ErrorDescription (GetLastError ());
    Komentarz (RUN CLOSE: FILE OPEN FAILED. REASON:, ErrorString);
    Drukuj (FILE OPEN FAILED. REASON:, ErrorString);
    }
    }
    jeszcze
    {
    PlaySound (timeout.wav);
    ErrorString = ErrorDescription (GetLastError ());
    Komentarz (RUN CLOSE: ORDER CLOSE FAILED. REASON:, ErrorString);
    Drukuj (ZAMKNIJ ZAMKNIĘCIE NIE POWIODŁO SIĘ: POWÓD:, ErrorString);
    return (False);
    }
    return (True);
    }

    int SendBuyMarketOrder (bool HiddenPending)
    {
    if (SendMultipleOrders == 1)
    {
    statyczny int LastBuyMarketTime;
    if (TimeLocal () - LastBuyMarketTimelt; = 2)
    return (0);
    LastBuyMarketTime = TimeLocal ();
    }
    if (SendMultipleOrdersgt; 1)
    ShowConfirm = True;

    Lots = CalculateLots ();
    if (ShowConfirm == TrueHiddenPending == False)
    {
    int MessageBoxResult = MessageBox (Kup Symbol () DoubleToStr (Partie, 2) wiele na rynku?
    if (MessageBoxResult! = 6)
    return (0);
    }
    RefreshRates ();
    int TicketNumber = OrderSend (Symbol (), OP_BUY, Lots, Ask, 0,0,0);
    if (TicketNumbergt; 0)
    PlaySound (ok.wav);
    jeszcze
    {
    PlaySound (timeout.wav);
    string ErrorString = ErrorDescription (GetLastError ());
    Komentarz (KUPUJ ZAMÓWIENIE RYNKU NIE POWIODŁO SIĘ. POWÓD:, ErrorString);
    Drukuj (KUPUJ ZAMÓWIENIE RYNKU NIE POWIODŁO SIĘ. POWÓD:, ErrorString);
    }
    return (0);
    }

    int SendBuyLimitOrder ()
    {
    statyczny int LastBuyLimitTime;
    if (TimeLocal () - LastBuyLimitTimelt; = 2)
    return (0);
    LastBuyLimitTime = TimeLocal ();

    for (int i = 0; ilt; 10; i )
    {
    if (ObjectFind (Trade Management EA: Line Buy Limit i) == - 1)
    {
    int j = i;
    złamać;
    }
    }

    if (UseWingDings == False)
    {
    ObjectCreate (Trade Management EA: Line Buy Limit j, OBJ_HLINE, 0, TimeCurrent (), Ask- (DistancePendingOrder * Point));
    ObjectSet (Trade Management EA: Line Buy Limit j, OBJPROP_COLOR, PendingColour);
    ObjectSet (Trade Management EA: Line Buy Limit j, OBJPROP_STYLE, LineStyleEntry);
    double LineBuyLimitPrice = NormalizeDouble (ObjectGet (Trade Management EA: Limit zakupu linii j, OBJPROP_PRICE1), cyfry);
    ObjectCreate (Trade Management EA: Ticket No Buy Limit j, OBJ_TEXT, 0, Time [80], LineBuyLimitPrice);
    ObjectSetText (Trade Management EA: Limit biletów bez kupowania j, Kup limit, 10, Arial, PendingColour);
    }
    jeszcze
    {
    ObjectCreate (Trade Management EA: Limit zakupów liniowych j, OBJ_TREND, 0, CurrentCurrent (), Ask- (DistancePendingOrder * Point), Time [10], Ask- (DistancePendingOrder * Point));
    ObjectSet (Trade Management EA: Line Buy Limit j, OBJPROP_WIDTH, OrderLineThickness);
    ObjectSet (Trade Management EA: Line Buy Limit j, OBJPROP_COLOR, PendingColour);
    ObjectSet (Trade Management EA: Line Buy Limit j, OBJPROP_RAY, False);
    LineBuyLimitPrice = NormalizeDouble (ObjectGet (Trade Management EA: Limit zakupów liniowych j, OBJPROP_PRICE1), cyfry);
    //ObjectCreate (Trade Management EA: Wingding Buy Limit j, OBJ_TEXT, 0, TimeCurrent (), LineBuyLimitPrice);
    //ObjectSetText (Trade Management EA: Wingding Buy Limit j, CharToStr (Wingding), 10, WingDings, PendingColour);
    }
    double BuyLimitDistance = (Ask-LineBuyLimitPrice)(Point);
    string BuyLimitDistanceStr = DoubleToStr (BuyLimitDistance, 0);
    ObjectCreate (Trade Management EA: Limit zakupów odległości j, OBJ_TEXT, 0, Time [10], LineBuyLimitPrice);
    ObjectSetText (Trade Management EA: Limit zakupów odległości j, BuyLimitDistanceStr, 13, Arial, PendingColour);
    return (0);
    }
    int SendBuyStopOrder ()
    {
    statyczny int LastBuyStopTime;
    if (TimeLocal () - LastBuyStopTimelt; = 2)
    return (0);
    LastBuyStopTime = TimeLocal ();
    for (int i = 0; ilt; 10; i )
    {
    if (ObjectFind (Trade Management EA: Line Buy Stop i) == - 1)
    {
    int j = i;
    złamać;
    }
    }
    if (UseWingDings == False)
    {
    ObjectCreate (Trade Management EA: Line Buy Stop j, OBJ_HLINE, 0, TimeCurrent (), Ask (DistancePendingOrder * Point));
    ObjectSet (Trade Management EA: Line Buy Stop j, OBJPROP_COLOR, PendingColour);
    ObjectSet (Trade Management EA: Line Buy Stop j, OBJPROP_STYLE, LineStyleEntry);
    double LineBuyStopPrice = NormalizeDouble (ObjectGet (Trade Management EA: Stop Buy Line j, OBJPROP_PRICE1), Cyfry);
    ObjectCreate (Trade Management EA: Ticket No Buy Stop j, OBJ_TEXT, 0, Time [80], LineBuyStopPrice);
    ObjectSetText (Trade Management EA: Ticket No Buy Stop j, Buy Stop, 10, Arial, PendingColour);
    }
    jeszcze
    {
    ObjectCreate (Trade Management EA: Line Buy Stop j, OBJ_TREND, 0, TimeCurrent (), Ask (DistancePendingOrder * Point), Time [10], Ask (DistancePendingOrder * Point));
    ObjectSet (Trade Management EA: Line Buy Stop j, OBJPROP_WIDTH, OrderLineThickness);
    ObjectSet (Trade Management EA: Line Buy Stop j, OBJPROP_COLOR, PendingColour);
    ObjectSet (Trade Management EA: Line Buy Stop j, OBJPROP_RAY, False);
    LineBuyStopPrice = NormalizeDouble (ObjectGet (Trade Management EA: Stop Buy Line j, OBJPROP_PRICE1), cyfry);
    //ObjectCreate (Trade Management EA: Wingding Buy Stop j, OBJ_TEXT, 0, TimeCurrent (), LineBuyStopPrice);
    //ObjectSetText (Trade Management EA: Wingding Buy Stop j, CharToStr (Wingding), 10, WingDings, PendingColour);
    }
    double BuyStopDistance = (LineBuyStopPrice-Ask)(Point);
    string BuyStopDistanceStr = DoubleToStr (BuyStopDistance, 0);
    ObjectCreate (Trade Management EA: Stop Buy Stop j, OBJ_TEXT, 0, Time [10], LineBuyStopPrice);
    ObjectSetText (Trade Management EA: Distance Buy Stop j, BuyStopDistanceStr, 13, Arial, PendingColour);
    return (0);
    }

    int SendSellMarketOrder (bool HiddenPending)
    {
    if (SendMultipleOrders == 1)
    {
    statyczny int LastSellMarketTime;
    if (TimeLocal () - LastSellMarketTimelt; = 2)
    return (0);
    LastSellMarketTime = TimeLocal ();
    }
    if (SendMultipleOrdersgt; 1)
    ShowConfirm = True;
    Lots = CalculateLots ();
    if (ShowConfirm == TrueHiddenPending == False)
    {
    int MessageBoxResult = MessageBox (Sprzedaj Symbol () DoubleToStr (Partie, 2) działki na rynku? ,, 0x00000004 | 0x00000030);
    if (MessageBoxResult! = 6)
    return (0);
    }
    RefreshRates ();
    int TicketNumber = OrderSend (Symbol (), OP_SELL, Lots, Bid, 0,0,0);
    if (TicketNumbergt; 0)
    PlaySound (ok.wav);
    jeszcze
    {
    PlaySound (timeout.wav);
    string ErrorString = ErrorDescription (GetLastError ());
    Komentarz (SELL MARKET ORDER FAILED. REASON:, ErrorString);
    Drukuj (SELL MARKET ORDER FAILED. REASON:, ErrorString);
    }
    return (0);
    }
    int SendSellLimitOrder ()
    {
    static int LastSellLimitTime;
    if (TimeLocal () - LastSellLimitTimelt; = 2)
    return (0);
    LastSellLimitTime = TimeLocal ();
    for (int i = 0; ilt; 10; i )
    {
    if (ObjectFind (Trade Management EA: Line Sell Limit i) == - 1)
    {
    int j = i;
    złamać;
    }
    }
    if (UseWingDings == False)
    {
    ObjectCreate (Trade Management EA: Line Sell Limit j, OBJ_HLINE, 0, TimeCurrent (), Bid (DistancePendingOrder * Point));
    ObjectSet (Trade Management EA: Line Sell Limit j, OBJPROP_COLOR, PendingColour);
    ObjectSet (Trade Management EA: Line Sell Limit j, OBJPROP_STYLE, LineStyleEntry);
    double LineSellLimitPrice = NormalizeDouble (ObjectGet (Trade Management EA: Limit sprzedaży linii j, OBJPROP_PRICE1), cyfry);
    ObjectCreate (Trade Management EA: Limit biletów bez sprzedaży j, OBJ_TEXT, 0, Time [80], LineSellLimitPrice);
    ObjectSetText (Trade Management EA: Limit biletów bez sprzedaży j, Limit sprzedaży, 10, Arial, PendingColour);
    }
    jeszcze
    {
    ObjectCreate (Trade Management EA: Line Sell Limit j, OBJ_TREND, 0, TimeCurrent (), Bid (DistancePendingOrder * Point), Time [10], Bid (DistancePendingOrder * Point));
    ObjectSet (Trade Management EA: Line Sell Limit j, OBJPROP_WIDTH, OrderLineThickness);
    ObjectSet (Trade Management EA: Line Sell Limit j, OBJPROP_COLOR, PendingColour);
    ObjectSet (Trade Management EA: Line Sell Limit j, OBJPROP_RAY, False);
    LineSellLimitPrice = NormalizeDouble (ObjectGet (Trade Management EA: Limit sprzedaży linii j, OBJPROP_PRICE1), cyfry);
    //ObjectCreate (Trade Management EA: Wingding Sell Limit j, OBJ_TEXT, 0, TimeCurrent (), LineSellLimitPrice);
    //ObjectSetText (Trade Management EA: Limit sprzedaży skrzydeł j, CharToStr (Wingding), 10, WingDings, PendingColour);
    }
    double SellLimitDistance = (LineSellLimitPodana cena)(Point);
    string SellLimitDistanceStr = DoubleToStr (SellLimitDistance, 0);
    ObjectCreate (Trade Management EA: limit sprzedaży odległości j, OBJ_TEXT, 0, Time [10], LineSellLimitPrice);
    ObjectSetText (Trade Management EA: Limit sprzedaży odległości j, SellLimitDistanceStr, 13, Arial, PendingColour);
    return (0);
    }

    int SendSellStopOrder ()
    {
    static int LastSellStopTime;
    if (TimeLocal () - LastSellStopTimelt; = 2)
    return (0);
    LastSellStopTime = TimeLocal ();
    for (int i = 0; ilt; 10; i )
    {
    if (ObjectFind (Trade Management EA: Line Sell Stop i) == - 1)
    {
    int j = i;
    złamać;
    }
    }
    if (UseWingDings == False)
    {
    ObjectCreate (Trade Management EA: Line Sell Stop j, OBJ_HLINE, 0, TimeCurrent (), Bid- (DistancePendingOrder * Point));
    ObjectSet (Trade Management EA: Line Sell Stop j, OBJPROP_COLOR, PendingColour);
    ObjectSet (Trade Management EA: Line Sell Stop j, OBJPROP_STYLE, LineStyleEntry);
    double LineSellStopPrice = NormalizeDouble (ObjectGet (Trade Management EA: Stop Sell Line j, OBJPROP_PRICE1), Cyfry);
    ObjectCreate (Trade Management EA: Ticket No Sell Stop j, OBJ_TEXT, 0, Time [80], LineSellStopPrice);
    ObjectSetText (Trade Management EA: Ticket No Sell Stop j, Sell Stop, 10, Arial, PendingColour);
    }
    jeszcze
    {
    ObjectCreate (Trade Management EA: Line Sell Stop j, OBJ_TREND, 0, TimeCurrent (), Bid- (DistancePendingOrder * Point), Time [10], Bid- (DistancePendingOrder * Point));
    ObjectSet (Trade Management EA: Line Sell Stop j, OBJPROP_WIDTH, OrderLineThickness);
    ObjectSet (Trade Management EA: Line Sell Stop j, OBJPROP_COLOR, PendingColour);
    ObjectSet (Trade Management EA: Line Sell Stop j, OBJPROP_RAY, False);
    LineSellStopPrice = NormalizeDouble (ObjectGet (Trade Management EA: Stop Sell Line j, OBJPROP_PRICE1), cyfry);
    //ObjectCreate (Trade Management EA: Wingding Sell Stop j, OBJ_TEXT, 0, TimeCurrent (), LineSellStopPrice);
    //ObjectSetText (Trade Management EA: Wingding Sell Stop j, CharToStr (Wingding), 10, WingDings, PendingColour);
    }
    double SellStopDistance = (Bid-LineSellStopPrice)(Point);
    string SellStopDistanceStr = DoubleToStr (SellStopDistance, 0);
    ObjectCreate (Trade Management EA: Distance Sell Stop j, OBJ_TEXT, 0, Time [10], LineSellStopPrice);
    ObjectSetText (Trade Management EA: Distance Sell Stop j, SellStopDistanceStr, 13, Arial, PendingColour);
    return (0);
    }
    int SendCloseOrder ()
    {
    statyczny int LastCloseMarketTime;
    if (TimeLocal () - LastCloseMarketTimelt; = 2)
    return (0);
    LastCloseMarketTime = TimeLocal ();
    if (ShowConfirm == True)
    {
    int MessageBoxResult = MessageBox (Zamknij wszystkie Symbol () transakcje na rynku? ,, 0x00000004 | 0x00000030);
    if (MessageBoxResult! = 6)
    return (0);
    }
    RefreshRates ();
    for (int i = OrdersTotal () - 1; igt; = 0; i--)
    {
    OrderSelect (i, SELECT_BY_POS);
    if (OrderSymbol () == Symbol () OrderType () lt; = 1)
    {
    if (OrderClose (OrderTicket (), OrderLots (), OrderClosePrice (), 100) == Prawda)
    PlaySound (ok.wav);
    jeszcze
    {
    PlaySound (timeout.wav);
    string ErrorString = ErrorDescription (GetLastError ());
    Comment (CLOSE ORDER FAILED. REASON:, ErrorString);
    Print (CLOSE ORDER FAILED. REASON:, ErrorString);
    }
    }
    }
    return (0);
    }
    int SetBE ()
    {
    for (int i = OrdersTotal () - 1; igt; = 0; i--)
    {
    OrderSelect (i, SELECT_BY_POS);
    if (OrderSymbol () == Symbol () OrderType () lt; = 1)
    {
    int TicketNo = OrderTicket ();
    jeśli (OrderProfit () gt; 0)
    ObjectMove (Trade Management EA: Line SL TicketNo, 0, OrderOpenTime (), OrderOpenPrice ());
    }
    }
    }

    double CalculateLots ()
    {
    RefreshRates ();
    double LotPoint = MarketInfo (Symbol (), MODE_LOTSTEP);
    jeśli (Partie == 0)
    Partie = (MathFloor (((AccountEquity () * RiskPercent * 0.01)((DefaultSL * MarketInfo (Symbol (), MODE_TICKVALUE)) CommissionPerLot))LotPoint)) * LotPoint;
    powrót (Partie);
    }

    Oto funkcje, które sprawiają problemy i wymagają pewnych zmian:
    1. EA nie oblicza ryzyka we właściwy sposób (spróbuj sam). Dlatego muszę obliczyć ryzyko każdej transakcji dla siebie, co kosztuje mnie dość dużo czasu (zarządzam 20 wykresami jednocześnie) .
    2. Gdy EA uda się do Auto-BE po określonej ilości pipsów, chciałbym mieć alarm, gdy to nastąpi.
    3. Gdy EA uda się do Auto-BE po określonej ilości pipsów, chciałbym mieć możliwość powrotu do funkcji TRAIL i dlatego Auto-BE nie jest już ważny dla tej transakcji. LOSS powinien powrócić do oryginalnego Stop-LOSS przed rozpoczęciem AUTO-BE.
    4. W tym momencie mogę po prostu ustawić 1 Close -Profit-line w Percent (powiedzmy 50% handlu) na 1 pozycję. Ale chciałbym mieć możliwość ustawienia więcej niż 1 linii Close-Profit.
    5. EA powinien działać w pożądanym przedziale czasowym wykresu offline = 8 H



    Chciałbym teraz udostępnić Kodeks wszystkim, aby moi niektórzy Coders mogli zainteresować się wprowadzeniem zmian, tak jak powinny, dla prawidłowego działania
    Doceniam każdą pomoc tutaj.
    Załącznik to Trade-Manager-EA.
    Dziękuję za uwagę.
    Greeds Zack

    https://www.forex-instant.com/attach...1161669919.mq4

  2. #2
    Jeśli jakiś Coder jest zainteresowany, jestem gotów zapłacić za zmiany w istniejących EA.

  3. #3
    1 Załącznik (y) Witam, niektórzy członkowie bardzo intensywnie potrzebowali więcej informacji, aby zrozumieć funkcjonalność wymienionego powyżej Trade-Managera-EA. OK tutaj jest więcej informacji: rooicol - Zarządzaj zamówieniami EA trafia do twojego folderu ekspertów. Wejścia: ModifySLTPActive - To przełącza, czy będzie modyfikować zamówienia SL i TP, czy nie EACloseSLActive - To przełącza, czy zamknie transakcje według zlecenia rynkowego (Prawda), czy przez zamówienie SL (Fałsz) po stronie zatrzymania. EACloseTPActive - To przełącza, czy zamknie transakcje według zlecenia rynkowego (True) lub zlecenia TP (False) po stronie limitu. EAClosePartialActive - przełącza, czy zamknie częściowe transakcje na określonych poziomach. ExceptMagicNumber - To jest tylko, jeśli chcesz wykluczyć go z uruchamiania na określonych transakcjach, ale chcesz, aby działał na innych Dystans - Jest to liczba punktów, które EA zamknie transakcję przed SL lub zamówieniem TP, jeśli EACloseSLActive lub EACloseTPActive są ustaw na true. W przypadku funkcji częściowego zamykania przeciągnij obiekt Zarządzaj zleceniami: Strzałka Zamknij Częściowy wykres obiektu do ceny, którą chcesz zamknąć część wymiany, ustaw opis obiektu na procent partii zamówienia, które chcesz zamknąć przy tej cenie, domyślnie 66%. Możesz uruchomić go tylko na jednym wykresie dla każdego instrumentu naraz, w przeciwnym razie polecenia modyfikacji zamówienia będą ze sobą kolidować. Musisz utworzyć nowy folder w katalogu expertfileso nazwie Execution Log, aby ekspert napisał egzekucje do pliku dziennika. Z mojej strony można powiedzieć kilka rzeczy, które można zobaczyć w oknie Experts Advisor: 1.Default SL : ustaw SL według własnych upodobań 2 HighLowSL: ustaw SL z X-last HighLow 3 Bar Count: zdefiniuj X-ostatni HighLow 4 Gap: pomiędzy X-ostatnim HighLow i SL (dotyczy to bezpieczeństwa tj. 10 pipsów dodatkowo powyżej domyślnej TP SL 5: ustaw TP na swój gust 6 Domyślny CPPercent: Zamknij częściową linię zysku z x- Procent partii 7 HardSLTPActive: prawdafałsz, jeśli (nie) chcesz podzielić się twardym SLTP z brokerem 8 HardSLTPDistance: SL w X-pipsie 9 AutoBEPoints: przejdź do BE po X-pipsie 10 TrendlineSL: jeśli chcesz lub nie chcesz handlować z Trendline jako Money-Managerem ustawionym na truefalse 11TrendlineSLDistance: ustaw X- pips od SL od Trendline 12 MaintainSession: prawdafałsz EA działa lub nie (Uwaga, jeśli jesteś gotowy na więcej niż 1 WykresZasób lepiej ustawić na false z powodu CPU 13 My Magic Number: jeśli chcesz uzyskać więcej wykresów z tego samego zasobu opne, możesz użyć różnych Magic Numbers (Zmiana: to wydaje się nie działać, gdybym chciał aby otworzyć więcej platform z tym samym kontem. To jest jedna rzecz, którą chciałbym tutaj zmienić !! ) 14 Zlecenia obiektu: pokazuje wszystkie Skrzydła Handlowe w miejscu na wykresie, w którym chcesz je mieć (kliknięcie 1 Wingdings uaktywni kolejność wierszy lub rynku lub cokolwiek 15 Object StopOrders: pokazuje Trade Wingdings dla Stop-Limit Zamówienia 16 Wysyłanie zamówień wielokrotnych: jeślilubisz uzyskać więcej MarketLimit (widoczny z linią LImit-line)Stop (widoczny z linią Stop Limit-line) Zamówienia rynkowe niż tylko 1 17 Zlecenie oczekujące na odległość: LimitStop-Limit-line X-pips od bieżącego cena 18 Partie: jeśli chcesz ręcznie obliczyć ryzyko lub handlować bez ryzyka tylko z partiami 19 Procent ryzyka: oblicz automatycznie ryzyko ((Zmiana: Wydaje się, że nie działa prawidłowo. Przetestuj sam. 20 prowizji za lot: oblicza ryzyko z twoją prowizją dla brokera (jeśli ją posiadasz) 21 tutaj możesz ustawić odległość i miejsce dla obiektów z dala od granicy okna wykresu (wypróbuj ustawienia, których potrzebujesz dla siebie) 22 tutaj możesz ustawić odległość i miejsce dla obiektów z dala od granicy okna wykresu (spróbuj ustawień, których sam potrzebujesz) 23 tutaj możesz ustawić odległość i miejsce dla obiektów z dala od granicy okna wykresu (spróbuj ustawień dla siebie) 24 tutaj możesz ustawić odległość i przestrzeń dla obiektów oddalonych od mapy-windo w border (wypróbuj ustawienia, których sam potrzebujesz) 25 tutaj możesz ustawić odległość i miejsce dla obiektów z dala od granicy okna wykresu (wypróbuj ustawienia, których potrzebujesz dla siebie) 26 tutaj możesz ustawić odległość i miejsce dla Obiekty z dala od granicy okna wykresu (spróbuj ustawień, których sam potrzebujesz) 27 Usuń tylko: jeśli klikniesz prawdę i na jednym z WingDings, możesz po prostu usunąć za pomocą wklejania, aby WingDing zadziałał lub cię fałszywy muts przesuwają WingDing również po to, aby go uruchomić 28 ShowConfirm: pokaż potwierdzenie w osobnym oknie, jeśli chcesz handlować tą konfiguracją lub nie (kliknij taknie) 29-53 dostosuj ustawienia EA do swoich potrzeb za pomocą rozmiaru koloru , długość itp. 54 RunInfiniteLoop: jeśli twój Broker nie otrzyma Kleszcza, niż możesz wysłać za pomocą tej funkcji, Tick do Brokera (dobry w czasie z brakiem płynności !!) 55 RunIntervalMS: wybierz Milli-Sekundy, które zamierzasz wysłać Tick do Brokera W porządku, to na razie. Więc jeśli są jakieś pytania, prosimy zapytać szczególnie wszystkich zainteresowanych koderów, którzy chcą zmienić niektóre rzeczy, o których wspomniałem w moim pierwszym poście i w RED - pod kilkoma wyjaśnieniami z tym postem. Załączony jest zrzut ekranu Trade_manager-EA. Pozdrawiam Zack
    https://www.forex-instant.com/tradin...48-volume.html

  4. #4
    Ponownie jestem zainteresowany zapłaceniem za to.

  5. #5
    tak naprawdę nikt, kto ma doświadczenie z językiem angielskim, nie jest zainteresowany, ponieważ udostępniłem tutaj kiedyś opłaconego Trade-Managera EA za darmo

  6. #6
    Cześć, 99 pobrań, i założę się, że wszyscy próbują sobie uświadomić problem, być może ktoś już miał dostrojenie i ulepszył parę. pozwól, że będę 100. downloaderem i zobacz, czy mogę zmienić parę na „czerwoną”. Szczerze mówiąc, nie jestem ekspertem od kodu EA, spróbuję sprawdzić, czy pasuje.

  7. #7
    Dziękuję bardzo za wysiłek. Mam nadzieję, że uda ci się wprowadzić pewne zmiany w EA.

  8. #8

    Cytat Zamieszczone przez ;
    Dziękuję bardzo za wysiłek. Mam nadzieję, że uda ci się wprowadzić pewne zmiany w EA.
    Wysłałem prośbę do programisty, ale jeszcze nie słyszałem od niego ... Dałem ci znać, jeśli coś słyszę ...

  9. #9

  10. #10
    Cześć, wciąż próbuję znaleźć kodera, który koduje 5 Indiors za stałą opłatą. Potrzebuję również pomocy za stałą opłatą w moim Trade-Manager-EA (możliwe jest również zakodowanie nowego za taką samą opłatą). Proszę o kontakt tutaj lub za pośrednictwem PM. Dzięki Zack

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Używamy cookies
Używamy cookies, aby jak najlepiej dostosować witrynę do Twoich potrzeb. Kontynuowanie przeglądania tej strony, oznacza zgodę na używanie plików cookies. Aby uzyskać więcej informacji zapoznaj się z naszą Polityką Prywatności.