こんばんは。
ヒロセです。
MT4でバックテストをするためには準備が必要であり、1つ1つクリアしていく必要があります。
これまでにバックテスト準備として、
・口座開設からMT4のインストール
・MT4へのEAの設定
・ヒストリカルデータのインポート
をそれぞれの記事で解説してきました。
あとは、トラリピに合わせたバックテストの設定だけです。
しかし、
でも、設定したEAって無料でダウンロードしたんだよね?
取説とかなくても大丈夫なの?
みたいな疑問をお持ちではないでしょうか?
安心してください。
この記事では、テスト結果からパラメータの意味を理解する方法を解説しています。
バックテスト準備の以前の記事と、この記事を最後まで読み込んで実践することによって、
『完全無料』でMT4を使ったトラリピのバックテストが出来るようになりますよ!
今回がMT4バックテスト編の最後になります。
あと少しです。
頑張りましょう!
目次
無料EAの使い方を理解する方法
無料ダウンロードしたEAには取扱説明書がありませんので、使い方を理解しなければいけません。
EAの使い方とは、すなわちパラメータ設定方法です。
まずは、検証の結果判明した、
テストを行うトラリピ設定とそれに対応したテスター設定、パラメータ設定を公開します。
・トラリピ設定
通貨ペアは? | 米ドル円 |
運用予定額は? | 1000000円 |
仕掛けるレンジ幅は? | 101~120円 |
レンジ内に仕掛ける本数は? | 20本 |
1本あたり何通貨? | 3000通貨 |
1回のリピートでねらう利益は? | 3000円 |
スプレッド | 5銭 |
テスト期間 | 2014.01.1~2019.09.17 |
・テスター設定
・パラメータ設定
注意点とパラメータ項目の意味を簡単に説明しておきます。
・初期証拠金:通貨はUSD→JPYに手入力で変更。
・Lots:取り扱いFX会社の1Lot数に合わせて単位を設定する。(FXTFの場合、1Lot=10万通貨)
・Positions:全て成立した時のポジション数。(トラップ本数)
・OpenPrice:トラップを発注するときの上限レート。(買いトラリピの場合)
・ClosePrise:トラップを利確するときの上限レート。
・PriseDiff:トラップを発注するレート幅。(トラップ幅)
これらのパラメータ項目の意味は検証の結果わかったことです。
パラメータ項目の意味を理解する手順を説明すると、
1、パラメータ無視でテスター設定だけでバックテストをする
2、テスト結果からパラメータの意味を割り出す
と、なります。
続きまして、
3、割り出したパラメータの意味を元にトラリピ設定を決める
4、トラリピ設定をパラメータに入力してバックテストをする
コレでバックテスト結果がわかるというワケですね!(*´ω`*)
コレ以降、段落『パラメーターを変更してテスターを回してみよう』までの間はパラメータの意味の検証となっています。
これまでの経緯
冒頭でも触れましたが、初めてコレを読む人もいるでしょうから少し詳しく説明しときますね。(*´ω`*)
まず、
トラリピ設定を決めるときに、運用試算表でロスカットレベルはわかってもどのくらいのリターンが見込めるかはわかりません。
特に、
同じ資金額という前提で、トラップ幅や利確幅を変えたときにどうなるのかはわからないですよね。
そこで、バックテストでの検証が必要になってくるわけです。
トラリピ設定のバックテストはインヴァスト証券(トライオート )が提供する自動売買ビルダーというツールを使用することで可能ですが、
期間はちょっと物足りないし、手数料やスワップポイントなどはトライオートのものが適用されます。(変更不可)
バックテストとは、
『膨大な過去データに対して設定を適用した場合のパフォーマンスを検証』
することなので、エクセルでちょちょいと調べることもできません。
なので、MT4の『ストラテジーテスター』という機能を利用します。
MT4は目的に応じたEA(自動売買プログラム)をインストールして運用します。
ストラテジーテスターを使用することにより、
『インストールしたEAに乗っ取って運用』
したと仮定した場合の過去データを検証することができます。
そして、
それらを全てタダでやってしまおう。
と、いうのが今回の企画なのです。(いや、企画したつもりはないんですが)(;^ω^)
現状把握
前回、ヒストリカルデータのインポートまで行ったところで、
MT4に無料でダウンロードしたトラリピ風EAをインストールして稼働させるところまでは、なんとかいけました。
ただし、EAの使用には『パラメータ』を設定する必要があるわけですが、
項目に対する『値』が何を意味するのか今一つハッキリわかりませんし、
MT4の特性で単位とかも表示されていません。
ですので、
実際に『ストラテジーテスター』を回して、その結果から各パラメータの意味を探っていこうというわけです。
とにかくテスター回してみよう
では、EAのパラメーターは初期値のままストラテジーテスターを作動させてみます。
テスターの設定はこんな感じです。
・エキスパートアドバイザ:『RIDOrder2』(本の付録の無料トラリピ風EA)
・通貨ペア:USDJPY。(FXTFでは通貨ペアの後ろに-cdがつくと1000通貨コースとのことです。)
・モデル:全ティック。
・期間指定:2014年1月から2019年9月。
・期間:M1。(1分足)
・スプレッド:5。(米ドル円の表示は小数点以下3桁でスプレッド表示は最低単位なので、この場合0.5銭。)
入力が終わったら、テスターの『スタート』をクリックします。
テスト結果
今回、期間は5年半ほどですが、全ティックの設定だったのでしばらく時間がかかりました。(約15分)
例の『ピヨッ』という効果音のあと、結果を見てみました。
まずは結果タブを選択します。
ちっちゃ!
見にくくてすみません・・
あとで拡大して説明します。
とりあえず5年半の間に12回利確してますね。
1回の利確につき100前後の利益。
資金10000に対してトータル1198.97の利益となってます。
次にグラフタブをクリック。
青が残高で緑が有効証拠金ということです。
利確が12回なので、下の数字は利確回数を表しているということでしょう。
次にレポートタブを選択。
バックテストの結果が様々な指標であらわされます。
とりあえず、勝率とか負率とか最大ドローダウンなどを確認できればいいでしょうか。
勝率100%、負率0%なのは最後にポジションを保有していなかったからですね。
出口戦略がうまくいけば、100%勝てるというわけです。
EAの設定を確認します
テスト結果と照らし合わせて、EAの各設定項目の意味を調べるためにEAの設定を確認してみましょう。
ストラテジーテスターの『エキスパート設定』をクリックしてダイアログボックスを開きます。
テスト設定タブ
ダイアログボックスのデフォルトでの『テスト設定』タブの項目です。
・初期証拠金:10000
・通貨:USD
・ポジション:Long&Short
・最適化パラメータ:Balance
・遺伝的アルゴリズム:チェック
ここで重要な項目が『初期証拠金』の数字と通貨です。
この場合、
『10000米ドルを初期証拠金とする』
という意味です。
そのため、扱う通貨ペアは米ドル/円ですが、算出される『損益』はUSDに変換されます。
つまり、上記したバックテストの証拠金や利益の単位は全て『ドル』ということになります。
他の項目はこのEAでは変更しません。
というかわかりません。
『最適化ってなに?』状態です。(*´ω`*)
世の中には知らなくてもいいことがたくさんあるってことです。(適当
パラメータータブ
さて、いよいよパラメーターの項目の意味を検証してみます。
パラメーターは以下の5つの項目で構成されています。
・Lots:0.1
・Positions:5
・OpenPrice:100.0
・ClosePrise:101.0
・PriseDiff:0.2
これらの項目が実際にストラテジーテスターを回した場合にどのような意味を持つのか、
具体的に調べていきます。
では、ここで上記したテスターの『結果』を拡大して見てみることにします。
こちらに表記されている数値を書き出してみます。
・数量:0.10
・価格:100.000から下落0.2刻みで5本
・決済指値:価格+1
・損益:99.0~99.8USD
・残高:資金10000+損益合計
『数量』ですが、FXTFでは1000通貨コースのロット数は1ロット=10万通貨と定められています。
すなわち、0.1ロット=1万通貨です。
出典:FXTF
パラメータ項目の意味
以上の結果からパラメータの項目の意味がわかります。
ポイント
・Lots:0.1 10万通貨に対する0.1Lotで10000通貨。
・Positions:5 全て成立した時のポジション数。(トラップ本数)
・OpenPrice:100.0 トラップを発注するときの上限レート。
・ClosePrise:101.0 トラップを利確するときの上限レート。
・PriseDiff:0.2 トラップを発注するレート幅。(トラップ幅)
OpenPrice:100.0がトラップの上限を示していることなど、実際にテスターを回してないとわからなかったことです。
ま、プログラム言語が読めればわかるかもしれませんけど・・(;^ω^)
加えて、テスト設定での『初期証拠金』を『USD』に設定しているため、損益が円から米ドルに変換されています。
円での損益は、10000通貨が1円上昇時に利確することから10000円となります。
円での利益を、当時のレートで米ドルに換算すると、
計算式:10000(円)÷100.2(レート)=99.8(USD)
となり、上記したテスト結果と合致することがわかります。
判明した設定をマネースクエアの運用試算表に当てはめると仮定すると、
通貨ペアは? | 米ドル円 |
運用予定額は? | 10000円 |
仕掛けるレンジ幅は? | 99.2~100円 |
レンジ内に仕掛ける本数は? | 5本 |
1本あたり何通貨? | 10000通貨 |
1回のリピートでねらう利益は? | 10000円(99.8ドル) |
と、なります。
パラメータを変更してテスターを回してみよう
EAのパラメータの意味が確定したので、もっと現実的な数値に変更してストラテジーテスターを回してみます。(*´ω`*)
今回の設定はこのようにしてみます。
通貨ペアは? | 米ドル円 |
運用予定額は? | 1000000円 |
仕掛けるレンジ幅は? | 101~120円 |
レンジ内に仕掛ける本数は? | 20本 |
1本あたり何通貨? | 3000通貨 |
1回のリピートでねらう利益は? | 3000円 |
この設定をマネースクエアの運用試算表で計算すると、ロスカットは97.744円となります。
パラメーター変更の手順
これを上記したストラテジーテスターのエキスパート設定から変更します。
ダイアログボックスが開いたら、『初期証拠金』を1000000、JPYへ変更します。
プルダウンメニューにはないので直接入力してください。
これで、証拠金、損益ともに日本円で表示されます。
次にパラメータを変更します。
・Lots:0.1→0.03に変更。
・Positions:5→20に変更。
・OpenPrice:100.0→120.0に変更。
・ClosePrise:101.0→121.0に変更。
・PriseDiff:0.2→1.0に変更。
これで、
・通貨ペア:米ドル円
・投入資金:100万円
・想定レンジ:101~120円
・トラップ本数:20本
・通貨数:1本当たり3000通貨
・利確幅:1円
・トラップ幅:1円
のトラリピ設定ができたことになります。
数値の変更ができたら『OK』をクリックし、ダイアログボックスを閉じます。
ストラテジーテスターをスタートします
パラメータが変更できたら、テスターをスタートします。
が、今回30分経っても終わらなかったので、『モデル』をティックから初値のみに変更しました。
初値のみに変更してテスターをスタートさせたところ、5分ほどでバックテストが終了いたしました。(*´ω`*)
変更後のバックテスト結果
結果拡大
この数値を見る限り、設定通り、
・想定レンジ:101~120円
・トラップ本数:20本
・通貨数:1本当たり3000通貨
・利確幅:1円
・トラップ幅:1円
と、発注されていますね。(*´ω`*)
なぜか120円のトラップ発注が一番下にきているんですけど・・(;^ω^)
おまけに期間設定を2014年初からにしているにもかかわらず2014年12月から始まってます・・なんで???(;´・ω・)
追記
2014年12月付近を含んだチャートを確認したところ、トラップ発注を始める条件として、
上限のトラップが指値で成立すること
があるように思えます。
つまり、レート上昇中は買いが成立しないってわけです。
チャートは月足なので、細かいレートの上下はあったハズなんですが・・EAの仕様と思うしかないのかもしれません。
損益も3000円づつ計上されてます。
3000円以上の損益はスワップポイントが加算されているためです。
グラフ
キタ━━━━(゚∀゚)━━━━!!
これですよコレ!!
これぞバックテスト結果、と言わんばかりのキレイな右肩上がりのグラフが表示されました。(*´ω`*)
青が残高で緑が有効証拠金です。
緑が落ち込んでいる(含み損が増大している)エリアでも順調に利益が上がっている様子がわかりますでしょうか!?
これがトラリピの威力です。
最後の落ち込みは、保有していたポジションを決済したときの含み損を確定したものです。
レポート
レポートタブをクリックし画面上を右クリックするとレポートの保存ができます。
レポートはグラフのGIFファイルとブラウザで開くドキュメントファイルがありますので、専用のフォルダを作成して保存しておきましょう。
・純益:605749円
・総利益:674305円
・総損失:-68555円
・最大ドローダウン:47.77%
・総取引数:203
・勝率:94.58%
・負率:5.42%
以上の結果となりました。
まとめ
やっとまともなバックテスト結果がでたことでホッとしました。(*´ω`*)
今回、無料のEAをダウンロードしてバックテストに使うということで、
説明書もなにもない状態からだったので、ちょいと手間暇かかりましたが、なんとか目安程度にはできそうですよね。
ま、突き詰めていうといろいろ釈然としない部分もあります。
なんで期間設定どうりの結果が出ないの?とか・・(;^ω^)
そのあたりはおいおい解明していくとして、今回は『有効なデータが取れそうだ』ということを喜びたいと思います。
今のところ米ドル円だけですが、
一連の記事を参考にすれば、誰にでもMT4でのバックテストができるように可能な限り具体的に説明したつもりです。
口座開設からMT4のインストール、EAのダウンロードからバックテストに至るまで、
ここまでの費用はタダです!
一つ一つの作業はそれほど難しいものではありませんので、是非とも挑戦してみてくださいね。(*´ω`*)
それでは今日はこの辺で。
今回も最後までお付き合いいただきありがとうございました。
あなたが安心してFXで儲けていけるよう、願っております。
ヒロセ