Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1627

 
MakarFX #:

Nicht kritisch, aber es gibt für alles eine Erklärung...

SIE haben diese Erklärung

 
MakarFX #:

Nicht kritisch, aber es gibt eine Erklärung...

Oder Annahmen

 
EVGENII SHELIPOV #:

Oder Annahmen

Ich brauche den gesamten Code, um ihn im Tester zu betrachten.
 
MakarFX #:
Ich brauche den gesamten Code, um ihn im Tester zu betrachten.

Siehe bitte

Dateien:
111.mq4  48 kb
 
EVGENII SHELIPOV #:

BAC hat diese Erklärung

Bevor Sie einen Auftrag ändern, sollten Sie prüfen, ob die eingestellten Werte mit denen übereinstimmen, die bereits im Auftrag enthalten sind.
Wenn alle Werte gleich sind, brauchen Sie die Änderung nicht vorzunehmen.

 
Taras Slobodyanik #:

Bevor Sie einen Auftrag ändern, sollten Sie prüfen, ob die eingestellten Werte mit denen übereinstimmen, die bereits im Auftrag enthalten sind.
Wenn alle Werte gleich sind, brauchen Sie die Änderung nicht vorzunehmen.


//+----------------------------------------------------------------------------+
//| Модификация групповых ордеров                                              |
//+----------------------------------------------------------------------------+
void ModifyOrders(int otype)
{
    double avg_price, order_lots = 0;
    price = 0;


    for(int i = OrdersTotal()-1; i>=0; i--)
    {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
       {
         if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == otype)
         {
            price += OrderOpenPrice() * OrderLots();
            order_lots += OrderLots() ;
         }
       }
    }
    avg_price = NormalizeDouble(price / order_lots, Digits);
     {
     ObjectDelete(0, "AveragePriceLine");
     ObjectCreate(0,"AveragePriceLine" ,OBJ_HLINE, 0, 0, avg_price);
     ObjectSet("AveragePriceLine",OBJPROP_COLOR, Magenta);
     }
    if (otype == OP_BUY) tp = NormalizeDouble (avg_price + TakeProfitGroupOrder*Point, Digits);
    if (otype == OP_SELL) tp = NormalizeDouble (avg_price - TakeProfitGroupOrder*Point, Digits);
    if ((otype == OP_BUY || otype == OP_SELL) && (Drawdown > DrawdownClosingTakeprofitZero)) 
    tp = NormalizeDouble (avg_price, Digits);
    for(int i = OrdersTotal()-1; i>=0; i--) 
    {
       if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
       {
           if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == otype)
           {
               if(OrderModify(OrderTicket(), OrderOpenPrice(), 0, tp, 0))
                  Print("Ордера успешно модифицированы!");
                else Print("Ошибка модификации ордеров!");
           }
       }
    }
}

Ist das der Scheck, den Sie meinen?

 
EVGENII SHELIPOV #:

Ist das der Scheck, den Sie meinen?

Sie müssen prüfen, ob der bereits im Auftrag eingestellte Wert mit dem einzustellenden Wert übereinstimmt.

  • tp==OrderTakeProfit()
  • Auch wenn sl==OrderStopLoss() erforderlich ist
  • auch bei Bedarf Preis==BestellungEröffnenPreis()

if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == otype && tp!=OrderTakeProfit() )
 
Taras Slobodyanik #:

Es sollte geprüft werden, ob der bereits im Auftrag eingestellte Wert mit dem einzustellenden Wert übereinstimmt.

  • tp==OrderTakeProfit()
  • Auch wenn sl==OrderStopLoss() erforderlich ist
  • auch bei Bedarf Preis==BestellungEröffnenPreis()

Taras, könnten Sie mir erklären, wofür ich es benötige, wenn ich ein Raster von Aufträgen mit verringerten Min- und Max-Aufträgen modifiziere und jeweils einen neuen Durchschnittspreis berechnen und den neuen Take Profit modifizieren muss

 
EVGENII SHELIPOV #:

Taras, können Sie erklären, warum ich dies benötige, wenn ich ein Raster von Aufträgen ändere, in dem die Min- und Max-Aufträge reduziert werden, bzw. ich muss einen neuen Durchschnittspreis berechnen und den neuen Take Profit ändern

Hatten Sie nicht nach dem Änderungsfehler und seiner Kritikalität gefragt?
...und seiner Erklärung

 
MakarFX #:
Sie ist nicht da.
Grund der Beschwerde: