*

第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のファイル関数を使って、 パターン分析トレードシステムを作成します。 まずチャー

記事を読む

EAのデコンパイルの実際とその対策

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

記事を読む

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

以前、DLLなしで動くコピートレードツールを連載しましたが、 今回はサーバを経由するコピートレード

記事を読む

cTraderとjForexとMT4

FXのプラットフォームと言えば、MT4が一強ですが、 マイナー向けのプラットフォームもわずかながら

記事を読む

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

今回はトレードを受信する方のEAを作ります。 トレードデータを送信するEAと比較すると、 ト

記事を読む

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

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽物がいるらしいので偽物にご注意ください。
no image
[bitwallet]paypal, Netteler, Skrillの次のオンラインマネーウォレット

近頃FX業界ではbitwallet(旧:mybitwallet)という

no image
ストップレベル=0はストップレベルがないことではない

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

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

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

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

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

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

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

→もっと見る

PAGE TOP ↑