[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 408

 

Fachleute, Hilfe. Ich habe eine Funktion in den Indikator eingefügt, um Nachrichten per E-Mail zu senden.

Ich kann es nicht kompilieren. Bitte sagen Sie mir, was ich falsch gemacht habe. Ich beginne gerade erst, den Code zu verstehen.

Dateien:
vininmail.mq4  5 kb
 

Können Sie mir sagen, warum das Skript nicht alle Aufträge löscht? Es sind 3 Buy-Limit-Aufträge und ein Buy-Market-Auftrag offen.

for(i = 0; i < OrdersTotal(); i++)
                {
                if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == FALSE) break;
                if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)
                        {
                        Print(i);
                        if(OrderType() == OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,Slippage);
                        if(OrderType() == OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,Slippage);
                        if(OrderType() == OP_BUYSTOP) OrderDelete(OrderTicket());
                        if(OrderType() == OP_SELLSTOP) OrderDelete(OrderTicket());
                        }
                }
 
sss2019:

Können Sie mir sagen, warum das Skript nicht alle Aufträge löscht? Es sind 3 Buy-Limit-Aufträge und ein Buy-Market-Auftrag offen.

Denn im MT4 gibt es nur einen Handelsfluss und es kann immer nur ein Handelsauftrag erteilt werden. Nach jedem Auftrag müssen Sie sicherstellen, dass der Handelsfluss nicht überlastet ist.
 
sss2019:

Können Sie mir sagen, warum das Skript nicht alle Aufträge löscht? Es sind 3 Buy-Limit-Aufträge und ein Buy-Market-Auftrag offen.


Reschetow:
Denn im MT4 ist der Handelsfluss ein einziger und es kann immer nur ein Handelsauftrag erteilt werden. Nach jeder Bestellung müssen Sie sicherstellen, dass der Handelsfluss nicht überlastet ist.

keine


Das Problem liegt hier einfach in der Schleife. i geht durch i von 0 bis 2. Sie brauchen 2 bis 0.

 
Hallo! Bitte beraten Sie, wie Sie die Aufträge abwechselnd öffnen können, z.B. am Anfang OP_BUY, wenn es geschlossen wird und es ein Signal gibt, um OP_SELL zu öffnen, und es schließt mit einem Kaufsignal OP_BUY öffnet, usw...!
 
lowech:
Hallo! Sagen Sie mir, wie Sie die Aufträge nacheinander öffnen können, z.B. am Anfang von OP_BUY, wenn es geschlossen ist und es ein Signal gibt, um OP_SELL zu öffnen, und es geschlossen ist mit einem Kaufsignal öffnet OP_BUY, usw...!

Es ist sehr einfach mit Semaphoren (bool) zu lösen.

Sie können darüber nachdenken und es wird funktionieren.

 
sss2019:

Können Sie mir sagen, warum das Skript nicht alle Aufträge löscht? Es sind 3 Buy-Limit-Aufträge und ein Buy-Market-Auftrag offen.

Kauflimit, das Sie löschen, aber nicht auswählen möchten (dieser Typ)
 
DhP:

Es ist sehr einfach mit Semaphoren (bool) zu lösen.

Denken Sie darüber nach und Sie werden es verstehen.

Vielen Dank für den Hinweis auf diese Seite!
 
Skydiver:
Bitte erläutern Sie dies anhand eines Beispiels.
Es kann kein System geben, das zu 100 % profitable Geschäfte macht. Systeme, bei denen die maximale Länge einer Serie von Verlustgeschäften gleich 1 ist, können ebenfalls nicht berücksichtigt werden. Bei einer reinen Schwalbe variieren die Lose nach dem Prinzip: 1-2-4-8-16-, usw. Der Verlust erhöht sich in diesem Fall nach dem Prinzip: 1-3-7-15- usw.

Nehmen Sie ein beliebiges System, nehmen wir an, das System mit festen Losen = 1, ergibt eine Reihe von PPUUUUPU. Dabei ist P der Gewinn und U der Verlust. Das Ergebnis ist eine Erhöhung der Verluste nach dem Prinzip: 1-2-3-4-5-. Inwiefern ist es besser als das Martingal? Nur dass der Verlust nicht so stark ansteigt wie im Falle des Martingals. Ansonsten ist es dasselbe wie bei Natasha, nur in anderen Shorts.
 
Wie genau sind die Tests mit dem in MT4 integrierten Strategietester? Wie kann sie erhöht werden?