Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 74
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
gibt es eine Variable
int Level = 0;
Während das Programm läuft, ändert es sich ständig. Helfen Sie mir, eine Bedingung zu schreiben: Wenn sich der Pegel NICHT geändert hat, dann tun Sie nichts. Wenn sich der Pegel geändert hat (egal ob nach oben oder unten), dann führen Sie eine Aktion aus { operator }
eine andere Variable eingeben
int Level1 = 0;
int Level = 0;
wenn (Level !=Level1)
{};
und dann Level1 =Level
aber ich verstehe wirklich nicht, warum wir ein Array auf jedem Tick ziehen müssen, wenn wir es nach jeder Handelsoperation tun können
eine andere Variable eingeben
int Level1 = 0;
int Level = 0;
wenn (Level !=Level1)
{};
und dann Level1 =Level
Ich verstehe nicht wirklich, warum ich bei jedem Tick ein Array abrufen muss, wenn ich es nach jeder Handelsoperation tun kann
{
ObjectCreate("Sell no loss level", OBJ_HLINE, 0, 0, SELL_NoLossLevel);
}
Außerdem muss es passieren, wenn SELL_Lvl steigt:
Da aber die BedingungSELL_Lvl>0 erfüllt ist, wird die Linie erneut gezeichnet, aber mit einem neuen Wert vonSELL_NoLossLevel. Gibt es eine einfachere und offensichtlichere Möglichkeit, die Linie in Abhängigkeit vonSELL_Lvl neu zu zeichnen?
{
ObjectCreate("Sell no loss level", OBJ_HLINE, 0, 0, SELL_NoLossLevel);
}
Dann muss ich SELL_Lvl erhöhen, um neu gezeichnet zu werden:
Da aber die BedingungSELL_L_Lvl>0 erfüllt ist, sollte die Linie erneut gezeichnet werden, aber mit einem neuen Wert vonSELL_NoLossLevel. Gibt es eine einfachere und offensichtlichere Möglichkeit, die Linie in Abhängigkeit vom Wert vonSELL_Lvl neu zu zeichnen?
Übertragen Sie das Objekt auf den neuen Wert, ohne es zu löschen oder neu zu erstellen:
Übertragen Sie das Objekt auf den neuen Wert, ohne es zu löschen oder neu zu erstellen:
Dies ist sicherlich eine Option, aber ich möchte, dass die Linie nach dem Wert vonSELL_NoLossLevel neu gezeichnet wird, je nachdem, ob sichSELL_Lvlgeändert hat
wie folgt if(ObjectGet("Sell no loss level", 1) !=SELL_NoLossLevel{ObjectDelete("Sell no loss level");}
Die Linie wird bei jedem Tick neu gezeichnet, während sie nur neu gezeichnet werden muss, wenn sichSELL_Lvl ändert.
Natürlich ist es eine Variante, aber ich möchte, dass die Linie vonSELL_NoLossLevel neu gezeichnet wird, je nachdem ob sichSELL_Lvl geändert hat
wie folgt if(ObjectGet("Sell no loss level", 1) !=SELL_NoLossLevel{ObjectDelete("Sell no loss level");}
Die Linie wird bei jedem Tick neu gezeichnet, während sie nur neu gezeichnet werden soll, wenn sichSELL_Lvl ändert.
Erläutern Sie die Bedingung für die Neuziehung von Linien klar und deutlich, mit realen Preiswerten.
Für die hervorgehobene Zeile: Wie stark hat sie sich verändert? Was deutet darauf hin, dass sich SELL_Lvl geändert hat?
Ich möchte wissen, mit welcher Funktion ich eine Pending Order in MCL5 schließen kann.
Es ist besser, eine Schleife zu durchlaufen, die richtige zu bestimmen und durch Dokumentation
Ausstehende Bestellung löschen
Handelsauftrag zum Löschen eines schwebenden Auftrags. Es müssen 2 Felder angegeben werden:
Es ist besser, sich durchzuarbeiten, die richtige Lösung zu finden und die Dokumentation zu befolgen.
Schreiben Sie die Bedingung für das Umzeichnen der Linien klar auf, mit realen Preiswerten, und dann werden Sie verstehen, was Sie tun müssen.
Auf der hervorgehobenen: um wie viel verändert? Was deutet darauf hin, dass sich SELL_Lvl geändert hat?
Ich weiß, wie man den Preis für eine Mindestbestellung ermittelt. Ich wäre Ihnen dankbar, wenn Sie mir sagen könnten, wie man einen Mindestbestellschein ermittelt.
In der Dokumentation finden Sie ein Beispiel.
Es wäre wahrscheinlich besser, die Aufträge in der Schleife durchzugehen und, sofern der nächste Auftrag niedriger ist als der vorherige, diesen für die weitere Arbeit mit ihm auszuwählen. Wenn wir die Schleife verlassen, wird also der zu löschende Auftrag ausgewählt.
Oder Sie können zunächst seine Position in der Auftragsliste in der Schleife speichern und ihn nach dem Verlassen der Schleife über den gespeicherten Index auswählen.