*

ティック更新のズレにはFXシステムの穴がある 合成通貨アービトラージ

合成通貨アービトラージとは

FXは通貨ペアなので、その組み合わせは無数にあります。

例えば、ドルから円に換える場合、普通は直接ドルを円に変換しますが、 ドルを一度ユーロにかえて、ユーロを円にする方法だってあります。  

通常は、交換回数が多くなればなるほどそれだけ手数料が取られることになりますので、だれも注目していません。  

しかし、そもそもこの「別の通貨を経由した場合のレート」は元のレートと完全に一致するのでしょうか。  

 

合成通貨アービトラージインジケーター

今回はそれを調べるためにインジケーターを作成しました。

bandicam-2016-12-28-18-07-30-380

このインジケーターは、 セットしたチャートの通過ペアをメイン通貨ペアとして、 別の通貨を経由したときにレートがいくらになるかを表示します。

本来であれば、 どの通貨ペアを経由しても(スプレッドを考慮して) レートは一致するはずですが、 実際には微妙に差があります。

 

しかし、これでアービトラージができるほどの差ではありません。

 

しかし、 これが暴騰暴落のときにはどうなるでしょうか。 この差は一瞬大きくなり、 合成通貨の方がメイン通貨ペアよりもレートが良くなる瞬間が発生します。

その際に、両建てすれば・・・・ 夢が少しだけ広がる気がしませんか。

 

合成通貨アービトラージインジケーターのコード

.ex4のダウンロード : https://fxantenna.com/download/9110/

.mq4のダウンロード : https://fxantenna.com/download/9105/

 

合成通貨アービトラージEA

合成通貨アービトラージのEAを開発します。 瞬間的な両建てが必要なので、おそらくマルチタスク、マルチスレッドが必要になるでしょう。

MT4でマルチタスク処理

まず合成通貨のパターンを構成する通貨を選択します。

どんなに採用通貨ペアが少ないFX業者でも利用できるように 主要7通貨ペアを採用します。

ドル、円、ポンド、ユーロ、カナダドル、オーストラリアドル、スイスフラン です。

7つの通貨の通過ペアパターンは、7C2=21通りあります。

 

それぞれに対して、21x(7-2)通りの合成通貨パターンを書きだします。

AskとBidの2通りのレートが存在するので、 それぞれの意味合いが消失しないように、AskとBidを選択して合成通貨を作成します。

bandicam-2016-12-28-18-18-21-546

かなり見にくいですが、 このような表になります。

そして、 レートの差が大きくなった瞬間に、そのレート差が埋まる方向に両建てをします。

本当に一瞬なので、この処理はマルチタスクで行います。

といっても、MT4にはマルチタスク専用の機能はないので、 グローバル変数を使ってデータの受け渡しをします。

 

同じチャートを4つ開き、それぞれにこのEAをセットします。

1~3回目までは、左上にコメントが表示され、 4回目に画像の表が表示されます。

表がでているチャートのEAがメインの計算を行い、 その他のEAはオーダーの管理を行います。

 

もともとは4つそれぞれ、 別々のEAだったのですが、 設定する側が混乱する元になるので、 すべて統合しました。 そのため、ソースコードはEA4つ分になっています。

 

パラメータ設定の「DifferencePoint」がエントリーを実行するpips差を表し、 合成通貨とメイン通貨ペアのレート差がこの設定値以上になると、 エントリーを実行します。

 

スピード勝負なので、高速なコンピュータ&高速ネットワーク勝負ですね。

 

合成通貨アービトラージのEAのコード

.ex4ダウンロード : https://fxantenna.com/download/9096/

mq4ダウンロード : https://fxantenna.com/download/9099/

 

合成通貨アービトラージを改善するには

以前、横瀬様のブログにて合成通貨のアービトラージを拝見致しまして、自分なりにプログラムを書いてみたのですが、思っていた精度が出ず困っております。 横瀬様のブログでは、別の通過を経由するとの事でしたが、私は、合成通貨と、ドルストレートの組み合わせでサヤをとると言うプログラムを書いてみました。 例えば、EURJPYと、それを構築するEURUSD、USDJPYを組み合わせ、2組をレートのズレを検知すると言うプログラムです。 プログラム内では、レートのズレは確かに100point位存在するのですが発注を完了してみるとレートのズレは存在していない見たいです。 そこで原因については、 ①発注スピードに問題がある ②レートのズレ自体が存在しない ③プログラム自体に問題がある の問題点に限られと思っております。 そこで、相談なのですが、横瀬様はどれに問題があると思いますか?

  A.

①発注スピードに問題がある

もし発注のフラグをティック到達ベースにしているのなら、この可能性は高いと思いますが、もしそうでないならあまり影響力は大きくないと思います。 もし気になるのであれば、FX業者にクロスコネクトしている(データセンター内で有線接続している)VPSを使うのがいいと思います。(Beeksとか) .

②レートのズレ自体が存在しない

レートのズレが本当は存在していなくて、表示だけズレているケースもあると思いますが、何をもって真のレートとするかは為替の場合比較的あやふやなので、難しい問題だと思います。 ただし、理論上はすべての通貨間の流通量と取引スピードが同じでなければ、ズレは必ず生じるので、ナイアガラ発生時には数pips程度のチャンスはあると思います。 .  

③プログラム自体に問題がある

その可能性ももちろんありますね。最初から完璧なシステムはなかなか作れませんから… 個人的には、FX業者自体の要因が一番大きいと思います。特にリクイディティプロバイダを兼任しているようなFX業者と末端のホワイトレーベルのFX業者では処理も仕様も全然違うと思います。 なので、方向性としてはプログラムを改善するよりも、いろいろなFX業者を検証してみるという方が成功する確率はあがると思います。

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

Message

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

CAPTCHA


このコメントはWEBに公開されるので、問い合わせ等はメールなどでお願いします。

関連記事

EAを実際に逆コンパイルしてみて、対策を考える(追記あり)

逆コンパイルとは 逆コンパイルというのは実行ファイルからソースコードファイルを復元することで、デコ

記事を読む

チャート上にシダの葉を出力する(理工系あるある)

今回のフラクタルはインジケーターとしてのフラクタルではなく、理工系で使われるフラクタルの話です。

記事を読む

[MT4EA]完全無敗 勝率100%のバックテストを生成するEA[ソースコードあり]

今回はバックテストで完璧な成績を出すEAを作成しました。 意味は...ありません。ただの道楽です。

記事を読む

no image

利用可能なトレード系APIまとめ

今まで当たり前のようにMT4/MT5で開発をしてきましたが、そういえばAPIを使った取引も可能だよね

記事を読む

最近の海外のEA開発の流行り:ロングとショートのパラメータ群を分ける

表題の通りですが、最近海外製のEAではロングとショートのパラメータを分けるのが流行っているようです。

記事を読む

 
  • (↑広告です。このサイトの管理者の運営ではありません)

     


  • 横瀬兼元(ペンネーム)です。

    プロフィール
    商材を買わせようとする偽者がいるらしいのでご注意ください。
    ツイッター始めました(イマサラー)
    https://twitter.com/FxantennaC
    (埋め込みするとページ表示が極端に遅くなるので、リンクでご容赦を)

Translate »
ページトップへ