Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1048

 

Hier stehen sogar die Drucke



Ich habe einen Eintrag gemacht, vielleicht hilft dashttp://recordit.co/ot9m4jpiws

 
Roman Sharanov:

Hier stehen sogar die Drucke


Das Entscheidende an dem Änderungsantrag ist, dass die bereits bestehenden Stufen nicht geändert werden.
 
Vladimir Karputov:
Ich kann keinen Änderungsantrag stellen, ohne bereits bestehende Ebenen zu ändern.

Was ist also die Ursache für den Fehler? Dass ich versuche, die alte Haltestelle (in diesem Fall Null) in die Haltestelle zu setzen.

Ich habe eine Prüfung des Datensatzes hinzugefügt, wenn derselbe Take derselbe ist, wird keine Übertragung vorgenommen... aber trotzdem ist es dasselbe

Oder muss ich das T-Stück normalisieren, sonst wird es nicht geprüft?

 
Roman Sharanov:

Was ist also die Ursache für den Fehler? Dass ich versuche, die alte Haltestelle (in diesem Fall Null) in die Haltestelle zu setzen.

Ich habe eine Prüfung des Datensatzes hinzugefügt, wenn derselbe Take derselbe ist, wird keine Übertragung vorgenommen... aber trotzdem ist es dasselbe

Oder muss ich das TP normalisieren, sonst wird es nicht geprüft?

Die Position hatte diese Haltestellen: eine Wassermelone und drei Melonen. Sie wollen die Haltestellen wechseln und, Achtung, Sie schicken eine Bestellung: eine Wassermelone und drei Melonen.

Das heißt, dass sich die Haltestellen eigentlich nicht ändern.
 
Vladimir Karputov:
Die Position hatte diese Haltestellen: eine Wassermelone und drei Melonen. Sie wollen die Haltestellen wechseln und, Achtung, Sie schicken eine Bestellung: eine Wassermelone und drei Melonen.

Die Haltestellen werden also nicht verändert.

Ich verstehe. Wie kann ich dann den Take-Profit ändern, ohne das Stop-Level zu ändern?

 
Roman Sharanov:

Ich hab's. Wie ändere ich dann den Take Profit, ohne das Stop Level zu ändern?

Du verstehst gar nichts. Lesen Sie über Wassermelonen und Melonen, bis es klar wird.
 
Vladimir Karputov:
Du verstehst gar nichts. Lesen Sie über Wassermelonen und Melonen, bis es klar ist.

Lassen wir einmal die Tatsache außer Acht, dass ich

Ich habe eine Position, ihr Take auf Level 5, ihr Entry auf Level 3, ihr Stop auf Level 2

Ich möchte es auf Stufe 6 bringen.

Wie kann ich das tun?

 
Roman Sharanov:

Lassen wir einmal die Tatsache außer Acht, dass ich

Ich habe eine Position, ihr Take auf Level 5, ihr Entry auf Level 3, ihr Stop auf Level 2

Ich möchte es auf Stufe 6 bringen.

Wie kann ich das tun?

Vollständiger Code. Symbol. Zeitrahmen. Datum des Testbeginns. Grafik (Bildschirmfoto). Protokolldatei auf der Registerkarte "Protokoll".
Dies ist das Minimum.
Ich warte bis morgen.
 

Forum für Handel, automatisierte Handelssysteme und Strategietests

FAQ von Anfängern MQL5 MT5 MetaTrader 5

Roman Sharanov, 2019.05.23 09:43

void transposeTakeProfit(double tpLvl){
        for(int i = PositionsTotal() - 1; i >= 0; i--){
        PositionSelectByTicket(PositionGetTicket(i));
        if(PositionGetString(POSITION_SYMBOL) == _Symbol && PositionGetInteger(POSITION_MAGIC) == _magic){
                trade.PositionModify(PositionGetTicket(i), PositionGetDouble(POSITION_SL), tpLvl);
        }
   }
}

Nun, hier passiert es, ein Handel wird eröffnet, ein Level wird überschritten, auf das ich den ganzen Take Profit verschieben muss, wenn es andere Trades gibt

Aber dies ist der erste Handel, geht direkt in diese Funktion und sofort ein Fehler


PositionSelectByTicket ist hier absolut unnötig. Es reicht aus, die gewählte zu verlassen.

Um zu vermeiden, dass ein Stop oder Take zu dem Preis platziert wird, zu dem er bereits platziert wurde, sollten wir prüfen, ob der neue Stop oder Take mit dem alten identisch ist.

Und wir müssen verstehen, wie viele Spreads das Mindestniveau für die Platzierung eines Stopps sind.

 

Hallo zusammen. Bitte sagen Sie mir, was zum Teufel hier los ist.

Ich schreibe Code in mql5, ich möchte die Funktion PositionClose verwenden, aber es sagt "Man! PositionClose' - die Funktion kann nur im globalen Bereich deklariert werden".

Ich habe mir gedacht, dass diese Funktion standardmäßig in #include <Trade\Trade.mqh> enthalten ist.


Geprüft. Es ist da.

Warum zeigt er sich, was braucht er, wie kann er die Position schließen?


Der Code selbst


string bumaga1 = "SBERP";
 int MinuteClose;
 
//---------- Закрываем позиции и удаляем ордера перед концом сессии старт
 MinuteClose =  MinuteMQL4();
 
 if (PositionSelect(bumaga1) && HOUR1 == 18 && MinuteClose > 15)
 {
                bool  PositionClose(bumaga1, 3);
 }
 
  if (!PositionSelect(bumaga1) && HOUR1 == 18)
  {
                                bool  OrderDelete(tik1);
   }
   
//---------- Закрываем позиции и удаляем ордера перед концом сессии энд
Grund der Beschwerde: