![]() |
|
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 |
|
|||
![]()
Hallo,
ich versuche aus der History, Order mit bestimmenten Comment zu selektieren. Es gibt genau 2 Positionen, welche im Profit geschlossen wurden, aber es werden keine Ergebnisse angezeigt. Es soll das Ergebnis (+/-) von Profit, Loss, Swap, Commission ausgegeben werden Habe es mit allen Varianten durch probiert. Jemand eine Idee die mich weiterbringt, besten Dank Mimo HTML-Code:
double PairHistoryProfitLossCalc(){ double bapairprofitloss=0,babuyprofit=0,basellprofit=0; for(cnt=0;cnt<OrdersTotal();cnt++){ if(OrderSelect(cnt,SELECT_BY_POS,MODE_HISTORY)) if(OrderSymbol()==Symbol() && OrderMagicNumber()==111 && StringFind(OrderComment(),"111",0)) if(OrderType()==OP_BUY )babuyprofit=babuyprofit+OrderProfit()+OrderSwap()+OrderCommission(); if(OrderType()==OP_SELL)basellprofit=basellprofit+OrderProfit()+OrderSwap()+OrderCommission(); bapairprofitloss=babuyprofit+basellprofit; } return(bapairprofitloss); } |
|
|||
![]()
Nun, dann schreibe mal statt:
for(cnt=0;cnt<OrdersTotal();cnt++){ die Zeile: for (cnt = 0 ; cnt < OrdersHistoryTotal(); cnt++) { traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
![]()
Du hast vollkommen recht! Danke! Zuviel Arbei, zuwenig Schlaf...
Aber die Summe die nun rauskommt entspricht nicht der Summe in der History für das Symbol + Magic, erschwerend kommt hinzu wenn ich statt 111 z.B. 777 (ist nirgendwo im Einsatz) kommt die selbe Summe raus, eigentlich müßte es "0", denn es gibt weder als Magic noch im Comment die "777". Mimo |
|
|||
![]() Zitat:
AVT |
|
|||
![]()
Hallo,
ich bin an dem selben Problem. Gibt es eine Lösung zu dem Ansatz hier? Code:
void Historie() { double bapairprofitloss=0,babuyprofit=0,basellprofit=0; int cnt; for(cnt=0;cnt<OrdersHistoryTotal();cnt++) { if(OrderSelect(cnt,SELECT_BY_POS,MODE_HISTORY)) if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magicnummer) if(OrderType()==OP_BUY )babuyprofit=babuyprofit+OrderProfit()+OrderSwap()+OrderCommission(); if(OrderType()==OP_SELL)basellprofit=basellprofit+OrderProfit()+OrderSwap()+OrderCommission(); bapairprofitloss=babuyprofit+basellprofit; Print("Gewinn fuer Magicnr",Magicnummer,": ",bapairprofitloss); } } |
|
|||
![]()
Was soll denn gelöst werden?
traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
![]() |
|
|||
![]() Zitat:
Code:
// =================================================================== void OnStart() { Historie(); } // =================================================================== void Historie() { double bapairprofitloss=0,babuyprofit=0,basellprofit=0; int cnt; for(cnt=0;cnt<OrdersHistoryTotal();cnt++) { if(OrderSelect(cnt,SELECT_BY_POS,MODE_HISTORY)) //if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magicnummer) if(OrderSymbol()==Symbol() ) // FürAlleOrdersDisesSymbols { if(OrderType()==OP_BUY ) babuyprofit=babuyprofit+OrderProfit()+OrderSwap()+OrderCommission(); //AlleBuysSummieren if(OrderType()==OP_SELL) basellprofit=basellprofit+OrderProfit()+OrderSwap()+OrderCommission(); //AlleSellsSummieren } } bapairprofitloss=babuyprofit+basellprofit; //SummenAddieren Print("Gewinn gesamt: ",DoubleToStr(bapairprofitloss,2)," €"); //UndMelden } |
![]() |
Lesezeichen |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|