Einzelnen Beitrag anzeigen
  #8 (permalink)  
Alt 02.04.12
Sandreal Sandreal ist offline
Neues Mitglied
 
Registriert seit: Aug 2011
Beiträge: 25
Sandreal befindet sich auf einem aufstrebenden Ast
Standard

Jep, ich bin mit dem Teil, der für meinen EA wichtig war fertig. Kannst ja mal schaun, ob die Vereinfachungen in meinem Include-File für deinen Anwendungsfall ausreichen.

Verwendung sieht so aus:

Zitat:
#include <HitRate.mqh>

extern string tradesFile; // .csv
extern string hitsFile; // bei mir .txt (.csv sollte auch gehn)

int init()
{
// int num = Anzahl der zu betrachtenden Trades, auf dessen Basis die Trefferquote berechnet wird
clearHitsFile(hitsFile, num);
clearTradesFile(tradesFile);
...
}

int start()
{
...
double hitRate = hitRate(tradesFile,hitsFile);
...
OrderSend(...);
// nach jedem OrderSend einen neuen Eintrag hinzufügen!
// loserValue = Wert (Preis), bei dem der Trade als Verlierer gewertet wird
// winnerValue analog
newTradeEntry(tradesFile,TimeCurrent(), cmd, openPrice, loserValue, winnerValue);
...
}
Dabei wird der Trades (egal, ob tatsächlich ausgeführt oder nicht) als Gewinner oder Verlierer gewertet, wenn loserValue (z.b. ein StopLoss) oder winnerValue (z.B. Wert, bei dem der StopLoss über BreakEven gesetzt wird) getriggert wird.
Sinn macht HitRate.mqh nur für den diskretionären Handel und wenn loser- und winnerValue weit genug von openPrice entfernt sind, dass diese nicht innerhalb eines Bars auftreten. Für den Handel auf Tickbasis müsstest du es daher noch anpassen. Wäre nett, wenn du dann auch deine Lösung posten würdest.

Bisher ist die Trefferquote auch nur für Market Orders implementiert (ohne Berücksichtigung von Slippage).
Angehängte Dateien
Dateityp: rar HitRate.rar (1,8 KB, 2x aufgerufen)