簡単さくさく インジケーターのカスタマイズ・自作の習得!

インジケーターの雛形

スポンサードリンク

インジケーターのひな形

まず無料のインジケーターをダウンロードできるサイトで
簡単そうなのをダウンロードしてください。

例えば、このサイトからダウンロード。
すごくたくさんあります。
無料のインジケーターのプログラムを見て分かれば、
無料のインジケーターを 自分でちょこちょことカスタマイズしたり、
インジケーターを自作するうえで、たいへん参考になるので
無料のインジケーターはとてもありがたい資料です!

インジケーターの中身を見る

拡張子は、「mq4」のファイルをダウンロードしてください。
拡張子「mq4」のファイルは、メモ張などのテキストエディターで
中が見れます。

テキストエディターで、インジケーターのプログラムソースを見てみてください。
いろいろなことが記載されてますが、
基本構成は、下記のような雛形です。

※メタトレーダー4(MT4)の build600からMQLが新しくなり、いろいろ変更ありました。
基本構成でも使用しているinit(), start(), deinit()にも変更あり、新しく下記の関数が使えるようになりました。(今までのも使えます)。新旧の対応を覚えておけばOKです。
対応
init() → OnInit()
start() → OnCalculate()
deinit() → OnDeInit()

MT4 build600以前のもの

以前のものもMT4 build600以降で使用できる

//+------------------------------------------------------------------+
//|                                                     hinagata.mq4 |
//|                                                             mutou|
//+------------------------------------------------------------------+
#property copyright ""
#property link      ""

#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//----
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
//----

//----
   return(0);
  }
//+------------------------------------------------------------------+

ここから、雛形ファイルの圧縮ファイル(hinagata1.zip)をダウンロードできます。

MT4 build600以降のもの

MT4 build600以降の新しいインジケーター用。このひな形に、追記していきます。

 //+------------------------------------------------------------------+
//|                                                      hinagata.mq4 |
//|                                             Copyright 2015, mutou |
//+------------------------------------------------------------------+
#property copyright ""
#property version   "1.00"
#property strict
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+

ここから、雛形ファイルの圧縮ファイル(hinagata2.zip)をダウンロードできます。

「//」で始まる行は、コメント行

コメント行は、インジケーターのプログラム処理に関係しません。
例えば、メモしたいことを コメント行にします。

3つの基本関数

int init()
int deinit()
int start()

この3つが基本関数です。

MT4 build600以降では、
OnInit()
OnCalculate()
OnDeInit()
の3つが基本関数です。

このうち
int init() ( OnInit() )
int start() ( OnCalculate() )
は、必ず必要です。

スポンサードリンク

関連記事

コメント

  • トラックバックは利用できません。

  • コメント (0)

  1. この記事へのコメントはありません。

*

スポンサードリンク

About me

プログラマー。FXでMT4を使い始めました。
インジケーターをカスタマイズしたり、自作したくて
調べたり、勉強したことをブログ記事にしていきます。