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

 
Notter:

Guten Tag,

Auch auf einem echten Konto gibt es viele Fehler bei der Ausführung von Handelsaufträgen. Zum Beispiel heute:

2013.01.10 13:46:09 '15082': Kauf 0,15 EURUSD bei 1,30844 sl: 1,30758 tp: 0,00000
2013.01.10 13:46:10 '15082': Anfrage wurde vom Server akzeptiert
2013.01.10 13:46:10 '15082': requote 1.30843 / 1.30858 für open buy 0.15 EURUSD bei 1.30844 sl: 1.30758 tp: 0.00000
2013.01.10 13:46:11 '15082': instant order buy 0.15 EURUSD bei 1.30869 sl: 1.30785 tp: 0.00000
2013.01.10 13:46:11 '15082': Anfrage wurde vom Server akzeptiert
2013.01.10 13:46:11 '15082': Anfrage in Bearbeitung
2013.01.10 13:46:13 '15082': Auftrag wurde eröffnet: #12941470 buy 0.15 EURUSD at 1.30869 sl: 1.30785 tp: 0.00000

Das heißt, von dem Signal, um die Position zu öffnen, dauerte es 4 Sekunden zur Ausführung. Und wie ich vermute - das ist nicht die Grenze.

Der Grund für diese Verzögerung ist, dass die Bestellung um 15 Punkte nach oben korrigiert wurde.

Wie kann ich mich dagegen wehren? 15 Pips sind mir egal. Ich möchte einen Auftrag nach Markt eröffnen, und es spielt keine Rolle, wie sehr sich der Preis in einer Sekunde ändert. Infolgedessen habe ich bei1,30869 höher eröffnet, während ich bei 1,30858 hätte eröffnen sollen. Dieses Problem kann für die Rentabilität/Verluste des Expert Advisors kritisch werden, wenn er nicht auf das Signal hin öffnen kann und auf den Beginn der Korrektur wartet.

Ich danke Ihnen.



Ich empfehle Ihnen dringend, Ihre Maklerfirma zu wechseln. Können Sie mir den Namen dieses Maklerunternehmens in einer persönlichen Nachricht mitteilen?
 
tara:

Der Umfang des "Fuck off" wird durch einen Auftragsparameter namens "Slippage" festgelegt. In Ihrem Fall war es 0, so dass eine Abweichung von 1 Punkt im Angebot zu einer erneuten Bewertung führte.


Als ob es dort keinen 1 Punkt gäbe ... erfinde ihn nicht.
 

Heroix

Ich weiß nicht viel über Maklerfirmen, ich habe einen Vertrag mit Finam, ich handle über Modem und ich weiß nicht, an welche Maklerfirma meine Aufträge gehen... Ich weiß nicht, an welche Maklerfirma meine Aufträge gehen... Ich habe noch keine Ahnung davon.

Ich weiß nicht, wie hoch meine Spreads sind, ich habe keine Ahnung, mit welcher Art von Spreads ich zu tun habe. Da der Spread von der EU abhängt, kann er weniger als 15 Pips betragen, was allerdings unwahrscheinlich ist. Ich denke an etwa 30 Pips.

Sobald ich die Bedingungen für den Abschluss der Bestellung erfüllt hatte, fror mein Terminal mit einer Meldung ein

2013.01.10 14:47:45 TradeContext: ping Fehler
2013.01.10 14:48:50 '15082': ping fehlgeschlagen

Nach einigen Versuchen, sich erneut anzumelden, wurde die Bestellung geschlossen :)

Im Allgemeinen würde ich sagen, dass der Handel Spaß macht, er ist automatisiert, ich muss ständig Fehler korrigieren :)

 

Guten Tag zusammen!

Leute, bitte ratet mal, wie man das Problem im folgenden Code lösen kann:

       double sSup=Sup-(Udal*Point);                           // Sup - это уровень поддержки, Udal - расстояние от него
       zapS=0;
       for(int iS=0; iS<=OrdersTotal(); iS++)                  // перебор открытых ордеров
         {
          if(OrderSelect(iS,SELECT_BY_POS,MODE_TRADES)==true)  // выбор рыночного ордера
            {
             if(OrderSymbol()!=Symb) continue;                 // только нужный инструмент
             if(OrderType()>1) continue;                       // только рыночные
             sPO=OrderOpenPrice();                             // его цена
             sellTip=OrderType();                              // его тип
             if(sPO==sSup && sellTip==1) zapS=1;               // если цена открытого ордера совпадает с sSup и уровень является Sell, то поднять флаг
            }
         }
Das Problem liegt in der Zeile if(sPO==sup && sellTip==1) zapS=1; (oder genauer gesagt in dem Fragment sPO==sup ) . Folgendes Problem: wenn z.B. sPO=1,3100 und sSup=1,3100 ist das Flag immer noch gleich 0 (der Wert 1,3100 wird bei beiden Werten über Print gedruckt). Wo mache ich einen Fehler? Warum wird zapS nicht 1?
 
WindSW:

Guten Tag zusammen!

Leute, bitte ratet mal, wie man das Problem im folgenden Code lösen kann:

