*

市販のインジケーターをEA化する 実践編

何年か前に「iCustomを使ってインジケーターをEA化する」という記事を書いたのですが、意外とアクセスがあるようなので、今回は実践編として続きをします。

前回はMT4に標準搭載されているZIGZAGを対象のインジケーターとして使いましたが、今回は市販のインジケーターでよくあるパターンでやってみます。

具体的には、
・インジケーターのexファイルはあるが、mqファイルはない
・チャート上にセットすると買いと売りのサインがでる
という設定です。

とりあえず今回は一番よくある簡単なパターンを解説します。
bandicam 2017-12-22 11-22-00-024

まず、このインジケーターがどのような挙動をするかを把握する必要があります。
・矢印はバッファに値が入っているのか否か(カーソルを合わせたときに数字が出るか否か)
・リペイントはするのかどうか
・現在足でサインがでることはあるか(その場合消えるかどうか)

まずは、てきとうにEAファイルを作ってインジケーターの挙動をざっくり調べます。

このコードはインジケーターの挙動を調べるための”ざっくりとした”コードです。調べる対象のインジケーター名をArrowIndicatorと入れ替えてください。拡張子はあってもなくても大丈夫です。

括弧の前の数字は最新のロウソク足の右からの順番(現在足は0)
その左の数字はバッファを表します。

バッファというのはインジケーターを開発する際に線とかヒストグラムを描画する際に使うもので、バッファに数字を入れてバッファの描画タイプを指定することでチャートに表示させています。

後はこれをコンパイルして、
・ストラテジーテスターで
・ヴィジュアルモードで
・対象のインジケーターをチャートにセットした状態で
テストを行います。

bandicam 2017-12-22 11-27-55-699

すると、ちょっと見にくいですが、一つ前の足に矢印があるとき、{2 1} に値が入っていることが分かります。矢印がないときには0として表示されるので、「上向きの矢印があるときにはそのレートがバッファに反映される」ということがわかります。

同じように上向きの矢印は{3 1}に値が入ることがわかります。

つまり
上向きの矢印がでる = バッファ2が0でない(そのときのレートが入る)
下向きの矢印がでる = バッファ3が0でない(そのときのレートが入る)
ということが分かります。

ちなみに、チャート上の上向きの矢印にカーソルを合わせたときに「Value3:111.429」とでますが、実際のバッファ指定の際には0スタートのため、1ずれて2番になります。

具体的に言うと、
iCustom(Symbol(),Period(),”ArrowIndicator”,2,1) <- こっちが上向き矢印
iCustom(Symbol(),Period(),”ArrowIndicator”,3,1) <- こっちが下向き矢印
(バッファは0スタートなので1ずれる)

あとは、これを条件に式を作ればいいだけなので、

※オーダー処理については「EA開発講座」を参照してください。

実際には特定の条件下で変な挙動をするインジケーターなどもあるので、もう少し慎重に調べ上げてから実装するのが賢明です。

また、このインジケーターは現在足ではリペイントを行うので、確定足でコーディングした方が良いパターンでした。

この他にも
”バッファを一切使わずにオブジェクトで矢印を表示するインジケーターや
”過去10本以上さかのぼってリンペイントするインジケーター”
などいろいろありますので、その都度試してみてください。

Message

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

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

関連記事

第17回:OrderSelectでポジションの情報を取得する

ポジションの情報を取得する 今回はすでに持っているポジション、オーダーした複数のポジションの情報を

記事を読む

MQLxPHP サーバを経由するコピートレードツールを作る2

まず、データをサーバに送信するEAを作ります。 飛ばすトレード情報のデータは、 ・チケットナ

記事を読む

【MQL4】シンプルに稼働するコピートレードツールを作る。その⑩

今回はリバーストレードができるように改良します。 端的に言うと、コピー元と逆向きのポジションをコピ

記事を読む

MT4から取引所のビットコインレートを取得して比較する

今までMQLしか触ったことがない人にとって、jSONだのHASHだのが出てくるAPIの処理は荷が重か

記事を読む

MQLxPHP サーバを経由するコピートレードツールを作る6

前回までの内容でサーバを経由するコピートレードツールは (ある程度MQLとPHPがわかっていれば)

記事を読む

 
  • ブログ管理人の横瀬兼元(ペンネーム)です。

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽者がいるらしいのでご注意ください。
【MAクロス】仮想通貨でシステムトレード検証(ソフト無料プレゼントあり)

MT4/MT5でも仮想通貨チャートが増えてきたので、そろそろ自動売買や

自動売買プログラム他 無料プレゼント 2019年2月

口座開設プレゼント企画 下記のリンクより口座開設していただいた方にお

バイナリーオプションで特定の手法が勝てるかどうか検証する方法

バイナリーオプションの場合、 リアルタイムの自動売買開発と過去検証の

【MQL4】シンプルに稼働するコピートレードツールを作る。その⑩

今回はリバーストレードができるように改良します。 端的に言うと、コピ

【一覧】シンプルに稼働するコピートレードツールを作る。

MT4以外のソフトを使わずに、DLLも使わずに、同一コンピュータ上で高

→もっと見る

PAGE TOP ↑