メタトレーダー自動売買チャンピオンシップ挑戦記

MT4・MT5の発売元であるMetaQuotes Software Corp社主催だった Automated Trading Championship の参加記録でしたが、今年から非公式のに。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop

最適化の結果に勝率を表示する---OnTester()関数

筆者は、MT4の頃から、何故最適化の結果に勝率が表示されないのかと、不思議に思っていたのですが、皆さんあまり勝率とか気にしないのでしょうか?(MT4でやりたい人はコチラ。)

というわけで、MT5で最適化の結果に勝率を表示するようにしてみました。

MT5になって、OnTester()という関数ができました。これって一体何?と思っていたのですが、これが、最適化の結果に好きな基準を適用するための物だったんです。->kwsk
勝率だけでなく大概の統計は何でも出来ます。(たぶん)

テスターカスタム

ストラテジーテスターのオプティマイズの右のドロップダウンメニューの一番下に「Custom max」という項目がありますが、下記のコードを貼って、これを選ぶと勝率で最適化されます。

勝率を計算するコード
//--------------------------------------------------------------
// The handler of the event of completion of another test pass:
//--------------------------------------------------------------
double OnTester()
{
double trades = TesterStatistics(STAT_TRADES);
double win = TesterStatistics(STAT_PROFIT_TRADES);
double winratio = 0;
if(trades>0) winratio = NormalizeDouble(win/trades*100,2);

return(winratio);
}
//+------------------------------------------------------------+

オプティマイズ結果のタブの「結果」の列に勝率が表示されます。
また、「Custom max」以外で最適化した場合は、オプティマイズ結果のタブで右クリックして、*.xmlに出力すると、Customという列(H)にそれぞれの勝率が表示されます。(キャッシュの中のナンチャラ.xmlでも同じです)

PageTop

コメント


管理者にだけ表示を許可する
 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。