Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 528

 
tara:

Yevgeni Nikolaevichs aus Odessa (Sie haben selbst den Plural gefragt) - können Sie antworten?
Seltsame Menschen... Ich wollte nur eine Antwort...
 
MEN_Odessa:

Ich erhalte keine Fehlercodes, die im Strategietester verarbeitet werden. Was ist da los? Gibt es ein Problem mit Sleep oder werden die Fehler einfach nicht erzeugt?


Der Schlafmodus funktioniert im Testgerät nicht.
 

Hilfe.

Soweit ich das verstanden habe, gibt es in mql 4 keinen Trailing-Stop für eine Order?

Und wenn nicht, wie kann ich eine einfache Methode anwenden, um einen Trailing-Stop bei einem offenen Auftrag auszuführen?

 
culler:

Hilfe.

Soweit ich weiß, gibt es in mql 4 keine Trailing Order Funktion?

Und wenn nicht, wie kann ich einen offenen Auftrag in einer einfachen Zeile nachverfolgen?


Etwa so
 
evillive:

Etwa so


Wow... Ich wusste nicht, dass es so viele Trailing-Stops gibt. Mir schwirrt der Kopf )))) Alles, was Sie wollen )))

Ich möchte eine einfache, wie die in MT4 auf eine Bestellung aus dem aktuellen Preis gebaut. )))

 
culler:


Wow... Ich wusste nicht, dass es so viele Trailing-Stops gibt. Mir schwirrt der Kopf )))) Was immer Sie wollen )))

Ich möchte einen einfachen Trailing-Stop, wie in MT4 auf Bestellung des aktuellen Preises gebaut. )))


) Das primitive Schleppnetz des MACD Sample entspricht dem Schleppnetz im Terminal und der Server wird bei jedem Tick mit Aufträgen bombardiert:

extern TrailingStop=100;   
for(cnt=0;cnt<total;cnt++)
     {
      OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
      if(OrderType()<=OP_SELL &&   // check for opened position 
         OrderSymbol()==Symbol())  // check for symbol
        {
         //--- long position is opened
         if(OrderType()==OP_BUY)
           {
            //--- check for trailing stop
            if(TrailingStop>0)
              {
               if(Bid-OrderOpenPrice()>Point*TrailingStop)
                 {
                  if(OrderStopLoss()<Bid-Point*TrailingStop)
                    {
                     //--- modify order and exit
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
                     return;
                    }
                 }
              }
           }
         else // go to short position
           {
            //--- check for trailing stop
            if(TrailingStop>0)
              {
               if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
                 {
                  if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
                    {
                     //--- modify order and exit
                     OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
                     return;
                    }
                 }
              }
           }
        }
     }
 

Beim Debuggen öffnet sich standardmäßig das Fenster "USDCHF"...

Können Sie mir sagen, wie man während des Debuggens von MeteEditor initialisiert und in MetaTrader arbeitet

mit festgelegtem oder bereits geöffnetem Fenster, und nicht mit dem Fenster "USDCHF" standardmäßig?

 
Orangetree:

Beim Debuggen öffnet sich standardmäßig das Fenster "USDCHF"...

Können Sie mir sagen, wie man während des Debuggens von MeteEditor initialisiert und in MetaTrader arbeitet

mit festgelegtem oder bereits geöffnetem Fenster, und nicht mit dem Fenster "USDCHF" standardmäßig?

Durchsuchen Sie in den Terminaleinstellungen die Registerkarten. Sie werden es finden.
 
artmedia70:
Durchsuchen Sie in den Terminaleinstellungen die Registerkarten. Sie werden es finden.


Sie können das Paar und den Zeitrahmen ändern, aber nicht die Terminaleinstellungen ;)
 

Hallo, ich weiß nicht, wo diese Frage zu platzieren, die Quintessenz davon ist dies: manchmal EA schreibt eine 7 Gigabyte große Log-Datei mit einem Fehler, es schreibt (EURUSD,M15: Failed to close leading order, repeat operation), obwohl es schließt alles ohne Fehler. Ich versuche, diesem EA zu verbieten, seine Aktionen im Log aufzuzeichnen, aber es nützt nichts, ich brauche das Log des Terminals.

Bitte geben Sie mir einen Rat, wie ich dieses "Kriechen" verbieten kann, um das Protokoll zu behalten? Ich weiß, dass ich die Option Drucken verwenden muss, aber wie?

            if ((OrderSymbol() == Symbol()) && (OrderMagicNumber() == mNumber)) {
               if (OrderType() == OP_BUY) {
                  error1 =  (OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Bid, Digits), Spread, Blue));
                  if (error1 == 1) {
                     Print ("Лидирующий ордер закрыт успешно."); 
                     Sleep (500);   
                  } else {
                     Print ("Ошибка закрытия лидирующего ордера, повторяем операцию. ");
Grund der Beschwerde: