見出し画像

開発 & 運用 周辺環境

使用ガジェット

言語:JAVA(JForex), Python, Pineスクリプト(TradingView), MQL5 (MT5), MQL4(MT4)

バックテストプラットフォーム:MT5 , JForex

テストデータ:デューカスコピー社のTickデータ

解析グラフ作成:Plotly's Python , QuantAnalyzer


開発フローチャート

アイディアを考える

MQL5のコードを起こす

MT5のバックテストで試す(1分足)

結果が良ければ、最適化(TP,SLなど)

『 AllData 』 and 『 TickData 』でバックテスト

QuantAnalyzerで解析

検証・実運用時に使うプログラムコードをJForex用にJAVAで、TradingView用にPineスクリプトで起こす


実運用フローチャート

過去の相対的ドローダウン(Pips)を閾値として控えておく

検証用口座(国内で少額投資ができる口座)にて実弾少額投資を開始(外出時などでJForexの売買サインが見れない場合は、Tradingviewで作成したインディケーターにてサインを確認)

日々実運用結果を.csvファイルに記録しておく

定期的にJForexにてTickDataでバックテストを実施

Plotly(Pythonのグラフ作成ツール)にて実運用結果とJForexバックテストとを比較検証する

両者のグラフに相関性が見られない場合は運用を諦める

ただし、ある程度の乖離で相関性が見られる場合はそのまま継続運用、、、

ドローダウン期間の対処としては、バックテストで得たドローダウンの閾値までは継続運用をして回復を待つ

( ^∀^)

そこからさらに閾値 ➗ 2の値まで悪化するようなら一旦運用を停止

(´ー`A;) アセアセ

その後はバックテストにて 閾値 ➗ 2の値を回復するまで待ち、回復後運用を再開する

♪( ´θ`)ノ

もし、回復せずドローダウンが閾値✖️2の値まで悪化した場合は、運用を諦める

_:(´ཀ`」 ∠):

順調に運用が進み(3、4ヶ月)、いける確信を得たら実運用口座にて運用を開始する


バックテスト要項

期間

From:To  2004年~:2020年12月31日
exception:
クリスマス(12月25日)は東京市場が閉まる15時以降は休業するため新規注文はしない。ただし以前の注文が約定していた場合は15時に決済する。
年末の持ち越しはしない。
1月1日はトレードをしない。

過剰最適化(カーブフィッティング)にならないよう、期間に関しては最適化項目から外しています。

ヒストリカルデータ

全ティック:ティックを生成 スプレッド固定

リアルティック:デューカスコピー社のヒストリカルデータ(Tick)をMT5のサーバー時刻に変換してインポート スプレッド変動

実運用とバックテスト(リアルティック)での比較に相関性はあるが乖離が生じる場合、全ティックでのバックテスト結果と実運用での結果を比較すると、乖離幅が縮む場合がある。これはスプレッドの違いによるものが大きい。


実運用要項

検証用口座

取引量:MAX 500〜1000通貨

検証用口座はスリップページなく確実に約定させるために、少額取引ができる国内口座を使用し、トレード手法の実運用での有効性を確認する。
有効性には、獲得利益の他に自動と手動による誤差の確認が含まれる。
検証用口座では注文価格と約定価格が履歴で確認できる会社を選び、スリップ具合を確認する。

実運用口座

取引量:MAX 10000通貨

実運用口座での最大の取引量を低額に抑え、確実に約定させるとともに、複数の証券会社で運用することで利益を増やす工夫をする。
証券会社の選定には未カバー率、カバー取引の状況、平均証拠金率、取引高、約定率の5点を重視し選ぶ。
また、普段の取引において急騰暴落時におけるレートの配信状況や、注文のスリップ具合を確認する。



この記事が気に入ったらサポートをしてみませんか?