基礎から学ぶシステムトレード
シストレブログ人気ランキング  

シストレ徹底攻略シストレマスターへの道ワールド・トレーディング・エッジ基礎から学ぶシステムトレードシストレニュースシストレツールシストレナビTOPへ

 

2012年06月05日(火)

売買システムの最適化(5) [MQL5]



前回の続きです。MT5の最適化の評価基準として、「Custom max」を選択すると、EAの作成者が評価基準を独自に作成することができます。

評価基準の作成の仕方は簡単です。最適化させたいEAのプログラム中にOnTester()という関数を記述します。この関数の戻り値がシステムの評価基準になります。

double OnTester()
{
double ret;
ret = ・・・;
return(ret);
}

こんな感じで、ret = のところに評価させたいシステムの値を入れるだけです。

ストラテジーテスターで最適化を行うと、パラメータを変えながら何度もバックテストを行います。各バックテストが終わると、システムの様々な評価結果が算出されます。

例えば、総損益、残高最大ドローダウン、プロフィットファクター、期待損益、リカバリーファクター、シャープレシオ、取引数、勝ちトレード数、負けトレード数などです。

これらのシステムの評価項目がOnTester()の中で利用できます。そのために用意されているのが、TesterStatistics()という関数です。この関数の引数を変えることで、対応するシステムの評価項目の値を取得することができます。

総損益はTesterStatistics(STAT_PROFIT)
残高最大ドローダウンはTesterStatistics(STAT_BALANCE_DD)
トレード数はTesterStatistics(STAT_TRADES)などです。

その他の評価項目についてはこちらを参照してください。

例えば、トレード数が50回以上という条件を満たしたときに総損益から最大ドローダウンを引いた値を最大化するように最適化させたい場合、次のように書くことができます。

double OnTester()
{
double ret = 0.0;
double profit = TesterStatistics(STAT_PROFIT);
double drawdown = TesterStatistics(STAT_BALANCE_DD);
double trades = TesterStatistics(STAT_TRADES);
if(trades >= 50) ret = profit-drawdown;

return(ret);
}

この機能を使うと様々な評価基準を自由に作成することができます。


>>“基礎から学ぶシステムトレード”全記事バックナンバーはこちらから




Posted at 13時52分


ページのトップへ ページのトップへ

Sponsor AD

2012/6

          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

プロフィール

豊嶋久道

2003年よりFX取引を始め、システムトレードの道へ。最近ではFXオプション取引も含めたトレーディングシステムの研究を行っている。システムトレードを基礎から正しく理解するための情報を発信する予定。

PHOTO

値動きのヒストグラムからわかること

値動きのヒストグラムからわかること

カテゴリーリスト

最近の記事

検索


当サイトコメントについて

当コメントは情報提供のみを目的として作成されたものであり、投資に関してはご自身でご判断くださいますようお願い致します。また、当資料は著作物であり著作権法により保護されております。無断で全文または一部を転載することはできません。

RSS1.0

[Login]


powered by a-blog
Copyright (C) 2008 PhiConcept,Inc. All rights reserved.