Einzelnen Beitrag anzeigen
  #8 (permalink)  
Alt 19.03.12
Benutzerbild von sandmann23
sandmann23 sandmann23 ist offline
Mitglied
 
Registriert seit: Feb 2012
Beiträge: 67
sandmann23 befindet sich auf einem aufstrebenden Ast
sandmann23 eine Nachricht über Skype™ schicken
Standard

Hi,
kleiner Hinweis am Rande:

OrderSelect(i, SELECT_BY_POS, MODE_TRADES)

Bei Nutzung SELECT_BY_POS ist nicht sichergestellt, das eine Antwort kommt.
Es klappt in 99% aller Fälle, aber wenn man mit ein bisschen mehr Programmieraufwand auf 100% kommt, dann sollte man diesen extra Schritt gehen.

Warum klappt es nur in 99% aller Fälle?
Das liegt an der Struktur die MetaQuotes den Brokern vorgibt. Ein Server verwaltet das open/closing und ein andere verwaltet die alten Trades bzw die schon eröffneten.
Manchmal klappt die Kommunikation zwischen den Servern nicht richtig. Dadurch kann es sein, das jeder EA in eine Endlosschleife kommt und alle 5sec eine neue Order aufgibt.

Ich habe den Fall selber erlebt und versucht euch mal vorzustellen, wieviele Mails ich schicken musste, bis ich den Broker Mitarbeitern ihre eigenen Systeme und Fehler erklärt hatte. Gibt auch nur ganz wenige Postings dazu im Internet, ist aber schon seit 2006 anscheinend bekannt.

Für Backtests und Demokonten ist das alles schön und gut, aber sobald es um echtes Geld geht, muss man sehr sorgfältig arbeiten. Seit dem Vorfall verlasse ich mich noch noch nicht einmal mehr auf OrdersTotal()

Lösung:
SELECT_BY_TICKET nutzen. Mit der Ticketnummer kann der Server immer arbeiten, also speichert die Ticketnummern in einer csv Datei oder als GlobalVariable()

PS gute EAs erkennt man auch daran, das sie ein bisschen grösser sind. Ein ordentliches OrderManagement braucht Speicher.

Gruss
sandmann
__________________
es muss nicht immer Forex sein:
Handelssysteme auf Eurex Daten
MyFxBook - Performance - T4Y
facebook