Hallo, liebe Programmier-"Gemeinde",
habe einen ersten kleinen EA erstellt, der weitestgehend sogar funktioniert. Da sich dieser "Robot" (performance- und equity-abhängig) unterschiedlicher Lot-Größen bedient, ist es allerdings recht schwierig, die erzielten Ergebnisse auch richtig auszuwerten. So reicht es an dieser Stelle nicht aus, die Profits/Losses nur in Form von Pips/Punkten zu ermitteln (dennoch hierzu script-Versuch 1).
Wichtiger wäre hier das Auslesen der tatsächlich erwirtschafteten Gewinne/Verluste, welche jeweils an einen Buffer übergeben und am Ende einfach aufaddiert werden (script-Versuch 2).
(Da MQL scheinbar keine Funktion "OrderLosses()" zur Verfügung stellt, werden die Verluste sicher mittels "OrderProfit()" geholt und entsprechend als Negativ-Betrag ausgewiesen. Ist das richtig?)
Meines Erachtens könnten erste Ansätze ggf. "SO" aussehen:
Code:
//+--- script_Versuch 1 --------------------------------------------+
//+--- get Profits and Losses as Points/pips -----------------------+
for(int i = OrdersHistoryTotal()-1; i>=0; i--)
{
OrderSelect(i, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol() == Symbol())
{
if(TimeCurrent() - OrderCloseTime()==1)
{
if(OrderClosePrice() == OrderTakeProfit()) Print("TakeProfit"); // or: TakeProfit;
else Print("StopLoss"); // or: StopLoss;
}
}
}
//+--- script_Versuch 2 ---------------------------------------------+
//+--- get Profits and Losses as Money ------------------------------+
double Profit_OP_BUY,Losses_OP_BUY,Profit_OP_SELL,Losses_OP_SELL;
for (int i=OrdersHistoryTotal()-1; i>=0; i--)
{
OrderSelect(i, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol() == Symbol())
{
if(OrderType()==OP_BUY)
{
if(OrderClosePrice()>OrderStopLoss())
{
if(OrderProfit()>0) Print("Profit OP_BUY"); // or: Profit_OP_BUY;
else
Print("Losses OP_BUY"); // or: Losses_OP_BUY;
}
}
if(OrderType()==OP_SELL)
{
if(OrderClosePrice()<OrderStopLoss())
{
if(OrderProfit()>0) Print("Profit OP_SELL"); // or: Profit_OP_SELL;
else
Print("Losses OP_SELL"); // or: Losses_OP_SELL;
}
}
}
}
In der Hoffnung, dass ich nicht ganz "daneben liege", würde ich mich über Eure Resonanz, besonders aber über Eure Hilfestellung und Unterstützung, freuen.
Hierzu ein kleines "Danke" schon `mal im Vorraus.
LG. piptrade