*

一目均衡表(関数版)

公開日: : 最終更新日:2015/02/20 マネー

MetaTrader4 に付属している一目均衡表のソースを見てみるとずいぶん複雑なので、関数を使って簡単に記述し直してみました。

書き換えたのはほとんど start 関数だけです(バッファ名も長いので変えましたけど)。

これをちょっと変えるとリアルタイム雲のフィルタが簡単に作れます。

プログラムソース

//+------------------------------------------------------------------+
//|              一目均衡表(関数版)          yasciiIchimoku01.mq4 |
//+------------------------------------------------------------------+

#property strict

#property indicator_chart_window
#property indicator_buffers 7
#property indicator_color1 Red          // Tenkan-sen
#property indicator_color2 Blue         // Kijun-sen
#property indicator_color3 SandyBrown   // Up Kumo
#property indicator_color4 Thistle      // Down Kumo
#property indicator_color5 Yellow         // Chikou Span
#property indicator_color6 SandyBrown   // Up Kumo bounding line
#property indicator_color7 Thistle      // Down Kumo bounding line
//--- input parameters
input int InpTenkan=9;   // Tenkan-sen
input int InpKijun=26;   // Kijun-sen
input int InpSenkou=52;  // Senkou Span B
//--- buffers
double tenkan[];
double kijun[];
double senkouA[];
double senkouB[];
double chikou[];
double senkouAL[];
double senkouBL[];
//---
int    ExtBegin;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit(void)
  {
   IndicatorDigits(Digits);
//---
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,tenkan);
   SetIndexDrawBegin(0,InpTenkan-1);
   SetIndexLabel(0,"Tenkan Sen");
//---
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1,kijun);
   SetIndexDrawBegin(1,InpKijun-1);
   SetIndexLabel(1,"Kijun Sen");
//---
   ExtBegin = InpKijun;
   if(ExtBegin < InpTenkan) ExtBegin = InpTenkan;
//---
   SetIndexStyle(2,DRAW_HISTOGRAM,STYLE_DOT);
   SetIndexBuffer(2,senkouA);
   SetIndexDrawBegin(2,InpKijun+ExtBegin-1);
   SetIndexShift(2,InpKijun-1);
   SetIndexLabel(2,NULL);
   SetIndexStyle(5,DRAW_LINE,STYLE_DOT);
   SetIndexBuffer(5,senkouAL);
   SetIndexDrawBegin(5,InpKijun+ExtBegin-1);
   SetIndexShift(5,InpKijun-1);
   SetIndexLabel(5,"Senkou Span A");
//---
   SetIndexStyle(3,DRAW_HISTOGRAM,STYLE_DOT);
   SetIndexBuffer(3,senkouB);
   SetIndexDrawBegin(3,InpKijun+InpSenkou-1);
   SetIndexShift(3,InpKijun-1);
   SetIndexLabel(3,NULL);
   SetIndexStyle(6,DRAW_LINE,STYLE_DOT);
   SetIndexBuffer(6,senkouBL);
   SetIndexDrawBegin(6,InpKijun+InpSenkou-1);
   SetIndexShift(6,InpKijun-1);
   SetIndexLabel(6,"Senkou Span B");
//---
   SetIndexStyle(4,DRAW_LINE);
   SetIndexBuffer(4,chikou);
   SetIndexShift(4,1-InpKijun);
   SetIndexLabel(4,"Chikou Span");
//--- initialization done
  }
//+------------------------------------------------------------------+
//| Ichimoku Kinko Hyo                                               |
//+------------------------------------------------------------------+
int start()
{
   int limit = Bars - IndicatorCounted();
   if(limit == Bars) limit -= InpKijun+InpSenkou-1;
   for (int i =limit -1; i>=0; i--)
   {
        tenkan[i] = (High[iHighest(NULL, 0, MODE_HIGH, InpTenkan, i)] + Low[iLowest(NULL, 0, MODE_LOW, InpTenkan, i)]) / 2.0 ;
        kijun[i] = (High[iHighest(NULL, 0, MODE_HIGH, InpKijun, i)] + Low[iLowest(NULL, 0, MODE_LOW, InpKijun, i)]) / 2.0 ;
        senkouA[i] = (High[iHighest(NULL, 0, MODE_HIGH, InpKijun, i)] + Low[iLowest(NULL, 0, MODE_LOW, InpKijun, i)] + High[iHighest(NULL, 0, MODE_HIGH, InpTenkan, i)] + Low[iLowest(NULL, 0, MODE_LOW, InpTenkan, i)]) / 4.0 ;
        senkouB[i] = (High[iHighest(NULL, 0, MODE_HIGH, InpSenkou, i)] + Low[iLowest(NULL, 0, MODE_LOW, InpSenkou, i)])/2.0 ;
        senkouAL[i] = senkouA[i] ;
        senkouBL[i] = senkouB[i] ;
        chikou[i] = Close[i];
     }

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

###

関連記事

クーラーの室外機の上に濡れタオル

クーラーの室外機の上にバケツを置いて、濡れタオルを天板に敷き、その端をバケツに入れておきます

記事を読む

イオン株2/3売る

2022年7月20日に株主優待目当てにイオン株を 100株買いました。 イオンは今年 2025

記事を読む

[FX] Trend Scalp ライクな自動売買プログラム(4) ysTS01e.ex4

先週、作ったプログラム「Trend Scalp ライクな自動売買プログラム(3) ysTS01e.e

記事を読む

最大ドローダウンについて

おまえのつくる EA は「最大ドローダウンがどれも 10%超えていて使えない」とか思っておられる

記事を読む

[FX] 非対称クラウドフィルタの発表

新作のクラウドフィルタを製作したので発表します。 クラウドフィルタとは、一目均衡表の雲の中にあ

記事を読む

【FX】Dark Venus という自動売買ソフト(2)

前回の記事「【FX】Dark Venus という自動売買ソフト」の続きです。 昨日夜からデモ走

記事を読む

ニューヨーク州立大ケルトン教授が異端?

ウソの新聞朝日新聞DIGITAL の記事「異端の経済理論、日米で論争 「日本の債務、全く過大でない」

記事を読む

【FX】Yetti という EA(2)

「【FX】Yetti という EA」の続きです。 TitanFX デモ口座(ブレードタイプ)で

記事を読む

NISA損切り民

最近、個人的にはまっているのが、「NISA損切り民」。 2ちゃんねる(5ちゃんねる)などで「養分」

記事を読む

平均足+バンドウォーク EA(1)

昔からよく”聖杯”と言われている、バンドウォークに飛び乗るトレンドシステムの研究です。 ADX

記事を読む

Message

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

『新形三十六怪撰』セットの販売

『新形三十六怪撰(しんけいさんじゅうろっかいせん)』は、幕末か

『徳川時代貴婦人之図』セットの変更

昨日発売した『徳川時代貴婦人之図』セットですが、実際の作品が何枚あ

『徳川時代貴婦人之図』セットの発売

    昨日の記事「『千代田之

『千代田之大奥』セットの発売

昨日の記事「楊洲周延『千代田之大奥』」の続きです。 「千代田

楊洲周延『千代田之大奥』

楊洲周延『千代田之大奥』とは 『千代田之大奥(ちよだのおおおく)』は

→もっと見る

  • アクセスカウンター
PAGE TOP ↑