[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 823

 
Tomcrafft:

Hallo zusammen!

Leute, helft mir mal... Wie kann ich sicherstellen, dass bei der Eröffnung einer Order ab einem bestimmten Level (mit Stop und Take)

Der Expert Advisor eröffnet keine zweite, dritte usw. Order. Und der nächste Auftrag sollte erst eröffnet werden, wenn der erste Auftrag bei Stop oder Take geschlossen wurde.

Prüfen Sie zunächst, ob bereits ein offener Auftrag auf dem Markt vorhanden ist, und wenn dies nicht der Fall ist, öffnen Sie ihn, andernfalls ist dies nicht erforderlich.
 
"Cache des Testers löschen", was ist das und wie kann ich das erreichen?
 
eugggy:

Hilfe benötigt: es gibt 2 schwebende Aufträge (in verschiedenen Richtungen), wenn eine ausgelöst wird, muss die andere geschlossen werden. Der Code sieht wie folgt aus. Wie man es richtig macht, dass es keinen Fehler mit einer falschen Ticketnummer gab und richtig funktioniert, nur ein paar Zeilen benötigt, um in den EA zu setzen, lerne ich nicht. Vielen Dank im Voraus.



Wann erhält die Variable "Tip" einen Wert? Dies sollte nach OrderSelect() geschehen.

OrderSelect(Total,SELECT_BY_TICKET,MODE_TRADES);
Tip=OrderType();

if(Tipp==OP_SELL)

 
eugggy:

Hilfe benötigt: es gibt 2 schwebende Aufträge (in verschiedenen Richtungen), wenn eine auslöst, müssen wir die andere zu schließen. Der Code sieht wie folgt aus. Wie es richtig erstellt werden sollte, dass es kein Fehler mit einer falschen Ticketnummer war und richtig funktioniert, sondern nur ein paar Zeilen benötigt werden, um den Berater einzutragen, kann ich nicht in Erfahrung bringen. Ich weiß nicht, wie ich das machen soll, vielen Dank im Voraus.



Prüfen Sie, ob es Marktaufträge gibt.

Falls vorhanden, prüfen Sie, ob es noch offene Fragen gibt.

Wenn ja, löschen Sie sie

 
eugggy:
Ich tat dies mit einer for-Schleife, aber ich bekomme ein Durcheinander, OrdersTotal() gibt die Anzahl der Aufträge (2), wenn ich subtrahieren eine, dann welche Reihenfolge ausgewählt werden: die erste oder die zweite, und dann das gleiche Chaos mit Tickets. Im Allgemeinen wird der Fehler 4108 - falsche Ticketnummer und auch Alert(Ticket) gibt eine Nummer größer als 0 zurück, selbst wenn der EA gerade gestartet wurde und keine Aufträge vorliegen.

Stellen Sie klar, ob SELECT_BY_TICKET oder SELECT_BY_POS.

Lesen Sie über OrderSelect() in der Hilfe

SELECT_BY_TICKET die Bestellnummern auf dem Firmenserver, zum Beispiel #12345 und #12399

SELECT_BY_POS die Auftragsnummern "in der persönlichen Liste", d.h. bei zwei Aufträgen hat der eine die Nummer 0, der andere die Nummer 1

 
eugggy:
Wenn ich es so lasse, wird es dann richtig funktionieren? Es scheint zu funktionieren, vielleicht einige Rückkehr oder RefreshRates erforderlich sind, in einem Wort wird es im wirklichen Leben zu arbeiten?


Nein, das wird es nicht.

 

eugggy:
А нельзя ли подробнее? Нельзя))). Я имею ввиду, если сильно не придираться, где, что, неправильно и как исправить?

Ich tat dies mit einer for-Schleife, aber meine Verwirrung beginnt, OrdersTotal() gibt Anzahl der Aufträge (2), wenn ich subtrahieren ein, dann welche Reihenfolge ausgewählt werden: die erste oder die zweite, und dann die gleiche Verwirrung mit den Tickets. Im Allgemeinen ist der Fehler 4108 eine falsche Ticketnummer und Alert(Ticket) gibt eine Nummer größer als 0 zurück, auch wenn der EA gerade gestartet wurde und keine Aufträge vorliegen.



Sie haben Ihre ausführliche Antwort bereits erhalten:

Vinin :


Prüfen Sie, ob es Marktaufträge gibt.

Falls ja, prüfen Sie, ob es noch offene Aufträge gibt.

Falls vorhanden, entfernen Sie durch aufeinanderfolgende Zyklen für
 
eugggy:
Ich würde gerne mehr darüber erfahren. Nein))). Ich meine, wenn Sie nicht wählerisch sind, wo, was, falsch und wie zu beheben?


Ich werde mich wiederholen.

Prüfen Sie, ob ein Marktauftrag vorliegt,

Ist dies der Fall, prüfen Sie, ob es einen schwebenden Auftrag gibt.

Wenn dies der Fall ist, löschen Sie sie.

Wenn überhaupt, werde ich den Code morgen schreiben. Allerdings wurde dies bereits irgendwo in diesem Thema getan.

 
eugggy:
Ich verstehe, aber es ist einfach für Sie, zwei zum Testen, aber ich habe es versucht - es funktioniert nicht, deshalb frage ich. Als ob ich ein Programmierer mit 5 Jahren Erfahrung wäre. Das kannst du nicht))) - Das war nur ein Scherz.
Stellen Sie Ihren gesamten Code hier ein
 
eugggy:
Ich habe die Idee, aber ich habe Probleme mit der Umsetzung, ich bin nicht vertraut mit der Suche von Aufträgen, gibt es fast nichts in der Hilfe, und das Tutorial ist nicht für durchschnittliche Köpfe. Wenn es kein Problem gibt, werde ich versuchen, einige der MQL4-Quellcode zu verwenden, oder vielleicht finden Sie einige Bücher über MQL4 für eine durchschnittliche Person zu verstehen.

Erläutern Sie auch in Ihren eigenen Worten, was der EA tun sollte
Grund der Beschwerde: