インジケーターのひな形
まず無料のインジケーターをダウンロードできるサイトで、簡単そうなのをダウンロードしてください。
例えば、このサイトからダウンロード。
すごくたくさんあります。
インジケーターの中身の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() )
は、必ず必要です。
コメント