Forex Software EA Studio 設定値と作業手順(トライアル終了した本格利用者向け)

この記事は、Forex Software EA Studio 使い方をご覧になり、Forex Software EA Studioを深く使い出した人向けです。

筆者がEA Studioを使い「ここはどうしようかな。」という検討結果からできた設定値や作業手順です。

EA Studioを使い込み「ここはどうしようかな。」と思った人に、とても参考になる情報と思います。

ざっくりEA開発作業の流れ

  1. ヒストリカルデーターは、Tickstoryで作成
  2. EA Studioの設定値を変更
  3. リアクターを使用
  4. 最小取引回数は4日に1回取引
  5. 時間軸は、5分、15分、30分、1時間
    ひとつの通貨ペア、ひとつの時間軸に集中してストラテジーを生成。
    コレクションはダウンロードし保存しておく。
  6. ポートフォリオのストラテジーをMT4 EAにする。
  7. ひとつの通貨ペアでパターンができたら、他の通貨ペアもリアクターする。

ヒストリカルデーターはTickstoryで作成

Tickstory(デューカスコピー)のヒストリカルデーターは、2003年5月5日からです。
2003年5月5日からのヒストリカルデーターを作ります。

詳しくはこちらの記事Tickstoryはデューカスコピーのヒストリカルデーターを夏冬時間自動調整してMT4に保存可を見てください。

FXDDのヒストリカルデーターだと簡単

簡単にヒストリカルデーターをMT4に取り込みたいならFXDDのWebサイトから入手します。

そのとき、MT4 > ツール > オプション > チャート > 最大バー数 > 9を連打で最大値にする。
これしないと、1分足が取り込めません。これはMT4のバグなので直っているかもしれません。

ヒストリカルデーターの品質は、FXDDよりもTickstory(デューカスコピー)が断然良いので、こだわり度合いに応じてお選びください。

Minimum count of trades(最少取引回数)は何回にするか?

Minimum count of trades(最少取引回数)の設定は、いくつにすれば良いか。

EA Studioが使えるヒストリカルデーターは、上限20万本です。時間軸ごとの20万本分の期間が異なります。

20万本分の期間で、1日1回(毎日)売買したときの回数、2日に1回、3日に1回、4日に1回売買したときの取引回数を表にしました。

※取引可能日は、ひと月21日で計算しています。

この表を見るとMinimum count of trades(最少取引回数)の設定値を導き出せます。

表:時間軸ごとの20万本分期間と最小取引回数設定による売買日数

時間軸 20万本分の期間 最小取引回数の設定
年月 月数 1日1回取引 2日に1回取引 3日に1回取引 4日に1回取引
1分足 約6ヶ月 6 126 63 42 32
5分足 約2年9ヶ月 33 693 347 231 173
15分足 約8年3ヶ月 99 2079 1040 693 520
30分足 約16年6ヶ月 198 4158 2079 1386 1040
1時間足 約33年0ヶ月 1時間足以降の取引回数は、30分足と同じです。
4時間足 約132年
日足 約760年

Tickstory(デューカスコピー)のヒストリカルデーターは、2003年5月5日からです。

2003年5月から2019年11月で16年6ヶ月となります。開始は、2003年5月なので、1時間足以降の取引回数は、30分足と同じです。

Forex Software EA Studioの性質を想定すると15分足を中心に検証がよいでしょう。

Stop LossとTake Profitの設定値は何pipsにするか?

初めは、裁量取引の感覚でSLとTPは、時間軸が短くなればSL,TPを小さく、時間軸が長くなればSL,TPを大きくで設定しましたが、どうも良い結果になりませんでした。

時間軸がどれでもSLとTPの設定値は、同じがよいでしょう。

どの時間軸でもSLとTPは共通で、自動的によい結果をEA Studioが出してくれます。

SL 10-100
TP 10-100

Working minutes 実行時間(分)は、14400分(10日)

Working minutes 実行時間(分)は、14400分(10日)で実行します。進捗率を見て経過日数を判断します。進捗率20%なら2日経過というぐあいです。コレクションにストラテジーが貯まったら手動で停止します。

PCスペックによりCalculated(計算処理済み)となる速度が異なります。高速なPCを使った方が、Working minutes 実行時間(例1440分)あたりのCalculated(計算処理済み)件数が増加します。

