[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 366

 
paladin80:
Bitte klären Sie: Meinen Sie eine offene Position am Markt oder einen schwebenden Auftrag? In beiden Fällen müssen wir prüfen, ob eine Position/Auftrag auf dem Markt vorhanden ist, und wenn ja, müssen wir, bevor wir einen Auftrag erteilen, zurückkehren (0).

Ich habe zum Beispiel eine Kaufposition mit der folgenden Bedingung OPEN[0]> OPEN[3] eröffnet und TakeProfit geschlossen. Nachdem die Order geschlossen wurde, ist die Kaufposition immer noch aktiv, so dass der Expert Advisor eine weitere Kaufposition eröffnet. Ich muss vermeiden, weitere Orders zu eröffnen, wenn TakeProfit erreicht ist. Ich meine 1 Marktauftrag, nicht einen schwebenden Auftrag!

 
lowech:

Ich habe zum Beispiel eine Kaufposition mit der folgenden Bedingung OPEN[0]> OPEN[3] eröffnet und TakeProfit geschlossen. Nachdem die Order geschlossen wurde, ist die Kaufposition immer noch aktiv, so dass der Expert Advisor eine weitere Kaufposition eröffnet. Ich muss vermeiden, weitere Orders zu eröffnen, wenn TakeProfit erreicht ist. Ich meine 1 Marktauftrag, nicht einen schwebenden Auftrag!

Setzen Sie ein solches Codestück vor die Bedingung für die Positionseröffnung:

if (OrdersTotal()>0) //находит общее кол-во позиций/ордеров
{  for (int i=OrdersTotal()-1; i>=0; i--) // их перебор
   {  if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) // перебирает только среди позиций
      {  if (OrderSymbol()!=Symbol()) continue; // перебирает только позиции по тому символу
                                                // на чей график кинули советник
         if (OrderTicket()>0) return(0); // если обнаружена позиция - конец действия программы
}  }  }
 
paladin80:

Fügen Sie dieses Codestück vor der Bedingung für die Positionseröffnung ein:


Vielen Dank! Probieren wir es aus!

Ich habe es ausprobiert, aber es öffnet immer noch eine Reihe von Aufträgen! Gibt es eine Möglichkeit, den TakeProfit Expert Advisor auszuschalten, wenn der Auftrag geschlossen wird?

 
lowech:

Vielen Dank! Probieren wir es aus!

Ich habe es ausprobiert, aber es öffnet immer noch eine Reihe von Aufträgen! Gibt es eine Möglichkeit, TakeProfit Expert Advisor zu deaktivieren, wenn ein Auftrag geschlossen wird?

Wenn Sie dieses Codestück korrekt vor die Bedingung der Positionseröffnung setzen, sollte Ihr EA nicht mehr als eine Position für diese Währung eröffnen. Wie für die Deaktivierung der EA nach TakeProfit - es gibt keine Notwendigkeit, es zu deaktivieren. Es ist besser, gleich den richtigen Code zu verwenden.
 
paladin80:
Wenn Sie dieses Codestück korrekt vor die Bedingung der Positionseröffnung setzen, sollte Ihr Expert Advisor offensichtlich nicht mehr als eine Position für eine bestimmte Währung eröffnen. Wie für die Deaktivierung der EA nach TakeProfit - es gibt keine Notwendigkeit, es zu deaktivieren. Es ist besser, gleich den richtigen Code zu machen.

if(OrdersTotal()>0) //ermittelt die Gesamtzahl der Positionen/Bestellungen

{  for (int i=OrdersTotal()-1; i>=0; i--) // их перебор
   {  if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) // перебирает только среди позиций
      {  if (OrderSymbol()!=Symbol()) continue; // перебирает только позиции по тому символу
                                                // на чей график кинули советник
         if (OrderTicket()>0) return(0); // если обнаружена позиция - конец действия программы 
}  }  }

Dieser Code, wie ich es verstehe, ist auf der Suche nach offenen Positionen! Mein Problem ist, dass der EA öffnet Auftrag nach Auftrag, nicht in einer Reihe, und nach der vorherigen Bestellung schließt TakeProfit oder StopLoss, die Position wird wieder geöffnet und nur 1 Bestellung !

 
lowech:

if(OrdersTotal()>0) //ermittelt die Gesamtzahl der Positionen/Bestellungen

Dieser Code, wie ich es verstehe, ist auf der Suche nach offenen Positionen! Mein Problem ist, dass der EA öffnet Auftrag nach Auftrag, nicht in einer Reihe, und nach der vorherigen Bestellung schließt TakeProfit oder StopLoss Position wird wieder offen und nur 1 Bestellung !

Habe ich den Algorithmus richtig verstanden?
Nach Auslösung einer Einstiegsbedingung wird nur eine Position geöffnet. Wenn er mit Gewinn oder Verlust schließt, handeln Sie nicht an dem Tag, an dem er geschlossen wurde. Übrigens, handeln Sie mit einem Symbol oder mit mehreren?
Ich weiß nicht, über die Deaktivierung des EA, weil ich es nicht verwenden, vielleicht jemand, der hier weiß, wird schreiben, ob es möglich ist.
 
Die Funktion SendFTP sendet eine Textdatei an den Server. Auf dem Server ist die Datei jedoch leer - 0 KB. Was könnte das Problem sein?
 
serler2:
Die Funktion SendFTP sendet eine Textdatei an den Server. Auf dem Server ist die Datei jedoch leer - 0 KB. Was könnte das Problem sein?
Und beim Kunden?
 
Reshetov:
Und beim Kunden?

Ich habe viele Möglichkeiten ausprobiert. Sowohl Bild als auch Text und Statistiken. Alle kommen mit Null Volumen. Auf dem lokalen Computer sind die Dateien natürlich nicht leer.

 
serler2:

Ich habe viele Möglichkeiten ausprobiert. Sowohl Bild als auch Text und Statistiken. Alle kommen mit Null Volumen. Auf dem lokalen Computer sind die Dateien natürlich nicht leer.

Dann XZ, d.h. entweder Telepathen fragen, oder im Studio codieren.

Es ist jedoch nicht immer so, dass der Server mit MT4-Transaktionen erfolgreich ist. Es gab Fälle, in denen der Wechsel zwischen passivem und aktivem Modus half, und es gab Fälle, in denen nichts half. Nicht alle Server und nicht alle Clients unterstützen das vollständige RFC 959-Protokoll, daher die Probleme.