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
Die Position ist umgekehrt, da das Programm zwei identische Anfragen an den Server sendet. Das Programm sendet zwei identische Anfragen an den Server, weil sein Code nicht auf eine früher gesendete Anfrage prüft (und nicht auf das Ergebnis der Verarbeitung dieser Anfrage auf dem Server).
Yedelkin schreibt: Der Code prüft nicht, ob bereits eine Anfrage gesendet wurde. Können Sie mir sagen, welche Funktion diese Prüfung durchführt?
Jeder hat eine andere Vorstellung vom richtigen Code. Sie müssen also am Ende den "richtigen" Code schreiben. Und noch ein Tipp: Versuchen Sie zu prüfen, ob dieser Code richtig funktioniert (schematische Verwendung des sentRequest-Flags):
Jeder hat eine andere Vorstellung vom richtigen Code. Sie müssen also am Ende den "richtigen" Code schreiben. Und noch ein Tipp: Probieren Sie aus, ob dieser Code im richtigen Schlüssel funktioniert (schematische Verwendung des sentRequest-Flags):
Herzlichen Dank! Ich probiere es aus...
Das Ergebnis ist wie folgt: Der Code schließt ordnungsgemäß eine Long-Position und eröffnet keine Short-Position... Beim Wiedereröffnen einer Long-Position schließt der EA diese nicht entsprechend der Bedingung. Im EA-Fenster werden ständig Meldungen angezeigt:
Wie kann ich diesen Code im Body des Expert Advisors verwenden, wenn er nur einmal funktioniert?)
oldiol: При повторном открытии лонга, эксперт не закрывает больше позу по условию. В окне эксперта всё время идут сообщения: Как же использовать этот код в теле эксперта, если он работает только 1 раз)?
In dieser Angelegenheit sollte es ganz einfach sein. Im schematischen Code sollte das sentRequest-Flag auf Null gesetzt werden, wenn die offene Position keine Kaufposition ist (letzte Zeile des Codes). Sehen Sie, warum dieses Flag in Ihrem Code nicht auf Null gesetzt wird, wenn entweder keine offene Position vorhanden ist oder die offene Position keine Kaufposition ist.
Hurra! Es funktionierte)))) Entfernt if(sentRequest) sentRequest=false; Und schrieb vor den Block if(PositionsTotal()==0) sentRequest=false; Vielen Dank an Yedelkin für seine Hilfe, GOOD Luck!
oldiol : Bei der Wiedereröffnung einer Long-Position schließt EA die Position nicht mehr per Bedingung. Im EA-Fenster erscheinen die ganze Zeit Meldungen: Wie kann ich diesen Code im EA-Body verwenden, wenn er nur 1 Mal funktioniert? Es gibt eine weitere Bedingung im Code
if(PositionSelect(_Symbol)==true) // es gibt eine offene Position
{
POSITION SCHLIESSEN BLOCK
} // ... daher
if(sentRequest) sentRequest=false;// hinter die nächste Klammer gesetzt und alles funktioniert perfekt. Yedelkin DANKE!