Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 58

 
Vitaly Muzichenko:

Hier ist

void OnTick()
{
  Comment( cLot(100)," | ",AccountFreeMarginCheck(_Symbol,OP_BUY,cLot(100)) );
}
Viel Glück, ich erhalte eine Fehlermeldung.
 
Movlat Baghiyev:
Viel Glück, ich erhalte eine Fehlermeldung.
Dann lassen Sie uns rückwärts gehen. Zeigen Sie mir Ihren Code. Ich verwende dieselbe Formel, um die Partie zu berechnen, und alles funktioniert.
 

Und so ist eine mehr oder weniger funktionierende Version des vorherigen EA fertig

Das ist der Kern der Sache.

Sie haben zum Beispiel 50 Aufträge

bei dem Befehl "alle schließen" werden maximal 15 davon geschlossen; alle anderen haben Timeouts und Requotes

Der Rest erfordert wiederholte Durchgänge, und bei scharfen Bewegungen erhöht sich die Anzahl der Durchgänge erheblich.

Ist es möglich, dies auf mein Konto zu übertragen?

Soweit ich weiß, sind solche Appelle an den Chef des Servers nicht willkommen, aber ich könnte mich irren.

 
trader781:

Und so ist eine mehr oder weniger funktionierende Version des vorherigen EA fertig

Das ist der Kern der Sache.

Sie haben zum Beispiel 50 Aufträge

bei dem Befehl "alle schließen" werden maximal 15 davon geschlossen; alle anderen haben Timeouts und Requotes

Der Rest erfordert wiederholte Durchgänge, und bei scharfen Bewegungen erhöht sich die Anzahl der Durchgänge erheblich.

Ist es möglich, dies auf mein Konto zu übertragen?

Soweit ich weiß, sind solche Appelle an den Chef des Servers nicht willkommen, aber ich könnte mich irren.

Um nicht zum Psychokoch zu werden, sollte man nicht stupide wiederholen, sondern die Fehler analysieren und eine kompetente Entscheidung treffen, es noch einmal zu versuchen oder auszulassen.

Alternativ kann der Zyklus auch von 0 bis ... aufgebaut werden. dann ist das Überspringen unvermeidlich. Verwenden Sie eine inverse Schleife

for(int i = OrdersTotal(); i >= 0; --i)
 
Alexey Viktorov:

Damit der Chefkoch nicht ausflippt, sollte man nicht stupide wiederholen, sondern die Fehler analysieren und eine intelligente Entscheidung treffen, ob man es noch einmal versucht oder es auslässt.

Alternativ kann der Zyklus auch von 0 bis ... aufgebaut werden. dann ist das Überspringen unvermeidlich. Verwenden Sie eine inverse Schleife

for(int i = OrdersTotal(); i >= 0; --i)
AufträgeSumme()-1
 
Artyom Trishkin:
AufträgeSumme()-1
Alexey Viktorov:

Um zu verhindern, dass der Koch ausflippt, sollte man nicht stupide wiederholen, sondern die Fehler analysieren und eine intelligente Entscheidung treffen, ob man es noch einmal versucht oder es sein lässt.

Alternativ kann der Zyklus auch von 0 bis ... aufgebaut werden. dann ist das Überspringen unvermeidlich. Verwenden Sie die Wendeschleife

for(int i = OrdersTotal(); i >= 0; --i)

hier ist ein Teil des Protokolls während der aktuellen Verarbeitung, ein Teil davon wird geändert, und, unabhängig von dem Befehl, nicht alle Aufträge ausgelöst werden, wenn es mehr als 20 Aufträge sind, wird dies für alle bei jedem Befehl wiederholt, und nur der Prüfer

2017.01.05 18:31:44.919 2016.12.14 23:03:00 Tester: Stop Loss #716 bei 1,05321 (1,05297 / 1,05347)

2017.01.05 18:31:44.919 2016.12.14 23:03:00 Tester: Stop Loss #715 bei 1,05321 (1,05297 / 1,05347)

