初めてのオリジナルEA
オリジナルEAと言っても何もない所からプログラムを作る訳ではありません。
サンプルEAをちょこっと改造するだけです。
改造ですのでオリジナルと言える程ではありませんが、自分のアイデアが入ったEAです。
バックテストでいい結果が出た時は、嬉しいものです。
教科書のサンプルEAを編集する
STEP2でEAのおすすめ教科書を紹介し、STEP3ではその中のEAを使って日経225CFDのバックテストを行ってみました。
今回は、サンプルEAを編集して、自分だけのEAを作ります。
プログラムの経験が無い人に、教科書のEAは簡単に編集できるのでしょうか?
例題3-4のEAのソースコード
教科書の『例題3-4』のタイトルは、「ボリンジャーバンド(BB)と終値の交差」です。
ロジックは、いわゆるBBの逆張りドテンシステムです。
●買いシグナルは、終値がBBロアーラインを下に抜けた時
●売りシグナルは、終値がBBアッパーラインを上に抜けた時
MetaEditorで「ea3_4」を開きます。
以下がソースコードになります。
作者がコメント行で注釈を記載してくれているので、非常に判りやすいですね。
なので、補足説明は余計なことかもしれませんが、以下になります。
3行:ライブラリーの定義
5~7行:パラメータの定義 数値は、初期値(デフォルト)になります。
11~15行:実行関数
18~34行:仕掛けシグナル関数
21行:1本前のBBアッパーラインを定義します。
22行:1本前のBBロアーラインを定義します。
23行:2本前のBBアッパーラインを定義します。
24行:2本前のBBロアーラインを定義します。
29行:買いシグナルを定義
2本前の終値が2本前のBBロアーライン以上 かつ
1本前の終値が1本前のBBロアーラインより小 の時
31行:売りシグナルを定義
2本前の終値が2本前のBBアッパーライン以下 かつ
1本前の終値が1本前のBBアッパーラインより大 の時
これだけのシンプルなコードでEAが成立するのは、面倒くさい部分のコードは、『本書ライブラリ』が担当しているおかげです。
『本書ライブラリ』の "LibEA4.mqh" は、サンプルEAと一緒にダウンロードして、必ず同じホルダに保存してください。
なお、更に詳しい解説は、教科書を熟読願います。
ソースコードのちょこっと編集
それでは、ソースコードをちょこっと編集して、ロジックを、BBの順張りドテンシステムに変更してみます。
まずは、「ファイル」、「名前を付けて保存」で別ファイルを作成しましょう。
今回は、ea3_4(T_Follow)としました。
ロジックは以下になります。
●買いシグナルは、終値がBBアッパーラインを上に抜けた時
●売りシグナルは、終値がBBロアーラインを下に抜けた時
ソースコードの変更箇所は、もうお分かりですよね。
28~31行を変更し、買いシグナルと売りシグナルの条件を逆にすればいいだけです。
簡単ですね!
以下が変更したソースコードになります。
バックテスト
STEP3と同じ様に、8年5カ月(2012年1月~2020年5月)の225CFDの15分足データでバックテストを行ってみました。
パラメータは、BBで一般的な 「期間:20」、「標準偏差の倍率:2.0」 を用いました。
以下のグラフは、それぞれのバックテスト結果を「Quant Analyzer4」というソフトで比較したものです。
チャートの青ラインが ea3_4 で
チャートの赤ラインが ea3_4(T_Follow) となります。
同じシグナルで、売り買いについて逆のトレードを指示していますので、当たり前ですが損益曲線が対称になっています。EAがちゃんと動いている証拠ですね。
ただ、両者とも右肩下がりなのが残念です。
最適化&バックテスト
自分で作ったEAの実力が知りたいですよね。
そこで、ea3_4(T_Follow)15分足の最適化を行ってみました。
最適化は、パラメータの「BBの期間」と「標準偏差の倍率」を変化させてみました。
最適化で利益が最大となったパラメータで行ったバックテスト結果が以下になります。
ドローダウンが多いですが、右肩上がりの損益曲線になりました。
フォワードテスト
バックテストに続いて、最適化で利益が最大となったパラメータでフォワードテストを行いました。
期間は、2020年6月1日から2020年8月20日で、以下がフォワードテストの結果です。
プロフィットファクター1.54は、かなりいい値となりました。
まとめ 教科書のEAは初心者でも編集できる!
教科書掲載のEAについて、例題のソースコードを編集してみた結果、
- ソースコードに注釈があり、コードの意味が判りやすい。
- ソースコードの構成は、以下の3部構成で判りやすい。
①パラメータの入力部
②実行関数部
③仕掛けシグナル関数部 - 複雑なことは、『本書ライブラリー』が実行してくれるので、売買ロジックのソースコードだけに専念できる。
- 他のテクニカル関数にも応用ができる。
教科書のEAは、初心者でも売買ロジックの編集が可能です!
⇦使用した教科書はこちらになります。
詳しい解説はSTEP2をご覧ください。
MT4で日経225CFDの自動売買をするためには、OANDA Japanのアカウントが必要です。
取引口座の開設がまだの方は、こちらのリンクより公式サイトの確認ができますのでご利用ください。
次の STEP5 は、『チョイ足しのオリジナルEA』です。自動売買にまた一歩近づきます。