Das Problem liegt in der Zeileif(sPO==sup && sellTip==1) zapS=1; (oder genauer gesagt in dem Fragment sPO==sup ) . Folgendes Problem: wenn z.B. sPO=1,3100 und sSup=1,3100 ist das Flag immer noch gleich 0 (der Wert 1,3100 wird bei beiden Werten über Print gedruckt). Wo mache ich einen Fehler? Warum wird zapS nicht 1?


https://www.mql5.com/ru/articles/1561
 
ilunga:

https://www.mql5.com/ru/articles/1561
Ich danke Ihnen! Ich werde versuchen, es zu reparieren
 
WindSW:

Guten Tag zusammen!

Leute, bitte ratet mal, wie man das Problem im folgenden Code lösen kann:

Das Problem liegt in der Zeileif(sPO==sup && sellTip==1) zapS=1; (oder genauer gesagt in dem Fragment sPO==sup ) . Folgendes Problem: wenn z.B. sPO=1,3100 und sSup=1,3100 ist das Flag immer noch gleich 0 (der Wert 1,3100 wird bei beiden Werten über Print gedruckt). Wo mache ich einen Fehler? Warum wird zapS nicht 1?

Sehen Sie hier nach...
 

Hallo alle, ich kann nicht verstehen, was falsch ist mit mehreren EAs arbeiten zur gleichen Zeit, nur eine Bestellung öffnet, der Rest von ihnen ignorieren Signale, bitte beraten, was falsch ist?Orders - Funktion zur Bestimmung der Anzahl der Aufträge auf den Zauberer

total=AuftragsSumme();

if(total >=-1 && total == Orders(symbol,operation,magic))

 
dimarik0000:

Hallo alle, ich kann nicht verstehen, was falsch ist mit mehreren EAs arbeiten zur gleichen Zeit, nur eine Bestellung öffnet, der Rest von ihnen ignorieren Signale, bitte beraten, was falsch ist?Orders - Funktion zur Bestimmung der Anzahl der Aufträge auf den Zauberer

total=AuftragsSumme();

if(total >=-1 && total == Orders(symbol,operation,magic))


Was ist das für ein verrückter Zustand?! :)

Schreiben Sie diesen Operator auf Russisch und ich werde versuchen, die Zeichenfolge zu korrigieren.

 
hoz:
Ich hatte die Idee, bekannte Price-Action-Muster namensDBLHC undDBHLC zu verwenden.




Bedingungen für seine Bildung:

DBLHC (Bull Setup)- Balken mit identischen Tiefs und höheren Schlusskursen.
Zwei (ggf. drei oder mehr) aufeinanderfolgende Balken mit denselben Tiefstständen, wobei der Schlusskurs des letzten Balkens höher ist als der Höchstkurs des vorhergehenden Balkens. Die Differenz zwischen den Tiefstständen benachbarter Balken darf 3 Pips nicht überschreiten. Je mehr Balken die Anordnung umfasst, desto stärker ist das Signal, das sie erzeugt.

DBHLC (Bearish Setup)- Balken mit gleichen Höchstständen und niedrigeren Schlusskursen.
Zwei (drei oder mehr) aufeinanderfolgende Balken mit denselben Höchstwerten, wobei der Schlusskurs des letzten Balkens niedriger ist als das Minimum des vorherigen Balkens. Die Differenz der Höchstwerte benachbarter Balken darf 3 Punkte nicht überschreiten. Je mehr Balken die Anordnung umfasst, desto stärker ist das Signal, das sie erzeugt.

Nehmen wir zum Beispiel denDBLHC (Bullish Setup)

. Der Eröffnungskurs des aktuellen Balkens sollte nahe dem Minimum des vorherigen Balkens liegen. Es ist leicht zu schreiben. Wir interessieren uns aber für den Fall, dass es mehr als einen Balken mit demselben oder fast demselben Minimum gibt, zum Beispiel 5. Wie sollten wir in einem solchen Fall vorgehen? Wie kann diese Bedingung spezifiziert werden, so dass nicht nur der vorhergehende Balken, sondern auch die davor liegenden Balken in der Historie berücksichtigt werden?

Ich nehme an, wir sollten die Balken von der Vergangenheit bis zur Gegenwart durchgehen:

Dann sollten wir irgendwie die Bedingung festlegen, dass, wenn das Minimum des nächsten Balkens auch gleich dem Minimum des/der vorherigen ist, dann... weiter vergleichen wir es... Wie kann man das umsetzen?

Hier ist ein Tipp:

NormalizeDouble(Low[i]-Low[i+1],Digits)<=3*Point --- Differenz zwischen benachbarten Balken. Wenn die Bedingung nicht erfüllt ist -> Return(False); (Gibt false zurück)

Return(False) nach Durchlaufen der Schleife

Wir können es auch anders machen:

Wenn die Bedingung NormalizeDouble(Low[i]-Low[i+1],Digits)<=3*Point erfüllt ist, wird der Zähler der benachbarten Takte (der anfangs gleich Null ist) um 1 erhöht,

Wenn die Bedingung falsch ist, geben wir den Wert des benachbarten Taktzählers zurück.

Je größer die von der Funktion zurückgegebene Zahl ist, desto stärker ist die Menge. Wenn Null zurückgegeben wird, ist die Einrichtung nicht vorhanden.

Grund der Beschwerde: