プログラムの動作チェックはバックテストが便利です。バックテストは過去データを使ってシステムの検証ができます。利益が最大化するように最適なパラメータを探すこともできます。バックテストをするには準備が必要です。
ヒストリカルデータのインポート
そのままではインストール前のデータはありませんので、過去データ(ヒストリカルデータ)をダウンロードして、インポートします。
FXDDから無料でダウンロードできます。例としてUSD/JPYをダウンロードしましょう。
www.fxddtrading.com
参考サイト
Just a moment...
ダウンロードしたデータを使うために、予め既存データを削除したりする必要があるので、下記の手順に従ってインポートします。
インポート手順
- ダウンロードしたzipファイルを展開
- MT4のツール→オプションをクリック
- オプション内のチャートタブで「ヒストリー内の最大バー数」「チャートの最大バー数」をそれぞれ最大値(9を押しっぱなしにする)を入れてOKを押す
- ファイル→データフォルダを開く(エクスプローラーが開く)
- USDJPYのチャートを開いていたら閉じる
- MT4を終了する
- エクスプローラーで、history\RakutenSecurities-Demoを選択
- USDJPY*.hstファイルを全部消す。
- MT4を起動する
- ツール→ヒストリーセンターをクリック
- Forex->USDJPYの1分足(M1)をクリック
- インポート→参照
- 右下の拡張子をMetaQuotes files(.hst)に変更しダウンロードしたhstファイルをインポートする
- MT4を再起動
- ファイル→オフラインチャートを開く
- USDJPY,M1を選択して開く
- ナビゲータウィンドウからスクリプト→PeriodConverterをダブルクリック
- ツールーバーの自動売買と全般タブの自動売買を許可するをONにする
- パラメーターの入力タブでPeriod multiplier factorに5を設定しOK(5分足を作成する)
- 上記同様(PeriodConverterをチャートダブルクリックするところから)に、パラメータ「Period multiplier factor」に「15」「30」「60」「240」「1440」を設定して、それぞれの時間足のデータも作成。ポップアップは「はい」を押す。
- ファイル→オフラインチャートを開くで全ての時間足ができていることを確認する
- MT4を再起動する
バックテスト手順
先程、作成したiband.mq4をテストしてみましょう。目的は動作確認なので、期間は短くします。
- 「表示」「ストラテージテスター」
- 「エキスパートアドバイザー」「iband.ex4」を選択
- 期間「M5」,スプレッド「現在値」に設定
- 通貨ペアをUSDJPY、開始日「2022/01/01」、終了日「2022/3/31」に設定
- エキスパート設定をクリック
- パラメーター設定でbuy_thresholdを3.0に設定してOKをクリック
- 「スタート」をクリック
- 終わったら「レポート」タブで結果を確認
動きましたか?手元の結果は-31.28ドルで赤字です。今回は動作確認が目的なので結果は気にせずに意図したタイミングで売買しているか確認しましょう。
テスト結果をチャートで確認
- ストラテジーテスターの「セッテイング」タブをクリック
- 「チャートを開く」をクリック
- 「結果」タブをクリック
- リストをダブルクリックすると、その時点のチャートにジャンプするので、ボリンジャーバンドの上限、下限で売買しているか確認する
動きがおかしかったらプログラムを確認してください。不等号の向きやAsk,Bidが逆じゃないか確認してください。