数日間実施するので筆者は、ノートPCを1台購入し2台で実行しています。

合格基準

ツール > 合格基準に好みの条件を追加します。これを追加するとストラテジーが激減しますが必須の設定です。ストラテジーを見比べるのが楽になります。

合格基準の設定は、投資家自身の取引方針により変わってきます。ここでの記載は、例として参考にしてください。

最低純利益・・・10以上を設定することで利益が出たストラテジーのみになります。(初期値10)
最小取引回数・・・週1回以上は取引する設定がよいと思います。
最大ドローダウン(%)・・・30%。レバレッジを効かせた取引したいなら50%という感じ。

最大ドローダウンを30%に設定するとストラテジーが激減します。最大ドローダウンを50%して高レバレッジの積極運用という方法もあります。

参考設定値

EA Studioを使い出すと設定値の調整がポイントとなります。
設定値を変更しジェネレーターやリアクターを実行し結果を見るを繰り返すことで、設定値が絞り込まれていきます。

筆者の設定値を掲載します。
通貨ペア、スプレッド、HistoricalDataにより変化しますので目安としてください。

最大ドローダウン30%の場合は、5分足で実行時間14400分(10日)実行します。

合格基準と時間軸と合格ストラテジー数

共通合格基準(各時間軸共通)

全期間バックテスト

最低純利益 10
最小取引回数: 170 (5分足の場合)
最大ドローダウン(%): 30
R-squared(決定係数) 85
System Quality Number 3.0

ストラテジー生成用期間(In Sample)

最大ドローダウン(%): 50
最低純利益 10

ストラテジー検証用期間(Out of Sample)

最最大ドローダウン(%): 50
最低純利益 10

リアクターの設定

なんだかんだとやりながら、今はこの設定しています。

ストラテジーの作成

1. ヒストリカル データー

データー
銘柄 USDJPY
期間 M5 M15 M30 H1

合格基準
最大ドローダウン 30%

2. ストラテジー プロパティ

注文ロット 0.01
S/L(損切り) 設定するが実施しないときある
タイプ 固定 or トレーリングストップ
最小 (pips) 10
最大 (pips) 100
T/P(利食い) 設定するが実施しないときある
最小 (pips) 10
最大 (pips) 100

3. ジェネレーター設定

作動時間(分) 14400分(10日)
並べ替え 口座残高
ストラテジー検証用期間(Out of Sample) 30% OOS
レ Use the common 合格基準
_ Generate strategies with 独自のテクニカル指標

ストラテジーを最適化 (Optimize strategies)

_ 完全なデータの最適化 (Full Data optimization)
_ ウォークフォワード最適化 (Walk Forward optimization)

セグメント 6(期間の長さにより変更) | ストラテジー検証用期間(Out of Sample) 30% | 数値の範囲 20 | 並べ替え 口座残高 | レ S/L(損切り)とT/P(利食い)を最適化 | _ 最適化 独自のテクニカル指標

レ 改良(Normalizer)

レ テイクプロフィット(利食い)固定値を無効化
レ 不要なインジケータを削除
レ ストップロス(損切り)値の縮小
レ テイクプロフィット(利食い)値の縮小
レ インジケーターのパラメーターの見直し
値のステップ 30
並べ替え 口座残高
_ 改良で使う 独自のテクニカル指標
レ Use the common 合格基準

堅牢性テストを実行 (Perform robustness testing)

レ ウォークフォワード検証 (Walk Forward validation)
_ モンテカルロ検証 (Monte Carlo validation)
_ マルチ マーケット検証 (Multi Market validation)

設定ファイル

このファイルをダウンロードしてから、EA Studio>ツール>設定内容をインポートすると、すべての設定がこの記事用に置き換わります。

https://drive.google.com/uc?export=download&id=1KUtMtBF7UdHtVgr2jmUj2DIvxCZc0jro

生成ストラテジー数が多い時間軸

時間軸ごとにリアクターを実行したときの生成コレクション内ストラテジー数が異なります。
時間軸が小さいほうがコレクション内ストラテジー数が多く作成されます。

時間軸 5分足 15分足 30分足 1時間足
最小取引回数
(4日に1回取引値)
170 500 1000 1000
有効ストラテジー数 12 4 2 1

複数のコレクションのダウンロードファイルを結合する方法

コレクションのダウンロードファイルをアップロードすると、コレクションの内容がすべてアップロード内容に置き換わります。
2つ以上のコレクションのダウンロードファイルをひとつにまとめアップロードできます。
方法は、テキストエディターでファイル内容をくっつけます。

コレクションのダウンロードファイルの記述規則

全文の開始文字 [
全文の終了文字 ]
ひとつのコレクションの開始文字 {“accountCurrency”:”JPY”,
ひとつのコレクションの終了文字 ,”timeUpdated”:*************}

.jsonファイルは、テキストエディターで開き編集できます。
くっつけたいファイルを開き、ファイル内文章の最後にもう一つのファイル内容を貼り付けます。
接続箇所の ][ を , に書き換えます。
保存すれば完成です。

MT4口座履歴(ポジション一覧)のコメント項目

このEAを実行するとMT4口座履歴のコメント項目には、マジックナンバーが表示されます。
コメント項目にEA名を表示する方法を紹介します。

なお、これはポートフォリオEAの場合です。

元の記述
string comment = IntegerToString(signal.MagicNumber);

変更
string comment = “コメント項目に表示したい文字を記入”;
または
string comment = IntegerToString(Magic_Number) + “コメント項目に表示したい文字を記入”;

または
string comment = IntegerToString(“コメント項目に表示したい文字を記入”, signal.MagicNumber);

※IntegerToStringとは整数型の値を文字列に変換する関数です。


string comment = “USDJPY M15 P12EA 190921”;

マジックナンバー

これはポートフォリオEAの場合です。

EA Studio ポートフォリオEAのマジックナンバー設定は、数字6桁以内にします。

EA開始時の設定でマジックナンバーをひとつ設定できます。
ここで設定マジックナンバーを元にポートフォリオEAでは、ポートフォリオ内のEA(複数のストラテジー)ごとに異なるマジックナンバーが自動的に付与されます。

ポートフォリオEAのソース内の後半にマジックナンバーを作る記述があります。

//+——————————————————————+
int GetMagicNumber(int strategyIndex)
{
int magic=1000*Base_Magic_Number+strategyIndex;
return (magic);
}
//+——————————————————————+

Base_Magic_Number(変数)は、EA実行時にパラメーターとして設定できるマジックナンバーです。

元の記述
int magic=1000*Base_Magic_Number+strategyIndex;

元の記述の仕組みは、パラメーターで設定したマジックナンバーに1000を掛けて右側に3桁の0(ゼロ)を作り、strategyIndex番号(数値3桁)を加えています。

ここをカスタマイズすれば、マジックナンバーを固定値にできますが、しないほうがよいかも。

マジックナンバーの仕様

MT4のマジックナンバーは、int型です。
int型の仕様は、値の範囲 -2147483648 ~ 2147483647(数字10桁)です。
マジックナンバーを設定する場合は、数字9桁以内と覚えておきましょう。

EA Studio ポートフォリオEAのマジックナンバー設定は、数字6桁以内です。

結論

リアクターは、10日間実行(ストラテジーが貯まったら途中で停止)

ストラテジーの善し悪しは、検証結果の値を見て総合判断。よいものだけ作られているので、深く気にしないでよいかもね。

複数のストラテジーからポートフォリオを作る。
ポートフォリオEAのフォワードテストは、ストラテジーごとの損益がわからないです。そのためMT4口座利益のコメント項目を改良するかコメント項目のマジックナンバーでフィルタリングします。FX Blue https://www.fxblue.com/ には、コメントのフィルタリング機能があるのでFX Blueを使うとフォワードテストの検証が行いやすくおすすめです。Myfxbookには、コメントフィルターがありません。

ポートフォリオを使わず、ストラテジーごとにフォワードテストをしてもよいです。

気づきメモ

ウォークフォワードや非相関ストラテジーは、このツールを使う大きなメリットです。是非、使ってみてください。

モンテカルロは、全期間共通パラメーターのストラテジーにて実施されます。ウォークフォワードのセグメントごとにモンテカルロができるとよいのですが、全期間共通パラメーターのため特定期間で詳細に検証する場合に使えます。使用頻度は、とても低いです。

改良(Normalizer)は、過剰最適化を防ぐ機能です。2019年8月中旬に追加された機能です。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)