今回ご紹介するのは、Visual Strategy Builderという自動売買EA作成ソフトです。
結論から言うと、Visual Strategy Builderに慣れれば、EAもオリジナルインジケータも、プログラミング知識なし&わずか数十分ほどで自作することができます(前提として具体的なトレードアイデアは必要です)。
MT4の最大の魅力は、EA(Expert Advisor)と呼ばれる自動売買システムを使ってトレードが行えることです。国内ブローカーをはじめFX業者専用の取引プラットフォームでは、基本的にオリジナルEA(Expert Advisor)を運用することはできません。
また、EAの作成にはプログラム知識が必要です。MT4/MT5のプログラム言語は比較的習得しやすいと言われる部類ですが、実際にプログラミング初心者がゼロからmql4/5を習得して、使いこなせるようになるには相当な時間がかかるでしょう。
そのため、一般的にはゴゴジャン等で市販されているEAを使うことが多いと思います。また、自動売買トレードといえば、最近流行りのトラップ&リピート注文やミラートレードもありますが、これらを利用するデメリットは、「どのような売買ロジックで動いているのか不透明な部分が多い」ことです。
自分が編み出した必勝パターンやトレードをして得た経験をシステム化できたら、何よりそれが一番です。例えもしそのようなアイデアがあっても、EAに落とし込むまでの段階で億劫になっている方もいらっしゃるかもしれません。
「何とかしてEAをプログラム初心者でも作成することはできないか?」
そんな悩みを解決するのが、今回ご紹介するプログラム初心者でもすぐにEAを作成できるソフト「Visual Strategy Builder(ビジュアルストラテジービルダー)、通称:VSB」です。
- EAが簡単に自作できるVSBの登録手順
- VSBの各種機能
- VSBを使って実際にEAを自作する方法
- Forex Tester4とは何か
- 有料ソフト「EAつく~る」との比較
VSBは「Forex Tester(略:FT)」に付属しているツールです。Forex Testerは、裁量トレーダー向けのバックテスト&トレード分析ソフトです。
最近リリースされたFT4では、VSBの機能に加えてmql4ファイルからdillファイルへのコンバーターが追加されました。これにより、MT4で使っているカスタムインジケータやEAをForex Tester4で表示・バックテストができるようになります。さらに、取引手数料の設定、簡単メモ機能、同期設定などの機能も追加されています。
「FTを買わないとVSBは使用できないのか?」と思われるかもしれませんが、VSB単体をWebブラウザ上から動かすことができます(今回ご紹介するのは主にこの内容です)。私がForex Tester4を保有していないので何とも言えないのですが、YouTubeの動画を見てみるとデザインは違うものの、機能はほとんど変わらないかなと思います。
今回の記事では、VSBの特長や使い方に加えて、画像を交えながら実際にトレードで活用できるEAの作成方法をご紹介します。EAの基本的な考え方をマスターして、VSBを使いこなすことが目標です。
プログラム初心者でも、全く心配ありません。VSBの言語は英語表記になっていますが、この記事では、全てに和訳を入れていますので、画像を参考にしながらEA作成にチャレンジしてみてください。
- この記事で紹介する内容はあくまでも情報提供が目的であり、EAの利益を保証するものではありません。
- EAを実際に運用するときには、バックテストなどを十分に活用し、自己責任で運用してください。
目次
Visual Strategy Builderを使う理由
Visual Strategy Builder(以下VSB)を使う理由について解説します。
EAを簡単に作成できる
EAを作成するには、プログラミング言語を理解する必要があります。MT4/5のプログラム言語はmql4/5という専門のプログラム言語です。もちろん、PhythonやC#と比較すると、習得するのは簡単といわれていますが…。
以下はMT4のサンプルEAです。
EAとしては単純なプログラムなのですが、ゼロから作成しようと思うと、理解するだけでも大変です。一般にEAやカスタムインジケータを作成するためには、以下のスキルを身に付ける必要があります。
- mql4/5 の理解
- EAの売買ロジックを構築できる
- 具体的な売買条件のアイデア
- プログラム言語で表現できる能力
EAを作成するためには、主に以下の4つの条件を指定しなければいけません。
- オープン条件(エントリー条件)
- 資金管理条件(ロット数)
- ストップ条件(損切りの設定)
- クローズ条件(利益確定の条件)
VSBを使えば、EA条件設定をドラッグ&ドロップするだけです。全く難しくありません。また、カスタムインジケータを作成することも可能です。
「EAつく~る」と何が違うのか
日本で有名なのは「EAつく~る」というソフトです。Visual Strategy Builderは、ほとんど知られていないと思います。
決定的な違いは「ForexTester4」と互換性があること。ForexTesterの保存ファイル「.dill」形式で保存できることがメリットです。過去のローソク足を動かしながら、自分のトレード戦略を使って利益が出るのかどうかをテストできます。
また、EAつく~るは有料ですが、Visual Strategy Builder(Webブラウザ上から動かせるバージョン)は無料です。手軽に使える点もポイントが高いです。
Visual Strategy Builderの登録手順
実際に、Visual Strategy Builderの登録をします。登録画面では「Easy Forex Builder」となっていますが、同じプログラムです。
手順1 メールアドレスを登録する
https://tools.forextester.com/signup
上記のアドレスにアクセスをしてください。メールアドレスとパスワードを設定します。
パスワードは以下の条件を満たすようにします。
- 1文字以上の大文字(A-Z)
- 1文字以上の小文字(a-z)
- 1桁以上の数字(1-9)
- 最小1文字の非英数字(@,:,#)
2回パスワードを入力したら、「サインアップ」をクリックします。
「私はプライバシーポリシーと利用規約に同意します」にチェックを入れます。
手順2 プロフィールの設定(著作権)
ストラテジーを作成する前にプロフィールを設定します。右上のユーザー > 設定 > 著作権情報 > 編集と進んで入力しましょう。
例)Copyright FOREX OFFICE
入力したら、「保存」をクリックしてください。
チュートリアル画面
「</>ストラテジー」をクリックしてEA制作画面に戻ってください。
</>ストラテジー>Create with Tutorial
「ストラテジー」「テンプレート」「インジケーター」の3種類があります。オリジナルEAを作成するために「ストラテジー」タブを選択してください。操作に慣れていない場合は「Create with Tutorial」をクリックしてください。チュートリアル画面が表示されます。
チュートリアル画面1
これから作成するストラテジーは買いポジション、売りポジション、指値注文をしますか」
A. 「はい」をクリック
以下のようなポップアップコメントが出るので、「Let's try」をクリックしましょう。
Next, drag&drop Elements and Operations to the respective places in the Condition. Let’s try
次に、エレメンツとオペレーションズ要素を条件式にドラッグ&ドロップしてみましょう。
チュートリアル画面2
右側に「エレメンツ」「オペレーションズ」「アクション」の3つのタブがあります。後の章で詳しく紹介しますが、各タブ内から使用するストラテジーの要素(インジケータ、オシレータ、時間、価格、)を選択します。
ポップアップコメントが出るので、「Let's try」をクリックしましょう。
様々な条件を組み合わせて、EAを完成させていきます。
VSBのホーム画面
Visual Strategy Builderのホーム画面には「ストラテジー」「テンプレート」「インジケーター」の3種類のタブがあります。
タブ機能 | ストラテジー EAの作成テンプレート (売買機能の設定可能) |
テンプレート | 他のユーザーのストラテジーや VSB厳選のEAテンプレート |
インジケーター | カスタムインジケータの作成テンプレート (※売買機能の設定不可) |
「テンプレート」タブには、他のユーザーがVSBで作成したEAやカスタムインジケータのプログラムを閲覧できます。
「レーティング(評価)」が高いテンプレートから順番に並んでいます。他ユーザーのストラテジー、VSBコレクションのトレードルールをコピーして調整もできますし、そのままEAとしてダウンロードすることも可能です。
いろいろなアイデアを見ることができますので、試してみると面白いと思います。
Visual Strategy BuilderでEAの条件を設定する
早速、EAを作成していきましょう。「</>ストラテジー」をクリックしてEA制作画面に戻ってください。
EAを作成するには「どんな場合にエントリーをして、クローズはいつするのか、ロット数やEA稼働時間などの条件」を決める必要があります。
ストラテジーの名前と詳細設定
ホーム画面で「+戦略を作成」をクリックすると、EAの名前と簡単な解説を記入する画面(番号2)が表示されます。ここでは、簡単な移動平均線を使ったEAを作成してみます。
例)
名前 | Test1 Moving Average Basic |
ディスクリプション | 移動平均線の基本ストラテジー |
入力が完了したら、「戦略を作成」をクリックしてください。
3つの要素と使い方
Visual Strategy Builder(ビジュアルストラテジービルダー)は、エレメンツ、オペレーションズ、アクションの3つの要素に分かれています。
それぞれの機能を簡単に表でまとめてみました。
要素 | 機能 |
エレメンツ | 利用するインジケーター、時間設定、価格 (例:トレンド、オシレータ、ビル・ウィリアムズ) |
オペレーションズ | 条件の設定 (例:下から上に抜ける、~より大きくなる) |
アクション | EAがどのような動作をするのか (例:エントリー注文、クローズ注文、通知機能) |
すべてドラッグ&ドロップで、EAの売買ルールを作成できます。1つの条件のみでも、複数の条件を組み合わせることも可能です。
条件で設定できない場合は、以下のようなエラー表示となります。
上記の図では、RSIを条件に使用していますが、RSIと移動平均線をオペレーションズの要素で組み合わせることはできません。「RSIが~となった場合&移動平均線が~となった場合」というインジケーターの組み合わせをするのであれば、条件を複数作成する必要があります。
Condition 1の下部にある「条件の追加」をクリックすると、Condition 2が表示されます。
EAのエントリー条件を設定する
EAのエントリー条件を細かく設定していきましょう。移動平均線を使った買いエントリーの条件を考えます。EAは買いエントリーと売りエントリーで別々のプログラムを組む必要があります。
VSBではワンクリックでできる仕様になっていますので、安心してください。詳細の方法は、後の章で解説しています。
例)日足チャートで28日移動平均線が200日移動平均線を上回った場合
編集をクリックすると、以下の画面で条件の詳細を設定できます。
例)Moving Average(MA)
Symbol | EAを稼働させる通貨ペア |
Time Flame | 時間足 |
Ma Period | 期間 |
Ma Shift | ー |
Ma Method | 単純移動平均線 指数平滑移動平均線..etc. |
Applied Price | どの段階の数値を適用するのか |
Shift1 | 確定した時間足を基に計算する |
「Symbol」で通貨ペアを指定しない場合は、空欄のままにします。また、「Time Frame」で時間足や通貨ペアを指定しない場合は「Current timeframe」を選択します。Currentを選択すると、トレーダーが任意で時間足や通貨ペアを設定できます。
オープン関数と資金管理設定
ここでは、EAが実際に注文を出すためのプログラムを設定します。使用するのは、アクションタブ>Open Market Orderです。EAで大切なのは「資金管理」です。条件を満たせば無限にロット数を保有してしまうEAは実際のトレードでは活用できません。
そこで、資金量に合わせてロット数を自動調整する機能を活用します。これは簡単に設定できますので、画面に従って設定をしてみましょう。利用するのはアクション(Actions)タブです。
この項目は、「注文をする」「決済をする」「マーチンゲールでポジションを追加する」など、EAの設定で一番重要な部分です。ここで設定を誤ってしまうと、資金量に関係なく注文をしてしまうなど、正常にEAが機能しなくなります。
では、順番に設定していきましょう。
ORDERS > Open Market Orderを選択して、ドラッグ&ドロップをしましょう。
ドラッグ&ドロップをしたら、「編集」をクリックしてください。
以下の画面が表示されます。
「Persent Volume」の設定を「YES」に変更してください。
When Persent Volume is “YES”,please enter the value in “Volume”option in Persent.In this case the strategy will open orders with lot size caluculated from your deposit.
パーセントボリューム設定を「YES」にしたら、ボリューム設定に%単位の数値を入力します。この設定をすれば、EAは口座残高から〇%分の証拠金で保有できるロット数を算出します。
上記の数値入力が完了したら、「保存」をクリックしてください。
主な設定項目
Symbol | 通貨ペア |
Operation Type | 買い、売り |
Volume | ロット数 |
Percent Volume | パーセントロット数を設定するか |
Slippage | 許容スリップページ |
Stop Loss | 損切り |
Take Profit | 利益確定 |
ここまでで、EAが買いエントリーするときの注文設定が完了しました!
次に「クローズ条件」の設定をしましょう。
クローズ条件
現在考えているのは「買いエントリー」なので、クローズするポジションは「買いポジション」です。そのため、ポジションクローズするためには「売り注文(SELL)」をする必要があります。間違えやすいので注意が必要です。
ルール Operation Type
BUY(買いポジション) | SELL |
SELL(売りポジション) | BUY |
VSBのテスト機能
VSBには簡単なテスト機能が備わっています。簡易的ですが、主要通貨ペア5つで2ヶ月分のバックテストが可能です。もちろん、本格的にEAを運用するためにはMT4もしくはForex Tester4でバックテストをする必要があります。
EAがすべて完成したら、下部にある「テスト」をクリックしましょう。上記のような画面が表示されます。入力が完了したら、「Start」をクリックします。自動的にテストが開始されます。約1分~3分程度です。
EAのダウンロード
最後にEAのダウンロードをします。3つのタイプを指定できますが、MT4で使うのであれば、「ダウンロード Meta Editor」(mql4ファイル)を選択してください。
後はEAをMT4に導入する手順と同じです。
MT4を起動してツールバーから ファイル>データフォルダを開く をクリックします。「MQL4」フォルダの中の「Experts」フォルダ内に、先ほどダウンロードしたmql4ファイルをコピーし、ナビゲーターの再読み込みをしてください。
これで、チャートに読み込んで(ドラッグ・アンド・ドロップ)使用することができます。
トレードで使えるEAをVSBで作ってみました
移動平均線とADXでトレンドを狙うオリジナルロジック
まずはロジックを考えます。今回はボラティリティのあるGBP/USDの1時間足向けのEAを作成してみます。以下にまとめてみました。
使用するインジケータ | 買いエントリー条件 |
移動平均線 | SMA(24)>SMA(48)を上回っているとき |
RSI | RSI>50のとき |
ADX | ADX>25以上になっているとき |
移動平均線は、24移動平均線(1日)と48移動平均線(2日)を使います。つまり、1日の移動平均線と2日の移動平均線のゴールデンクロスです。デイトレードなので、これでいいかなというところです。
また、RSIはよく注目されるのは30と70ですが、50を基準にします。
RSI=50のときは、買い勢力と売り勢力のバランスが取れた状態を示しています。つまり、RSI>50以上であれば買い優勢となりますし、RSI<50であれば売り優勢の状態であると理解できます。
RSIはオシレータ系指標で、逆張りで活用することが多いのですが、「フェールアウトポイント」「失敗したスイングシグナル」「RSIブレイクアウトシグナル」など様々な見方があります。ワイルダーが開発したRSIやADXは奥が深いので、詳しい内容を知りたい方は調べてみてください。
ADX(Average Directional Movement Index)はトレンドの勢いを計測するインジケーターです。一般的に、ADXの数値が25以上だと、トレンドの勢いが出ていると判断します。
数値を細かく変更するのは、ある程度までは良いのですが、最適化しすぎは禁物です。過剰な数値の最適化を「カーブフィッティング」と言います。特定の相場で利益が最大になるように数値を細かく設定しても、他の相場では全く機能しないということが起こりえます。
EAを作成する際には、「ゆる~く作る」というのを意識してみましょう。
例えば、RSIの数値でいうなら30や70ではなく、あえてRSI=50を基準にしました。RSI=50であれば、トレード回数が極端に減ることもありませんし、論理的にも問題ありません。
BUYロジックの数式まとめ
買いエントリーのロジックを数式でまとめます。
条件1 移動平均線(BUY)
エレメンツ | オペレーションズ | エレメンツ |
Moving Average (MA) 期間 → 24 Shift → 1 |
>Greater Or Equal | Moving Average (MA) 期間 → 48 Shift → 1 |
条件2 RSI(BUY)
エレメンツ | オペレーションズ | エレメンツ |
Relative Strength Index(RSI) 期間 → 48 Shift → 1 |
>Greater Or Equal | #Value Number → 50 |
#ValueはRSIの数値を超えたとき、MACDの数値やボリンジャーバンドなどインジケーターの数値を定義する関数です。上記の条件式で「RSI>50になった場合」を示します。
条件3 ADX
エレメンツ | オペレーションズ | エレメンツ |
Average Directional Movement Index(ADX) 期間 → 24 Shift → 1 |
>Greater Or Equal | #Value Number → 25 |
買い注文条件指定
ロット数の自動調節機能を活用します。
Symbol | none |
Operation Type | BUY |
Volume | 3 (口座残高の3%を証拠金として使用を許可する) |
Percent Volume | Yes |
Slippage | 3 |
Stop Loss | 50 |
Take Profit | 200 |
Close All Orders By Typeは「SELL」です。
お疲れさまでした。これで買いシグナルの完了です。
続いて、売りシグナルについて解説します。買いシグナルと少しだけ異なっています。
上記の下矢印をクリックすると、「現在のルールに反対側を追加する」という項目が表示されますので、選択してください。名前を「SELL」などに変更しましょう。
SELLロジックの数式まとめ
条件1 移動平均線(SELL)
エレメンツ | オペレーションズ | エレメンツ |
Moving Average (MA) 期間 → 24 Shift → 1 |
<Less Moving Average (MA) | Moving Average (MA) 期間 → 48 Shift → 1 |
買いシグナルと全く反対の数式です。
条件2 RSI(SELL)
エレメンツ | オペレーションズ | エレメンツ |
Relative Strength Index(RSI) 期間 → 48 Shift → 1 |
<Less | #Value Number → 50 |
RSIも、買いシグナルの反対の数式に変更したのみです。オペレーションズが「< Less」となっています。
条件3 ADX
エレメンツ | オペレーションズ | エレメンツ |
Average Directional Movement Index(ADX) 期間 → 24 Shift → 1 |
>Greater Or Equal | #Value Number → 25 |
ADXは数式を一切変更しません。ADXはトレンドの勢いを示すインジケーターであり、方向を示しているわけではありませんね。上昇トレンドでも下落トレンドでも、トレンドの勢いが強まれば数値が25以上になっていきます。
売り注文条件指定
買いシグナルと売りシグナルで若干数値を変更しています。
Symbol | none |
Operation Type | BUY |
Volume | 3 (口座残高の3%を証拠金として使用を許可する) |
Percent Volume | Yes |
Slippage | 3 |
Stop Loss | 50 |
Take Profit | 300 |
一般的に上昇相場がゆっくりと、下落相場は急激に変動するという傾向があります。私は下落相場の方が利益を狙いやすいなと感じます。下落相場の方が、ロット数が多くなるようにするで設定を変えてみました。
Close All Orders By Typeは「BUY」です。
これで全てのプログラミング設定が完了しました!
Web上から軽くバックテストができますので、早速テストしてみましょう。今回はGBP/USD、1時間足でやってみます。
執筆時点で以下のようなテスト結果となりました。
利益 | 10212 |
ドローダウン | 715.2 |
PF (プロフィットファクター) |
9.575 |
勝率 | 55% |
負率 | 45% |
平均獲得利益 | 1900.633 |
平均損失額 | 238.2 |
上記のような結果となりました。簡易テストですが、利益が出ているようなので、実際にMT4のバックテストでどうなるのかを調べてみます。
EAをMT4でバックテストしてみました
ドローダウンが61.98%と、かなり厳しい結果になってしまいました。
改良の余地は十分にあると思いますが、プログラミングを一切使わなくてもEAを完成させ、バックテストまでできることが確認できましたので、これは初心者の方でも触りやすいのではないでしょうか。
Forex Tester4がなくても十分活用できる
ここまでVisual Strategy BuilderでEAを作る方法を解説してきました。プログラムが未経験の方でも、ほとんどドラッグ&ドロップだけで直感的にEAが作ることが可能です。
英語が入り混じっていて難しく感じたかもしれませんが、非常に簡単にEAを作成できます。また、EAの仕組みを理解することによって、裁量の場合でも「自分の戦略は利益が出る方法なのか?」を客観的に見直すこともできるのではないでしょうか。
VSBはForex Testerというツールと互換性がありますが、上記のように単体でも無料でEAを作ることが出来るため、VSBだけでも十分に利用価値があります。