インジケーターのひな形
まず無料のインジケーターをダウンロードできるサイトで、簡単そうなのをダウンロードしてください。
例えば、このサイトからダウンロード。
すごくたくさんあります。
インジケーターの中身のMQLの基本的なことが分かるようになれば、
無料のインジケーターを 自分でちょこちょことカスタマイズしたり、インジケーターを自作するうえで、たいへん参考になります。
無料のインジケーターを 自分でちょこちょことカスタマイズしたり、インジケーターを自作するうえで、たいへん参考になります。
インジケーターの中身を見る
拡張子は、「mq4」のファイルをダウンロードしてください。
拡張子「mq4」のファイルは、メモ張などのテキストエディターで開いて表示することできます。
テキストエディターで、インジケーターのプログラムソースを見てみてください。
いろいろなことが記載されてますが、基本構成は、下記のような雛形です。
※メタトレーダー4(MT4)の build600からMQLが新しくなり、いろいろ変更ありました。
基本構成でも使用しているinit(), start(), deinit()にも変更あり、新しく下記の関数が使えるようになりました。(今までのも使えます)。
新旧の対応を覚えておけばOKです。対応
init() → OnInit()
start() → OnCalculate()
deinit() → OnDeInit()
基本構成でも使用しているinit(), start(), deinit()にも変更あり、新しく下記の関数が使えるようになりました。(今までのも使えます)。
新旧の対応を覚えておけばOKです。対応
init() → OnInit()
start() → OnCalculate()
deinit() → OnDeInit()
インジケーターのひな形
インジケーターのひな形です。
処理が記載されていな基本的なひな形で、このひな形の中に具体的な処理を記載していきます。
メタトレーダー4(MT4) build600前後で、変更があったので2通りあります。
関数の名前が違うだけで、ほとんど同じものです。
1.MT4 build600以前のひな形
2.MT4 build600以降のひな形
処理が記載されていな基本的なひな形で、このひな形の中に具体的な処理を記載していきます。
メタトレーダー4(MT4) build600前後で、変更があったので2通りあります。
関数の名前が違うだけで、ほとんど同じものです。
1.MT4 build600以前のひな形
2.MT4 build600以降のひな形
1.MT4 build600以前のひな形
以前のものもMT4 build600以降で使用できます。
//+------------------------------------------------------------------+
//| hinagata.mq4 |
//+------------------------------------------------------------------+
#property copyright ""
#property link ""
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
ここから、雛形ファイルの圧縮ファイル(hinagata1.zip)をダウンロードできます。
2.MT4 build600以降のひな形
MT4 build600以降の新しいインジケーター用。このひな形に、追記していきます。
//+------------------------------------------------------------------+
//| hinagata.mq4 |
//+------------------------------------------------------------------+
#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つが基本関数です。
int deinit()
int start()
この3つが基本関数です。
MT4 build600以降では、
OnInit()
OnCalculate()
OnDeInit()
の3つが基本関数です。
OnInit()
OnCalculate()
OnDeInit()
の3つが基本関数です。
この基本関数のうち
int init() ( OnInit() )
int start() ( OnCalculate() )
は、必ず必要です。
int init() ( OnInit() )
int start() ( OnCalculate() )
は、必ず必要です。
コメント