[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 235

 
Zhunko:
Wenn der Quellcode vorhanden ist, aber geändert wurde, ist dies möglich. D.h. die Änderung des Inhalts der Quelle. Wenn die Quelle verloren geht oder umbenannt wird, kann sie nicht mehr gefunden werden.

Vielen Dank, Vadim. Ich verstehe.
 
ikatsko:

Wie berechnet man die Marge (erforderliche Mittel zur Eröffnung eines Auftrags mit Lot N) bei verschiedenen Werten von AccountFreeMarginMode


Die Marge für einen Auftrag von 1 Lot ist gleich:

   double OneLotMarg =MarketInfo(Symbol(),MODE_MARGINREQUIRED);

Sie werden es später herausfinden.

Außerdem müssen Sie prüfen, ob Sie über genügend freie Mittel verfügen:

   double Free = AccountFreeMargin();
   
   if(Lts*OneLotMarg>Free) return(0);
 
DhP:


Und Sie sollten auch prüfen, ob genügend Mittel zur Verfügung stehen:

   double Free = AccountFreeMargin();
   
   if(Lts*OneLotMarg>Free) return(0);

Diese Bedingung ist notwendig, aber nicht ausreichend... So wie ich es verstanden habe, müssen Sie auch den Wert des Spreads berücksichtigen, d.h. Sie müssen den Verlust einkalkulieren, der sofort entsteht, wenn Sie den entsprechenden Auftrag eröffnen! :))) Oder habe ich noch etwas vergessen?
 

Ich mochte das Skript dieses Indikators, seine Einfachheit. Bitte helfen Sie mir, ein Skript zu erstellen, das Stops auf diesen Linien platziert.

https://www.mql5.com/ru/code/9588

 
MaxZ:
Diese Bedingung ist notwendig, aber nicht ausreichend... So wie ich es verstehe, müssen Sie auch den Wert des Spreads berücksichtigen, d.h. Sie müssen den Verlust berücksichtigen, der sofort entsteht, wenn Sie den entsprechenden Auftrag eröffnen! :))) Oder habe ich noch etwas vergessen?
Ich denke, Sie haben Recht, aber in der Praxis spielt das kaum eine Rolle.
 
DhP:
Ich denke, Sie haben Recht, aber in der Praxis spielt das kaum eine Rolle.

Ich nehme zum Beispiel an verschiedenen Wettbewerben teil. Und es hat ähnliche Situationen gegeben. Der Fehler 134 wird angezeigt. Aber ich habe die Funktion der Losberechnung noch nicht perfektioniert. Ich war zu faul... Wenig später wird die Anfrage wiederholt und die Bestellung eröffnet. Und etwas später fusionieren wir das Demo-Depot! :)))

Diese Bedingung gilt auch nicht für die Eröffnung von Gegenaufträgen, wenn nicht genügend Geld vorhanden ist, aber das eröffnete Lot durch einen Gegenauftrag ausgeglichen werden kann.

Ein paar Nuancen und nicht mehr.

 
DhP:
MaxZ:
Diese Bedingung ist notwendig, aber nicht ausreichend... So wie ich es verstanden habe, müssen Sie auch den Wert des Spreads berücksichtigen, d.h. Sie müssen den Verlust berücksichtigen, der sofort entsteht, wenn Sie die entsprechende Order eröffnen! :))) Oder habe ich vielleicht noch etwas vergessen?
Ich denke, Sie haben Recht, aber in der Praxis spielt das kaum eine Rolle.

Es zeigt sich, dass die Tatsache, dass ein Auftrag mit einem Verlust in Höhe des Spreads eröffnet wird, keine Auswirkungen hat. Wenn wir Risk = 100% setzen, wird die Order mit dem maximal möglichen Volumen eröffnet, und AccountFreeMargin() zeigt entweder "+" oder "- " (im "Strategy Tester") unmittelbar nach der Eröffnung an...

Beim Öffnen mehrerer Aufträge tritt jedoch von Zeit zu Zeit der Fehler 134 auf. Ich verstehe immer noch nicht, worauf sich der Fehler bezieht... Ich berücksichtige die Mittel, die benötigt werden, um gegenläufige Aufträge unter denselben Bedingungen zu eröffnen. Das bedeutet, dass der entgegengesetzte Auftrag nur dann geöffnet wird, wenn wir im Plus sind und die entsprechende Bedingung eintritt.

Der Code wird zur Berechnung des Loses verwendet:

double Free    = AccountFreeMargin();
double One_Lot = MarketInfo(Symbol(), MODE_MARGINREQUIRED);      
double Step    = MarketInfo(Symbol(), MODE_LOTSTEP);
newLots = MathFloor(Free*Risk/100/One_Lot/Step)*Step;

p.s.: Ich hinterlasse nicht gerne eigene Patzer...

 

Seien Sie gegrüßt, meine Herren!

Bitte helfen Sie mir, die Funktion zum Schließen von Aufträgen in meinen EA einzufügen.

Die Idee ist folgende:

1) Wenn der Preis einer offenen SELL-Order unter den Preis des exponierten TP dieser Order fällt, wird diese Order geschlossen.

2) Wenn der Preis einer offenen BUY-Order höher ist als der für diese Order festgelegte TP, wird sie geschlossen.

Wenn Sie helfen können, schreiben Sie bitte an oniava@gmail.com, ich freue mich auf Ihre Nachricht.

Vielen Dank im Voraus.

Mit freundlichen Grüßen Oleg.


P.S. Sie können einen separaten EA-Assistenten mit einer magischen Zahl erstellen.

 
belck:

Ich mochte das Skript dieses Indikators, seine Einfachheit. Bitte helfen Sie mir, ein Skript zu erstellen, das Stops auf diesen Linien platziert, indem es die Aufträge durchgeht.

https://www.mql5.com/ru/code/9588

Fangen Sie damit an und wir werden Ihnen helfen. Das sieht nach "Tu es für mich" aus. Da ist so ziemlich alles drin, was man braucht. Alles, was Sie noch tun müssen, ist, Ihre Aufträge ein- und auszubuchen.
 

Hallo zusammen. Können Sie mir sagen, wie man im EA verschreibt,

Wenn ein bestimmter Gewinn erreicht ist, eröffnet der EA keine Position mehr,

Es öffnet sich erst, wenn der EA das nächste Mal gestartet oder neugestartet wird.