2017.01.05 18:31:44.919 2016.12.14 23:03:00 Tester: Stop Loss #714 bei 1,05321 (1,05297 / 1,05347)

2017.01.05 18:31:44.919 2016.12.14 23:03:00 Tester: Stop Loss #713 bei 1,05321 (1,05297 / 1,05347)

2017.01.05 18:31:44.919 2016.12.14 23:03:00 Tester: Stop Loss #712 bei 1,05321 (1,05297 / 1,05347)

2017.01.05 18:31:44.919 2016.12.14 23:03:00 Tester: Stop Loss #711 bei 1,05321 (1,05297 / 1,05347)

2017.01.05 18:31:44.919 2016.12.14 23:01:00 Moving tral-martin EURUSD,M1: OrderClose Fehler 138

2017.01.05 18:31:44.919 2016.12.14 23:01:00 Moving tral-martin EURUSD,M1: OrderClose Fehler 138

2017.01.05 18:31:44.919 2016.12.14 23:01:00 Moving tral-martin EURUSD,M1: OrderClose Fehler 138

2017.01.05 18:31:44.919 2016.12.14 23:01:00 Moving tral-martin EURUSD,M1: OrderClose Fehler 138

2017.01.05 18:31:44.919 2016.12.14 23:01:00 Moving tral-martin EURUSD,M1: OrderClose Fehler 138

2017.01.05 18:31:44.919 2016.12.14 23:01:00 Moving tral-martin EURUSD,M1: modify #711 sell 0.01 EURUSD at 1.05862 sl: 1.05321 tp: 0.00000 ok

2017.01.05 18:31:44.919 2016.12.14 23:01:00 Moving tral-martin EURUSD,M1: modify #712 sell 0.02 EURUSD at 1.05682 sl: 1.05321 tp: 0.00000 ok

2017.01.05 18:31:44.919 2016.12.14 23:01:00 Moving tral-martin EURUSD,M1: modify #713 sell 0.04 EURUSD at 1.05388 sl: 1.05321 tp: 0.00000 ok

2017.01.05 18:31:44.919 2016.12.14 23:01:00 Moving tral-martin EURUSD,M1: modify #714 sell 0.08 EURUSD at 1.05229 sl: 1.05321 tp: 0.00000 ok

2017.01.05 18:31:44.919 2016.12.14 23:01:00 Moving tral-martin EURUSD,M1: modify #715 sell 0.16 EURUSD at 1.05077 sl: 1.05321 tp: 0.00000 ok

2017.01.05 18:31:44.919 2016.12.14 23:01:00 Moving tral-martin EURUSD,M1: modify #716 sell 0.32 EURUSD at 1.05232 sl: 1.05321 tp: 0.00000 ok

2017.01.05 18:31:44.919 2016.12.14 23:01:00 Moving tral-martin EURUSD,M1: open #716 sell 0.32 EURUSD at 1.05232 ok

2017.01.05 18:31:44.918 2016.12.14 22:52:00 Moving tral-martin EURUSD,M1: OrderClose Fehler 138

2017.01.05 18:31:44.918 2016.12.14 22:52:00 Moving tral-martin EURUSD,M1: OrderClose Fehler 138

2017.01.05 18:31:44.918 2016.12.14 22:52:00 Moving tral-martin EURUSD,M1: OrderClose Fehler 138

2017.01.05 18:31:44.918 2016.12.14 22:52:00 Moving tral-martin EURUSD,M1: OrderClose Fehler 138

2017.01.05 18:31:44.918 2016.12.14 22:52:00 Moving tral-martin EURUSD,M1: OrderModify Fehler 4051

2017.01.05 18:31:44.918 2016.12.14 22:52:00 Moving tral-martin EURUSD,M1: Ungültiger Stoploss für OrderModify Funktion

2017.01.05 18:31:44.918 2016.12.14 22:52:00 Moving tral-martin EURUSD,M1: modify #715 sell 0.16 EURUSD at 1.05077 sl: 200.00000 tp: 0.00000 ok

2017.01.05 18:31:44.918 2016.12.14 22:52:00 Moving tral-martin EURUSD,M1: open #715 sell 0.16 EURUSD at 1.05077 ok

2017.01.05 18:31:44.918 2016.12.14 22:44:00 Moving tral-martin EURUSD,M1: OrderClose Fehler 138

2017.01.05 18:31:44.918 2016.12.14 22:44:00 Moving tral-martin EURUSD,M1: OrderClose Fehler 138

2017.01.05 18:31:44.918 2016.12.14 22:44:00 Moving tral-martin EURUSD,M1: OrderClose Fehler 138

2017.01.05 18:31:44.917 2016.12.14 22:44:00 Moving tral-martin EURUSD,M1: OrderModify Fehler 4051

2017.01.05 18:31:44.917 2016.12.14 22:44:00 Moving tral-martin EURUSD,M1: ungültiger Stoploss für OrderModify-Funktion

2017.01.05 18:31:44.917 2016.12.14 22:44:00 Moving tral-martin EURUSD,M1: modify #714 sell 0.08 EURUSD at 1.05229 sl: 200.00000 tp: 0.00000 ok

2017.01.05 18:31:44.917 2016.12.14 22:44:00 Moving tral-martin EURUSD,M1: open #714 sell 0.08 EURUSD at 1.05229 ok

2017.01.05 18:31:44.916 2016.12.14 22:09:00 Moving tral-martin EURUSD,M1: OrderClose Fehler 138

2017.01.05 18:31:44.916 2016.12.14 22:09:00 Moving tral-martin EURUSD,M1: OrderClose Fehler 138

2017.01.05 18:31:44.916 2016.12.14 22:09:00 Moving tral-martin EURUSD,M1: OrderModify Fehler 4051

 
Artyom Trishkin:
AufträgeSumme()-1

Nein. Das ist richtig. Artyom, lesen Sie über Präfix- und Postfix-Inkrement/Dekrement-Funktionen.

In meiner Version wird der Startwert zuerst um 1 verringert und dann beginnt der Zyklus.

 
Alexey Viktorov:

Nein. Das ist richtig. Artyom, lesen Sie über Präfix- und Postfix-Inkrement/Dekrement-Funktionen.

In meiner Version wird der Startwert zuerst um 1 verringert und dann beginnt der Zyklus.

Ich habe nicht auf das Dekrement geachtet - ich bin auf meinem Handy...
 

trader781:   вот кусок журнала при текущей обработке, часть кроется часть модифицируется, причем вне зависимости от команды сработают не все ордера, если ордеров больше 20, это повторяется для всех при каждой команде, а ведь только тестер

Wieder mit null Schlupf (138)?

Und die Stop-Losses werden laut Logbuch nicht korrekt berechnet.
 
Vitalie Postolache:

Wieder mit null Schlupf (138)?

50 ist überall

die Tatsache, dass bei einer großen Anzahl von Aufträgen nicht alle gleichzeitig abgeschlossen oder geändert werden

Stop Losses - zur Hölle damit, ich werde sie alle herausfinden, wenn ich sie alle auf einmal schließe

im Moment sieht es so aus

https://www.mql5.com/ru/charts/6368852/eurusd-m1-metaquotes-software-corp

График EURUSD, M1, 2017.01.05 17:10 UTC, MetaQuotes Software Corp., MetaTrader 4, Demo
График EURUSD, M1, 2017.01.05 17:10 UTC, MetaQuotes Software Corp., MetaTrader 4, Demo
  • www.mql5.com
Символ: EURUSD. Период графика: M1. Брокер: MetaQuotes Software Corp.. Торговая платформа: MetaTrader 4. Режим торговли: Demo. Дата: 2017.01.05 17:10 UTC.
Grund der Beschwerde: