損益シミュレーション

前々から、MT4のバックテスト結果から、トレードロット等を調整した損益シミュレーションができないかと考えていました。

(目的は、複数EAを時系列に稼働させたと仮定して、口座残高がどのように遷移するのかを見たいです)

 

損益シミュレーションについて、MT4のバックテストレポートを流用する上で一番問題なのは、トレード明細が1トレードあたり1行になっておらず、明細のなかで紐付けが必要という部分です。

 

ということを解決しつつ、でも時間がないなー、、という愚痴メモです。

50107-bktest

 

 

AshikaV1の、EURUSDのバックテスト。

 

例えば、MT4バックテストの明細のなかの、注文番号1というのが3行でてくる。

それぞれ、オープン、T/P・S/L設定、クローズの3アクション構成。

 

これが、1行で完結する明細なら、簡単に損益シミュレーションできるんだけどな。

ロット数を変えて(バルサラの破産確率に基づいたロット等)、ポートフォリオの残高がどのように動くかシミュレーションしたりですね。

 

 

 

 

 

ということで、私自身の最後の追い込みで、なんとかする方法。ExcelとAccessを使います。

雑な記事ですみません。メモということで。

 

手順1は、MT4でバックテストをし、レポートを保存し、バックテストレポートをブラウザに表示させる。(上記ピクチャの状態)

 

手順2は、ブラウザ上で、明細部分をコピーし、Excelにペーストする。

50107-exc

 

 

こんな感じになる。

便宜上、EAと通貨ペアの情報を付与しておく。

 

 

 

 

 

 

 

 

 

 

手順3は、手順2でExcel化した明細をAccessにインポートする

Accessのテーブルイメージは、手順2の明細のまんまです。雑だ。

 

 

手順4、Accessのクエリを組み立てる。オープンとクローズでそれぞれクエリを組んで、紐付ける。

50107-acce

 

”取引種別”がmodifyの明細は無視し、buy or sellをオープン明細とする

 

同様に、”取引種別”がs/l、t/p、closeの3パターンをクローズ明細とする

 

で、紐付ける。

紐付けキーは、EA、通貨ペア、注文番号。クエリ構成はこんな感じ。

 

 

 

結果として、下記の明細ができあがる。

50107-state

 

ここまでくれば、後は煮るなり焼くなり好きにできる。

後は通貨ペアに対して、レートをかけて、 ロットとかけて、想定ロットで比率計算すれば、、、

と、いうのが明日以降のTodo

 

 

但し、EAと運用通貨ペア分、この作業を繰り返すわけで、面倒なことこの上ない。

 

明日は、FOMCが控えているので、いつも通りKeltnerProとEasyWalkerFXのみ稼働させて(ポジションを持っているStormTraderはそのまま放置)、もう寝ようZzz

 

 

 

 

コメントを残す