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

 
artsnz >> :

Ist dies möglich? DoC-Angebot zum Abschluss eines Auftrags zu einem günstigeren Preis???? Das ist das erste Mal, dass ich von einem Maklerunternehmen höre, das so schlampig arbeitet.

Der Roboter war nicht dumm, er kann per Definition nicht dumm sein.

Es ist einfach notwendig, den Code zu korrigieren, wenn du willst, kannst du ihn hier auslegen und du kannst hier helfen, du kannst in deiner persönlichen Nachricht schreiben und sicherlich wird auch geholfen.

1. Ja, es ist passiert - das geht aus dem Protokoll hervor.

2. Ich habe das Wort "dumm" im übertragenen Sinne verwendet, was bedeutet, dass etwas im Code falsch war.

3. Hier ist der Code für das Schließen der Pose:

for ( cop=0; cop< t_o; cop++)
 {
  OrderSelect( cop, SELECT_BY_POS, MODE_TRADES);//Выбор ордера по позиции среди открытых
  if(OrderMagicNumber()== MN) 
  {
   ot=OrderTicket();
   if(!OrderClose(OrderTicket(),OrderLots(), price,3, Color))
    Print("Ошибка при закрытии ордера! ED:", ErrorDescription(GetLastError()));
   
  }
 }

Aber die Pose schließt sich nicht immer, und es ist kein Fehler, es ist normal, dass eine solche Meldung vom Server kommt:

2009.09.08 00:44:42 '64766': requote 1.51893 / 1.51933 für Auftrag #11573500 verkaufen 1.80 EURCHF Schlusskurs 1.51914

Wie Sie wissen, bedeutet dies, dass sich der Preis kurzfristig geändert hat, während die Abschlussanfrage an den Server ging.

Und der Server bietet einen neuen Schlusskurs an. Der Server erhält eine Antwortzeit von 3 Sekunden. Und hier liegt das Problem - der Server weigert sich, die Bestellung zum neuen Preis abzuschließen!

Wie dies geschieht, ist nicht klar... Helfen Sie mir bitte zu verstehen.

 

Leute, bitte erklärt mir die Bedeutung des Ausrufezeichens(!ExistPosition).

if(cnt > 0 && !ExistPosition(OP_BUY) && Ask <= price - PipsForOpenMore * Point)

 
001 >> :

Leute, bitte erklärt mir die Bedeutung des Ausrufezeichens(!ExistPosition).

if(cnt > 0 && !ExistPosition(OP_BUY) && Ask <= price - PipsForOpenMore * Point)

Die wörtliche Übersetzung dieser Zeile lautet

wenn cnt MEHR als 0 ist und die Funktion ExistPosition(OP_BUY) FALSE zurückgibt und Ask WENIGER als oder gleich Preis - PipsForOpenMore * Point ist, dann....

Das "!" ist eine Verneinung. Wäre dies nicht der Fall, würde die if-Bedingung davon ausgehen, dass die Funktion ExistPosition(OP_BUY) TRUE zurückgeben sollte.

 
Hallo, könnten Sie bitte beraten, wie man ein Stop-Loss- oder Take-Profit-Ereignis in einem EA abfangen und verarbeiten kann? Ich möchte Sie fragen, wie ein Stop-Loss- oder Take-Profit-Ereignis verarbeitet werden kann.
 
cdover >> :
Hallo, Könnten Sie bitte beraten, wie man in einem EA den Fall des Schließens eines Geschäfts bei Stoploss oder Takeprofit abfangen und behandeln kann. >> Danke.

Möchten Sie, dass etwas vor dem Schließen des Stopps/Gewinns ausgeführt wird?

 
MrSoros писал(а) >>

Möchten Sie, dass etwas vor dem Schließen des Stopps/Gewinns ausgeführt wird?

Nein, direkt nach Börsenschluss.

 

OrdersTotal() - gibt 0 zurück, sobald die Bestellung abgeschlossen ist.

Wenn OrdersTotal() also 0 zurückgibt, führen Sie die Verarbeitung durch...

Dies ist der Fall, wenn nur ein Auftrag offen ist.

Wenn Sie Ihre Situation genauer beschreiben, was Sie nach Abschluss der Bestellung tun wollen, dann kann ich Ihnen eine bessere Antwort geben :)

 
Alex5757000 >> :
Kolleginnen und Kollegen, ich habe eine Frage zur Mittelwertbildung. rein mathematisch. nehmen wir an, wir haben 3 mal gemittelt: Positionen mit dem gleichen Volumen von 1 Lot. zu einem Preis von 1,8 und 1,6 und 1,4. Der tatsächliche Eröffnungskurs liegt hier bei 1,6. Damit ist die Sache klar. Aber ich verstehe nicht, wie ich den aktuellen Eröffnungskurs berechnen kann, wenn wir mit unterschiedlichen Lots eröffnet haben, z.B. mit einem Durchschnittsfaktor von N. // Zum Beispiel: 0,1 Lot und 0,2 und 0,4 - hier N==2 bei 1,8 und 1,6 und 1,4 . Wie hoch wird der tatsächliche Eröffnungspreis sein?

Ich verstehe die Logik nicht.

Können Sie das anhand eines Beispiels genauer erklären?

 
MrSoros писал(а) >>

3. Hier ist der Code zum Schließen der Position:

Erhöhen Sie den Slippage-Wert auf 50, Sie haben 5 Stellen, also funktionieren 0,3 Pips nicht.

 
cdover писал(а) >>
Hallo, könnten Sie mir bitte sagen, wie ich in meinem EA den Fall des Abschlusses eines Geschäfts bei Stop Loss oder Take Profit erfassen und behandeln kann. >> Danke.

Schauen Sie sich den letzten Auftrag in der Historie an und bestimmen Sie die Auftragsart.

Zum Beispiel für eine Long-Position:

Wenn der Auftrag zu einem Preis geschlossen wurde, der gleich oder niedriger als der Stop-Loss war, dann war es ein Stop-Loss.

Wenn der Preis gleich oder höher ist als TakeProfit - TakeProfit.

Grund der Beschwerde: