|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Abfrage offener Trades
Hi!
Zwei Fragen zur Abfrage offener Trades. 1. In welchen Programmteil baut Ihr diese Routine ein? Ich hatte es bisher immer bei int start() eingebaut. So wird natürlich bei jedem Tick danach überprüft. Ich schreibe gerade aber einen neuen Bot und überlege diese Abfrage in den int OnInit() Bereich zu verlegen, um dies nur einmal bei Programmstart zu überprüfen. Hat dies Nachteile? Ich bastel einen Gridbot für Gold und Silber. Dadurch kann es viele offene Trades geben. 2. Gibt es seit Build 600 eine neue tolle Art die offenen Trades zu verwalten? |
|
|||
Danke für die Antworten.
Sollte es nicht reichen einmal zum Anfang, wenn der EA startet die offenen Positionen abzufragen, anstatt bei jedem Durchlauf, also Tick? Gerade wenn der Markt schnell wird, wäre es doch unnötige Zeit ständig die gleiche Abfrage laufen zu haben? Wenn der Bot läuft und die Abfrage bei Programmstart funktioniert weiß der EA doch sowieso was offen ist. Geändert von PortfolioTrader (24.03.14 um 14:57 Uhr) Grund: Verwirrt :D |
|
||||
Zitat:
Aber mach' mal, wenn Du mir möglicherwe nicht glaubst daß OnInit einmalig beim Start des EA ausgeführt wird, dann glaubst Du es vielleicht wenn Du es selbst liest: Event Handling Functions - MQL4 Documentation |
|
|||
Zitat:
Code:
OnInit() Abfrage der offenen Positionen nach Magic -> Kein Trade mit Magic offen -> x=0 -> Trade mit Magic offen -> x=1 und Ablegen der Tradeinfo (buy/sell, sl, tp, blabla) OnTick() -> x=0 -> öffne trade und x=1 -> x=1 -> übernahme Tradeinfo |
|
|||
Wenn Du nicht willst, dass die Abfrage der Trades allgemein, aus der ja dann erst ermittelt werden könnte, ob offene Trades vorhanden sind, bei jedem Tick angesprungen wird, sondern nur wenn wirklich Trades offen sind, dann könnte man direkt beim Öffnen eines Trades ein Flag setzen, der dann zum zuküftigen Abfragen der Trades benutzt wird. Dieses Flag kann eine globale bool-Variable sein oder eine über GlobalVariableSet() gesetzte.
Stellt der EA das erste mal fest, dass es keine offenen Orders mehr gibt, wird das Flag zurückgesetzt. traderdoc |
|
|||
@doc, all
Gibt es mit Build 600 neue, ggf. bessere Arten offene Trades zu managen? |
|
|||
Was verstehst Du konkret unter Order managen?
Und wie und was hast Du bisher getan, um sie zu managen? traderdoc |
|
|||
Zitat:
Code:
j=OrdersTotal()-1; int Count=0; for (i=j;i>=0;i--) { OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderType()==OP_SELL && OrderMagicNumber()==magic && OrderSymbol()==Symbol() ){ Count=Count+1; //Count++ } } if( Count==0 ){ do_something; } Mit "managen" meine ich eigentlich nur, dass mein EA nach einem Neustart des MT die noch offenen Positionen der EA eigenen Trades wieder auffinden kann inkl. alle wichtigen Infos. |
Lesezeichen |
Stichworte |
mql4, offen, offene trades, programmierung, programmierung metatrader, trades |
|
|