[EA開発] クリスマスプレゼント(mql5ソース)
こんにちは。2payです。
今日はクリスマス(イヴ)ということでプログラマ系サンタがEAを届けに上がりました。
これがあれば街へ繰り出す予定の無い人も家でほんのり暖かいパートナー(PC)と退屈しない時間(検証)を過ごせるかと思います。
さて今回用意したのは、ラウンドナンバー付近でエントリー(順張り)するEAです。
最近ラウンドナンバータッチを利用したロジックの有効性について考えていたところ、偶然ラウンドナンバーを使用したEAの記事を拝見しました。
その中で記載されていた要点をかいつまむと、
「東京24時(夏23時)つまり、NYOpCutの時間にキリの良い価格でオプションが行使されるため、ラウンドナンバー付近で流動性が増加する。」
ということらしいです。
USDJPYで、その時間(有効期限1時間)にラウンドナンバー(1円刻み, 0.5円刻み等)にタッチしたら逆張りし、6年のテストで有効性が確認できたという結果が得られたようです。
以前から私はラウンドナンバーに対するアプローチを検証してきましたがどうあがいてもうまくいかなかったのでこの記事の内容に懐疑的でした。
当時時間帯で絞るという発想が無かったので、改めて作り直したらうまくいくのかもしれません。
・通貨:USDJPY
・Buy & Sell
・東京24時(夏23時):EET/EESTなら16時半 (イベント前に仕込み)
・エントリー許容時間:1時間
・最大保有時間:1時間
・SL,TP:1000.0 pips (到達しない位置まで離している、実質フリー)
・ラウンドナンバー :0.5円(50.0pips) 刻み
・Lot:0.01固定 (単利)
ラウンドナンバーは幅を持たせず、キリ番に到達(orブレイク)したら逆張りエントリーさせます。
・現値直下のキリ番に触れたらBuy
・現値直上のキリ番に触れたらSell
裁量勢ならスキャルピングで抜きそうなロジックですが、果たして定量的なロジックとして効くのでしょうか?
2020-2025 USDJPY M5 (変動スプレッド)
結果↓
勝つどころか負けていますね。
エントリー時間を16時半からイベント開始時間(=17時)に変更してみます。
結果 ↓
より激しく負けています。どこを切り取って勝てると判断したのでしょうか?
優位性が全くないロジックの場合は、損益から手数料を差し引くと0円付近に落ち着きますが、この場合はそれ以上に強く負けているように見えます。
私の集計データによると、Gaitameの17時から1時間の平均スプレッド実績(キャンペーン期間外)は0.5pipsなので、
手数料をざっくり計算すると、775回*5円=3,875円
総損益-19,947-(-3,875)=-16,072円
もしかするとBuyとSellを逆にする(順張り) とうまくいくかもしれません。
// ---
※以下今回お渡しするEA(上記内容を順張り化したもの) になります。
順張り転化する際に少しルール変更したのでメモを残します。
・ホールド時間上限を削除 (本ロジックにおいて、時間決済の適用は損益の確定がランダムになる傾向があったため。)
・時間決済がなくなったため、SL,TPを実用的な値に変更 (多少調整はしましたが、最適化はかけていません)
・ラウンドナンバー到達2.0pips前にエントリー (キリ番に接近する直前は素直に順行する傾向)
結果↓
プラスになりました。しかもそこそこ成長曲線が綺麗です。
以下エントリー時間時点の集計結果です。(バックテストレポートはクローズ時間に基づいた集計)
(2020年が少ないのはヒストリカルデータの開始地点が2020年10月半ば以降のため)
// ---
10年テスト (2015-2024)
// ---
長い説明になりましたが、改めて今回は本ロジックのソースコード(mql5)と使用に伴う責任をプレゼントします。
まだ最適化も取っていないのでいろいろ試してみてください。
シャープレシオが2.0を超えているので""指標上は""統計的に有意(偶然の産物ではない)です。(因果の推定は個々で検証してください。)
集計結果の傾向を読み解ければパフォーマンスの改善余地は十分にあります。
無駄なエントリーを減らすことができればPFは向上します。
"検証用"として配布しますので、実用する場合はポジション管理面の補強を推奨します。
マジックナンバーを割り振っていないので、裁量と並行して使うと勝手に裁量ポジションを決済するかもしれません。
簡単なソースなのでマジック割り振り程度なら誰かに依頼すれば引き受けてくれると思います。
著作権フリーですがこのまま商用利用することは禁じます。
それでは楽しんでください。
最後まで読んでいただきありがとうございました。
// ---
↓配布物はコチラ↓
Is it OK?