*

一目均衡表(関数版)

公開日: : 最終更新日: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);
}
//+------------------------------------------------------------------+

###

関連記事

【FX】2023年11月第2週中間決算

「2023年11月第1週中間決算」の続きです。 1週間前は 184347円だったので 23

記事を読む

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

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

記事を読む

FX最強チャート GMMAの真実 / 陳 満咲杜

FX最強チャート GMMAの真実陳 満咲杜 扶桑社 2012-06-29売り上げ

記事を読む

【FX】Closed Profit と Open Loss

今週の FX 自動売買は 9月の最終週でもう少し荒れるかなと思っていましたが、結構堅調でした。

記事を読む

GDP は国富増加の指標にならない(2)

「GDP は国富増加の指標にならない」の続きです。 じつは GDP はいくらでも増やせるのです

記事を読む

【FX】朝スキャ(2)

前回の記事「【FX】朝スキャ」の続きです。 早朝スキャルピング(朝スキャ)は、日本の朝6時ごろ

記事を読む

私の投資信託の買い方(2)

本日も米国株、投資信託ともに爆上げのようで、純益 166万円を記録。 本来は投資信託の

記事を読む

【FX】ほぼストキャス単独での EA(2)

以前の記事「【FX】ほぼストキャス単独での EA」の続きです。 ストキャスティクスのパラメータ

記事を読む

【FX】新戦略のためのデモトレード

現在の FX 自動売買は Evening Scalper Pro を中心に行っていますが、逆張りナン

記事を読む

税の世界の裏のウラ―現役税理士が本音で明かす / 日経ベンチャー

税の世界の裏のウラ―現役税理士が本音で明かす (学研M文庫) 日経ベンチャー

記事を読む

Message

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

来週上場の 563A(グローバルX NASDAQ100・デイリー・カバード・コール ETF)

563A(グローバルX NASDAQ100・デイリー・カバード・コール

「日本高配当」ETF売却

昨日、2つの ETF を売却。 GX高配当30日株 (235

神田カレーグランプリ 100時間カレーB&R 欧風ビーフカレー

S&B のレトルトカレー。 今日はこれを食べてみまし

中国のハリウッドが大変なことに

https://www.youtube.com/watch?v=GRu

マイクロ波を使って廃プラスチックからナフサを作る

廃プラスチックからマイクロ波を使ってナフサを作るという話があります。

→もっと見る

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