MT4で平均足の高値、安値、始値、終値を取得する関数

※本ページはプロモーションが含まれています

MT4では平均足はインジケーターを使ってしか表示できないので、MQL4でソースコードを書く際に、平均足のOpen(始値)、Close(終値)、High(高値)、Low(安値)が簡単に取得できません。そこで、簡単に取得できる関数を作ってみました。

目次

ソースコード

そのままコピペすれば、使えます。

//+------------------------------------------------------------------+
//| Heikin Ashi Get Open Close High Low
//|
//|  string my_type = "open" , "close" , "high" , "low"
//|  int my_shift = shift bar
//+------------------------------------------------------------------+
double Get_HeikinAshi(string my_type, int my_shift){
   double my_ret = 0;

   if (StringCompare(my_type,"open",false) == 0) {
      my_ret = iCustom(NULL,0,"Heiken Ashi",2,my_shift);

   }else if(StringCompare(my_type,"close",false) == 0) {
      my_ret = iCustom(NULL,0,"Heiken Ashi",3,my_shift);

   }else if(StringCompare(my_type,"high",false) == 0) {
      my_ret = iCustom(NULL,0,"Heiken Ashi",0,my_shift);

   }else if(StringCompare(my_type,"low",false) == 0) {
      my_ret = iCustom(NULL,0,"Heiken Ashi",1,my_shift);
   }
   return my_ret;
  }

使い方

第1引数は、open(始値)、close(終値)、high(高値)、low(安値)の文字列を。第2引数はシフトバーの数。1本前の足だったら1。2本前だったら2という感じです。

//現在の足の平均足高値取得
double heikin_high = Get_HeikinAshi("high", 0);

解説

いわゆるラッパー関数です。使ってる関数は1つのみ。

使用関数 iCustom

使ってる関数は、iCustomです。これで、外部のインジケーターから直接呼び出して値を取得させています。

iCustomの仕様は、以下のブログをご参考ください。iCustomは悪名高い関数で、扱いがとてもむずかしい関数です。

あわせて読みたい
iCustom | MT4でEA自作しちゃお~ 当サイトはMetaQuotes Software社のMT4(メタトレーダー4)で、EA(自動売買)やカスタムインジケータを作成したいけど・・・ まず何をやったらいいのか分からずスタート地点で...

平均足をコールする際の引数

iCustomは、平均足に限らず、各インジケーターやEAを呼び出す事ができる関数です。平均足の場合は、以下のような引数になります。

//使う場合
double heikin_high = iCustom(NULL,0,"Heiken Ashi",0,my_shift);
引数
引数名詳細
1symbol通貨ペア名。NULLで現在
2timeframe時間軸。0で現在選択
3nameインジケーター名
4mode0 : high
1 : low
2 : open
3 : close
5shift時間軸のシフト。

参考ブログ

以下の方の記事を参考にしました。

あわせて読みたい
EAで平均足を使う(サンプルソース) | ぷろぐらむFX FXで売買タイミングとして使う平均足の、簡単なMT4のEAサンプルです。 概要 以前ローソク足の情報だけでプラス収支にできるか試したのですがうまくいかず、何とか値動きだ...

矢野テックのトレード結果やプログラム使った予測について

パスワードされた記事は、LINEでお友達になってくれた方に公開しています。

また、今ならお友達には矢野テック自作のMT4用のインジケーターをプレゼント中です。

友だち追加

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

仮想通貨botや、MT4のEA開発、インジケーターなどを作ってます。このブログではFXの基礎的な知識から検証のまとめなどを書いていきたいと思ってます。

プログラムや手法のご質問は各記事のコメント欄からお願いします。

なお、トレードの結果などはLINEでお友達になった方に報告してます。ぜひなってください

コメント

コメントする

目次