|
Startseite | Registrieren | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Order schließen wenn der Kurs eine HLine überschritten wird???
Hallo wieder einmal ,
wollte mal fragen, ob es möglich ist, wenn ich eine Hline in den Chart bei einer geöffneten Order einzeichne und diese vom Kurs überschritten wird, dass darauf hin die Order geschlossen wird, egal ob Profit oder Loss??? Ich habe schon versucht so einige verschiedene Codes in einen EA einzubauen aber irgendwie habe ich einen Denkfehler oder es liegt an etwas anderen. Dass beim überschreiten einer Hline eine Order geöffnet wird, ist überhaupt kein Problem aber beim Schließen geht das nicht. Ist es überhaupt möglich und wenn ja, welchen Code würde funktionieren? Für Hilfe wäre ich sehr dankbar |
|
|||
Wenn du es beim eröffnen geschafft hast, sollte es doch auch zum schließen möglich sein.
Du müsstest den Code mal Posten, damit man das auch nachvollziehen kann wie du das machst. --- Leopold --- |
|
|||
Siehe Mt4 Doku:
https://docs.mql4.com/objects/objectgetvaluebyshift oder https://docs.mql4.com/objects/objectgetshiftbyvalue |
|
|||
Code:
if(Bid == BuyLine) { Order=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slipage,0,0,"",0,0,Lime); } int CL; if(OrderType()==OP_BUY) { if(Bid< CloseLine) CL=True; if(CL==True) { bool CloseOrder= OrderClose(OrderTicket(),Lots,CloseLine,3); } } |
|
|||
Auf den ersten Blick fehlt mal "OrderSelect".
Du musst ja festlegen welche Order geschlossen werden soll. --- Leopold --- |
|
|||
Code:
int i,cnt,CL; cnt = OrdersTotal(); for (i=0;i<cnt;i++) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if (OrderType() == OP_BUY) { if(Bid < CloseLine) CL=True; if (CL==True) { bool CO= OrderClose(OrderTicket(),Lots,CloseLine,3); } } } } } Die CloseLine ist der unter "double CloseLine;" gespeicherte Preis. Beim Order öffnen geht das komischer Weise. |
|
|||
Verwende bei der LotSize "OrderLots()" und beim ClosePrice "Bid".
Und CL würde ich als "bool" deklarieren. |
|
|||
Dazu kommt, dass bei
if(Bid == BuyLine) ein Öffnen der Order in den seltensten Fällen real!! vorgenommen werden würde. Viel besser wäre: if(Bid >= BuyLine) traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Wobei man noch anmerken sollte
wenn der Kurs die Linie überschritten hat bei jedem Tick wieder > BuyLine ist und erneut setzten würde |
|
|||
Code:
int i,cnt; bool CL; cnt = OrdersTotal(); for (i=0;i<cnt;i++) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if (OrderType() == OP_BUY) { if(Bid >= CloseLine) CL=True; if (CL==True) { bool CO= OrderClose(OrderTicket(),OrderLots(),Bid,3); } } } } } Bin ich zu blöd dafür oder warum geht das immer noch nicht??? Irgendwo muss doch noch ein Fehler sein? Auf meinen Chart sehe ich die CloseLine aber wenn der Kurs sie durchquert passiert nichts....Hilfe!!! Das muss doch irgendwie funktionieren... |
Lesezeichen |
Stichworte |
hline, hline order schließen, mql4, order schließen, programmierung, programmierung metatrader, programmierung mql4 |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|