*

第24回:iCustomでインジケータをEA化する

公開日: : FX自動売買開発 , , , ,

インジケータとiCustom

今回はインジケーターのシグナルを使って、EAを作ります。

iCustomという関数を使うと
インジケータをEAのロジックに組み込むことができるようになります。

ただし
すべてのインジケータがiCustomでデータを取得できるわけではありません。

チャート上にセットしたインジケータのラインや矢印にマウスをのせて、
Value1やValue2などという表示がでれば、まず、EAに組み込めます。

(表示が出なくても、チャート上の表記をEAにそのまま組み込むという荒業もあります。)

iCustomは

という記述で扱うことができます。

インジケータ名の後にはそのインジケータのパラメータを複数渡すことができます。

バッファというのは
そのインジケータが返す値の種類のことです。

この数値を変えると
そのインジケータの上矢印の値や下矢印の値などをそれぞれ取得できます。

シフトは欲しい値のロウソク足の場所です。
0なら現在のロウソク足、1なら一本前のロウソク足になります。

ZigZagインジケータ

今回はMT4に標準搭載されているZIGZAGというインジケータを扱います。

デフォルトでインジケータフォルダにセットされているので
ダウンロードしたりする必要はありません。

ZigZagは以下のようなジグザグ線を描くインジケータです。

icustom_zigzag_sample

ZigZagはそのロウソク足が頂点になったときに
バッファ0と1と2が値を返します。

今回は
3つ前のロウソク足が頂点になった際にエントリーするロジックを考えます。

ZigZagの下向き頂点で買いエントリー、上向き頂点で売りエントリー

これまでに作ったコードをベースにZigZagのEAを作ります。
3つ前のロウソク足でのZigZagは

として記述できます。

頂点でないときには上の値が0になり、
頂点になった場合にはそのときの高値or安値のレートが返ります。

そのため、
3本前のロウソク足が上向きの頂点になったときは、

とすれば良さそうですが、
上記では小数点以下での一致が曖昧となるので、
少数を3桁にまとめる関数を使います。

で数の小数点をそろえることができます。
その通貨ペアの最小桁数を表すDigitsを使います。

上記の条件式の少数点以下をそろえると、

となります。
逆の場合は、HighをLosに変えて

となります。

以上を元にEAのコードをまとめると、以下のようになります。

上記のコードのテスト結果は以下のようになります。

icustom_zigzag_tester

ZigZagはリペイント(再描写)を行うので、
EAでエントリーしたときの様子と後から見た様子がかなり変わります。

このような後出しインジケータは多く、
インジケータをEA化する際にはこのような点にも注意しなければなりません。

特に注意しなければならない特徴は、
・最新のロウソク足ではなく、数本前のロウソク足にシグナルを表示させるインジケータ
・一度描写したシグナルを消すインジケータ
・一度描写したシグナルを変更するインジケータ
・セットしたタイミングによって描写が変わるインジケータ
などがあります。

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

関連記事

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

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

記事を読む

ティック更新よりも早い頻度で演算させる

EAというやつうは基本的にティックレートを受信する度に一回、演算する仕組みになっています。 U

記事を読む

【MQL4】外部ソフトなしで稼働するコピートレードツールを作る。その⑥

前回は「”過去に”コピー元のトレードを持っていたか調べる関数」と「"現在"コピー元のトレードを持って

記事を読む

no image

久しぶりにMQL4を触って違和感を覚えたこと(覚書)

ほとんどの人には関係ない記事だと思います。 開発者の方が検索してたまたま見てもらうような覚書で

記事を読む

MT4が使えない業者にMT4の自動売買を流すには(UWSC)

MT4が使えない業者でも魅力的な業者はたくさんあります。 特にスプレッドの面で、MT4業者は不

記事を読む

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

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽物がいるらしいので偽物にご注意ください。
no image
ストップレベル=0はストップレベルがないことではない

MT4/MT5では予約注文を行う際にストップレベルというものがあります

no image
私の偽者、偽ブログにご注意ください

読者の方からご連絡いただいたのですが、私のブログの内容をそのままコピー

no image
サービス展開向けの仮想通貨自動売買システムを作るには

前置き ビットコイン、仮想通貨の自動売買を作る目的として、通常は個人

一回の演算で複数のリクエストを送る 仮想通貨の自動売買⑪

公開:2017/9/4 基本的にjson形式でAPIをたたく場合

コインチェックAPIで信用取引 仮想通貨の自動売買⑩

公開:2017/9/4 これまではAPIで現物取引を扱ってきまし

→もっと見る

PAGE TOP ↑