ハイローバイナリーのシステムトレード過去検証[MA,RSI,リバウンド]

バイナリーオプションの場合、リアルタイムの自動売買開発と過去検証のためのソフト開発は別物です。

自動売買はこちら

バイナリーオプションの自動売買を開発するやり方

 

過去検証の方がはるかに簡単なので、バイナリーオプション用のトレード手法はあるけどバックテストのやり方がわからない、という人向けに考察します。

バイナリーオプションは中身はFXなので、基本的にはMT4/MT5, jForex, cTrader, TradeStation, NinjaTraderなんでもいいですが、FX系のソフトでテスト可能です。

自動売買が禁止されているバイナリーオプション業者でも、システムを使って過去検証を行い手動で売買する分には問題ないので、バックテストをやらない理由がありません。

 

バイナリーオプションで過去検証する方法

最も基本的なバイナリーオプションの事例を考えます。

仮に、

  • 5分おきに判定時刻があり、
  • 1分前にプット/コールができなくなり
  • ペイアウトが1.8

のオプションの場合、

  • 分(Minute())が5で割り切れるときに決済。(足の更新のタイミング)
  • 分(Minute())を5で割って、4余るときにはエントリー不可
  • 最終的な勝率に対して1.8を掛ける

これだけで、バイナリーオプションでその手法が勝てるのかどうかテストすることができます。

※現在ハイローオーストラリアでは5分のモードはなくなっています。

 

上がるか下がるかだけなので、スリップ、スプレッド、約定拒否などは考えなくていいです。
FXのプログラミングをしたことがある方からすれば考慮するべき項目が激減するので超かんたんです。

 

ただし、バックテストするときには、スプレッドを可能な限り0に近づけます。
(MT4の場合1pointが限界です。)

 

ゴールデンクロス/デッドクロスでプログラミング

試しに、ゴールデンクロス、デッドクロスでプログラミングを組んでみましょう。

1分足で14単純移動平均線と28単純移動平均線のクロスのプログラムを組みます。

「形成中の足でエントリーの判定を行うと、ダマシにあいやすい」というのが最近のセオリーになりつつあるので、確定足でエントリー条件を判定します。

 

バックテストのみで実際にリアルタイムでトレードさせる訳ではないので、スリッページやAsk,Bidなどはフェイルセイフ機能がない記述でもOKです。また、分を5で割って余りが4になるときはプットもコールもできないので、エントリーしないようにします。

 

次に、決済処理です。

バイナリーオプションの決済は5で割り切れる分の初めで行われます。

そのため、この時間になったら強制的に決済するように記述するだけです。

 

実際にソフト(MT4)を動かしてハイローバイナリー過去検証

これまで何度もやっているので、特に解説する必要はないと思います。

これでバックテストします。
bandicam 2017-11-28 10-14-16-199
bandicam 2017-11-28 10-15-35-827
bandicam 2017-11-28 10-15-13-090

モデリング品質が25%なのは、普段からMT4を触っていないのでデータがないということと
そもそも1分足なので本来はノイズが入りまくるということがあります。(つーか、これが限界)

bandicam 2017-11-28 10-17-16-404

トレード回数は46回で、勝ち回数25回なので、
毎回1000円ベットしたとすると、

投資コスト:46×1,000円=46,000円
リターン:25×1,000円x1.8=4,5000円
差額-1,000円

つまり、負けるってことですね。

実際には、スプレッド1ポイント分で負けなかった可能性もあるので、それも含めるとトントンといったところでしょうか。

ヒストリカルデータも完璧ではないので”ざっくり”としたデータであることは否めません。
(逆に、誤差の範囲でないと証明することもできませんが)

 

 

