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

 
Escapee:

Warten Sie... Verstehe endlich, was ich brauche...

Hier ist die Ordereröffnung, die ich brauchte - OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0); . Und dieses Skript funktioniert.

Jetzt brauche ich ein close......

Es ist kein Drehbuch. Es ist nur ein Befehl zur Eröffnung eines Auftrags. Die Funktion OrderSend gibt das Auftragsticket zurück, wenn die Öffnung erfolgreich war. Vor dem Abschließen muss er jedoch zunächst das Ticket der Bestellung bestimmen. Um ihn zu bestimmen, müssen wir zunächst den Auftrag aus der Liste der Aufträge anhand seines Indexes auswählen. Wenn nur ein Auftrag offen ist, ist sein Index in der Liste 0. Wenn also nur ein Auftrag offen ist, können wir dies tun, ohne eine Schleife zu durchlaufen und nach einem Symbol-Match und einem Magic-Match zu suchen. Das ist zwar nicht sehr intelligent, aber immerhin. Ausschließlich um des Beispiels willen.

if(OrderSelect(0, SELECT_BY_POS))
if(OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 30, clrNONE))
Print("Ордер закрыт");
Ein solcher undokumentierter Trick in mql4 kann verwendet werden, um eine Order Order OrderClosePrice() anstelle von Ask oder Bid zu schließen, und in diesem Fall müssen wir nicht zwischen den Ordertypen unterscheiden. Sie wird auf jeden Fall geschlossen.
 
AlexeyVik:

Es ist kein Drehbuch. Es ist nur ein Befehl zur Eröffnung eines Auftrags. Die Funktion OrderSend gibt das Auftragsticket zurück, wenn die Öffnung erfolgreich war. Vor dem Schließen muss er jedoch zunächst das Ticket der Bestellung bestimmen. Um ihn zu bestimmen, müssen wir zunächst den Auftrag aus der Liste der Aufträge anhand seines Indexes auswählen. Wenn nur ein Auftrag offen ist, ist sein Index in der Liste 0. Wenn also nur ein Auftrag offen ist, können wir dies tun, ohne eine Schleife zu durchlaufen und nach einem Symbol-Match und einem Magic-Match zu suchen. Das ist zwar nicht sehr intelligent, aber immerhin. Ausschließlich um des Beispiels willen.

Ein solcher undokumentierter Trick in mql4 kann verwendet werden, um eine Order Order OrderClosePrice() anstelle von Ask oder Bid zu schließen, und in diesem Fall müssen wir nicht zwischen den Ordertypen unterscheiden. Sie wird auf jeden Fall geschlossen.

Sehen Sie, Sie haben es geschrieben, aber wer wird für die "Fehler" verantwortlich sein? :))))

Er versteht nicht, dass dies ein sehr falscher Code für die Arbeit in der realen Welt ist. Nun ... Es ist, als ob er in einem Fass sitzend einen Hügel hinunterrollt und denkt, er fahre in einem Auto.

Ich habe versucht, dem Mann zu zeigen, wie man es richtig macht, nicht wie man es wahllos macht... Ehhhhh...

 
Escapee:

Warten Sie... Verstehe endlich, was ich brauche...

Hier ist die Ordereröffnung, die ich brauchte - OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0); . Und dieses Skript funktioniert.

Jetzt muss ich schließen......

Ich verstehe sehr gut, was Sie brauchen. Und ich versuche, Ihnen zu erklären, wie man es richtig macht. Aber du hältst dir die Ohren zu und willst nicht zuhören. Ich glaube, ich muss mich verabschieden.

Als Beispiel geben Sie einen einfachen Befehl, um eine Handelsanfrage an den Server zu senden. Natürlich wird es Ihnen die Anfrage zusenden. Aber sind die darin enthaltenen Daten korrekt? Und was bringt der Handelsserver?

Und ja: Dies ist kein Drehbuch. Dies ist ein mql4-Befehl

 
Guten Abend, gibt es eine Frage, muss der Expert Advisor mit einer Fehlersperre ausgestattet werden oder wird das Terminal selbst sie überwinden (Fehler wie der Server antwortet nicht, der Preis hat sich geändert)?
 
Pokrov:
Guten Abend, gibt es eine Frage, ist es notwendig, einen Block in den Expert Advisor zu setzen, um mit Fehlern zu arbeiten oder das Terminal selbst überwindet sie (Fehler wie der Server reagiert nicht, der Preis hat sich geändert)?
Gute Frage. И?
 
Pokrov, Sie müssen eine Fehlerbehandlung einbauen, wenn Sie wollen, dass der EA sie überwindet.
 
artmedia70:
Gute Frage. И?
Das war also die Frage, am Ende steht ein Fragezeichen, ist das notwendig oder optional?
 
artmedia70:

Sehen Sie, Sie haben es geschrieben, aber wer wird dann für die "Fehler" verantwortlich sein? :))))

Er versteht nicht, dass dies ein sehr falscher Code für die Arbeit in der realen Welt ist. Nun ... Es ist, als würde er in einem Fass einen Hügel hinunterfahren und denken, er fahre in einem Auto.

Ich habe versucht, einem Mann beizubringen, wie man Dinge richtig macht, nicht nur, wie man sie macht... Ehhh...

Ich nehme es an. Sie sollten weniger trinken. :) Allerdings gibt es eine Einschränkung: Sie können zwar nicht lesen, aber immerhin. Um Ihnen ein Beispiel zu geben.
 
Pokrov:
Das war also die Frage, am Ende steht ein Fragezeichen, ist das notwendig oder optional?
Wenn Sie ein Testspielzeug schreiben, müssen Sie das nicht. Aber es ist besser für den arbeitenden EA. Wenn der EA den Brokerage-Server ständig mit falschen Befehlen oder Auftragsänderungen ohne Änderung der Parameter bombardiert, blockiert das Brokerage-Unternehmen den EA, und die vom EA gesetzten Aufträge werden "unbeaufsichtigt".
 
AlexeyVik:
Wenn Sie ein Testspielzeug schreiben, müssen Sie das nicht. Aber es ist besser für einen funktionierenden EA. Wenn Ihr EA den Server ständig mit falschen Befehlen bombardiert oder Aufträge ändert, ohne die Parameter zu ändern, wird Ihr Maklerunternehmen Ihren EA blockieren, und infolgedessen werden die von Ihrem EA gesetzten Aufträge unbeaufsichtigt bleiben.
Ich danke Ihnen!