また、現実においては、

  • 時間帯(朝方、日中、夕方、深夜
  • 通貨ペア

が影響するので、

一概に「このトレード手法はダメ、このトレード手法は勝てる!」と決定づけることはできません。

しかし、プレゼンするには良い資料になるかもしれないですね。

 

 

MT5ならリアルティックに基づいたバックテストが可能

MT4でバックテストすると、1分足未満のデータは疑似生成ティックになってしまいます。そのため、5分単位で勝ち負けが決まるような期間の短いバイナリーオプションでは正確な過去検証を行うことができません。

 

しかし、MT5であればより細かいヒストリーデータに基づいたリアルティックに基づいたバックテストが可能です。

forex-mt4-mt5-ea

 

MT5でコーディング

先ほどのMT4版をMT5版に書き換えます。

 

 

MQL5に変える際に注意すべき点は

  • iMAが直接値を返すのではなくiMAのハンドルを返すこと。
  • Minutes()関数が使えないこと
  • ポジションの総数がOrdersTotal()ではなくPositionsTotal()であること
  • Ordersendは構造体で引数を指定すること
  • Barsに引数が必要なこと
  • マージンモードとフィリングモードに汎用性を持たせておくこと

です。

forex-mt4-mt5-ea

短期移動平均の期間と長期移動平均の期間をパラメータ化して最適化できるようにしましょう。

 

早速検証してみます。

forex-mt4-mt5-ea

forex-mt4-mt5-ea

forex-mt4-mt5-ea

EURUSD 2020/4/1~2020/4/14 短期MA期間 長期MA期間 パラメータ最適化結果

 

どうやら移動平均線の期間の組み合わせをどんなに頑張っても負けてしまうことが分かります。この原因にはいくつか考えられます。

  • MT5の場合テスターでスプレッドを変えることができないのでスプレッドの影響が大きくなってしまっている(テスト時:4)
  • そもそもこんなシンプルなトレードロジックでは優位性なんてない

 

RSIで挑戦

そこでちょっと悪あがきをしてみます。移動平均線のゴールデンクロス、デッドクロスは順張り向けのトレードロジックなので、逆張りのオシレーターであるRSIにテクニカル指標を変えてみます。

 

forex-mt4-mt5-ea

forex-mt4-mt5-ea

EURUSD 2020/4/1~2020/4/14 RSI期間 RSI上下ライン パラメータ最適化結果

例えば、RSI期間16, RSI上:80, RSI下:20でテストすると、勝率は52.64%になります。取引数19に対して、勝ちトレードは10回です。

毎回1000円ベットしたとすると、

投資コスト:19×1,000円=19,000円
リターン:10×1,000円x1.8=18,000円
差額-1,000円

スプレッドによる負け取引の増加があったとしてもやはりトントンです。

 

 

HighLow 15分で

どうやらしばらく見ない間にハイローオーストラリアではHighLowの5分のモードは消えたようですね。最短でも15分が最も短い時間のようです。

forex-mt4-mt5-ea

という訳で15分のハイローで検証を行ってみます。検証に使うプラットフォームはMT4とMT5と迷うところですが、15分であればティックデータの誤差が軽減されるので、スプレッドを変更できるMT4にしましょう。

 

締め切りは5分のハイローの時同様に1分前までです。

forex-mt4-mt5-ea

分が、xx:04、xx:24、xx:39、xx:54のときに締め切りで、xx:05、xx:25、xx:40、xx:55のときに判定があったり、

分が、xx:59、xx:14、xx:29、xx:44のときに締め切りで、xx:00、xx:15、xx:30、xx:45のときに判定があったりしますが、後者の時間区切りの方が分かりやすいので後者の検証で行きましょう。

ペイアウトは1.85なので、勝てば1.85倍、負ければ0倍になります。

 

締め切りから判定まではプット/コールできません。エントリーには下記の条件が必要です。

 

決済条件は建玉を持っている場合に下記の時間になったら決済です。

 

また、終了時刻+5分はプット/コールできません。

 

 

あとは1分足で全ティックでスプレッド1でテストするだけです。

forex-mt4-mt5-ea

 

短期移動平均線の期間と長期移動平均線の期間を”過剰最適化”させると(54,14)が最適であるということが分かりました。

forex-mt4-mt5-ea

総取引数219に対して勝ちトレードが120で、勝率がなんとか50%を超えています。

コストは、219回x1000円=219,000円 に対して、

リターンは、1850円x120回=222,000円 なので1000円だけプラスです。

 

 

HighLow Turbo 3分の場合

ハイローオーストラリアにはバイナリーオプションの種類に”Turbo”というものがあり、指定された時間で閉じるのではなく、プット/コールした時間を起点にして30秒後、60秒後、180秒後、300秒後にレートが上がるか下がるかをベットするモードがあります。

 

こちらのモードの場合、ペイアウトは1.95で通常モードよりもなぜか”払い”が良いです。

forex-mt4-mt5-ea

EAのプログラミングはTurboモードの方が簡単です。エントリーから時間のフィルターを外し、決済を指定秒数後にするだけです。

コード全体は以下のようになります。

 

例によってまた過剰最適化させます。

forex-mt4-mt5-ea

 

forex-mt4-mt5-ea

forex-mt4-mt5-ea

forex-mt4-mt5-ea

取引数796に対して勝ちトレードが415で、勝率が52.14%です。

投資コストは、796回 x 1000円 = 796,000円

リターンは、415回 x 1000円 x 1.95 = 809,250円

なので13,250円の儲けになります。実際はスプレッド分負けているトレードもあるのでこれよりもちょっと増えるはずです。

 

ハイロー Turbo リバウンド狙い戦略

これまでは移動平均線やRSIを過剰最適化することでしか勝率50%以上を出すことが困難でしたが、暴騰暴落のリバウンド狙いならもう少しマシな成果を出せます。

 

 

暴騰暴落局面は、通常のFX取引の場合は約定拒否やスプレッドが広大になる場面ですが、ハイローバイナリーの場合はスプレッドを無視できるので、(無視できるモードがあるので、)そこに”穴”があります。

 

また、FXの場合はレートがリバウンドせずにそのまま直行してしまった場合に、損失が膨大になりそれまでの利益を吹き飛ばしてしまいますが、ハイローバイナリーオプションの場合は損失が限定的なので、そういった意味でもバイナリーオプションでこそできる戦略だと思います。

 

 

リバウンド狙いの場合は通常のハイローバイナリーモードよりもTurboの方が有利なので、Turboで検証します。

 

Gap_in_pointが指定の暴騰暴落幅です。始値から現在レートまでにこの数値以上の開きを形成したときに逆張り(リバウンド狙い 落ちるナイフを掴む)取引します。大きな時間枠での暴騰暴落の場合はそのまま行ったっきりになることが多いですが、小さい時間枠チャートでの場合はリバウンドする率が高いです。

forex-mt4-mt5-ea

35~40pointあたりを頂点として優位性があることが分かります。(右側の収益性が低いパラメータでもプラス)

実際にグラフを確認してみると、

forex-mt4-mt5-ea

悪くはないグラフです。

forex-mt4-mt5-ea

総取引数:1256に対して、勝ちトレードが679です。

ベット総額:1256 x 1000円 = 1,256,000円

ペイアウト:679 x 1.95 x 1000円 = 1,324,050円

収益:68,050円

120万かけて7万のリターンを大きいとみるか、小さいとみるかは人それぞれでしょう。ただ、この取引数をこなすには自動売買が必要ですね。人件費を考慮しても… しかし、こんな取引をしたら自動売買であることがあからさまに検知されるので、やっぱり厳しいかな..

 

HighLow_SingalSender_turbo_rebound.ex4

HighLow_SingalSender_turbo_rebound_ATR.ex4

 

しかし、やはり単一のテクニカル指標程度ではごく短い時間枠チャートでのトレードの優位性を見出すこと自体が厳しい、ということでしょう。もうちょっと複雑にしたトレードロジックなら曙光が見えるかもしれません。

 

バイナリーオプションで何か検証してほしいトレードロジックがあればコメントにお願いします。

 

この投稿は役に立ちましたか? 役に立った 役に立たなかった 7 人中 7 人がこの 投稿 は役に立ったと言っています。
 

コメント

  1. けい より:

    こんにちは。
    プログラミング知識がありませんが(勉強中)バイナリ―1分足の00秒ペイアウト90%のノウハウでのバックテストをとりたくて奮闘しております。
    文中にあるソースコードを1分用に編集できたとして、このソースをコンパイルしてどう使うのでしょうか?
    ・バックテスト対象のカスタムインジにのMQL4にこのソースを追加するのでしょうか?
    ・このソースをコンパイルするとストラテジーテスターにで選択できるようになり、選択することによりバックテストをかけたいカスタムインジを選択できるのでしょうか?
    不敵させつなコメントであれば申し訳ありません。
    宜しくお願いします。

Message

メールアドレスが公開されることはありません。

CAPTCHA


  • このエントリーをはてなブックマークに追加

関連記事

[MT4+AutoIT]HighLowバイナリーオプションの自動売買を開発するやり方 2020

今回はハイローバイナリーオプションの自動売買をします。バイナリーオプションの場合、同じシステムトレー

記事を読む

 

Translate »
S