*

一目均衡表(関数版)

公開日: : 最終更新日: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】ボリンジャーバンド順張り手法

逆張りで使う人が多いボリンジャーバンドですが、開発者のボリンジャーさんは順張りで使えとおっしゃってい

記事を読む

【FX】MT4 build1420 に全乗り換え

MT4 が build1420 になって、動かなくなった EA が多数出ました。 ちょっと調べ

記事を読む

米国では有名なジャックとジルの話

米国では高校でも教わるというジャックとジルのお話があります。 わかりやすく日本円にします。 ジャ

記事を読む

FX には興味を失った!

何年か前に借りていた VPS(仮想専用サーバー)がたびたび落ちてしまい、腹が立ってここ数年 FX(自

記事を読む

究極のテクニカル分析 / 黒岩 泰

究極のテクニカル分析 黒岩 泰 オーエス出版 2004-03-19 売り上

記事を読む

【FX】TradersTrust という FX業者

FX トレードではスプレッドという手数料は非常に重要です。 特に短時間で薄利多売買を狙うスキャルピ

記事を読む

【FX】RVI というインジケーターについて

Youtube で RVI というオシレーター系のインジケーターの解説がありました。 http

記事を読む

[FX] 現在稼働中の VQシステム yasciiVQ04e.ex4(2)

以前の記事「 現在稼働中の VQシステム yasciiVQ04e.ex4 」で紹介したシステムを

記事を読む

[FX] 裁量トレードと自動売買プログラムによるトレード

FX のトレードには、裁量トレードと自動売買プログラムによるトレードがあります。 裁量トレード

記事を読む

早起きは5pipsの得

iCustom(アイカスタム)で変幻自在のメタトレーダー (Modern Alc

記事を読む

Message

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

五木食品 らーめん 6袋セット 熊本もっこす

五木食品 らーめん 6袋セット

味のマルタイ 棒ラーメン 5種食べ比べ詰め合わせセット

最近、Youtube でよく見かける九州のマルタイという会社の棒ラーメ

男は孤独

本日、Youtube で女から男に性転換した外国人が「男がこんなに孤独

BMW 318i セダン M Sport 初乗り

一昨日わが家にやってきたこの車 BMW 318i セダン M Sp

ファミマ 果汁100%アップル 1000ml

あまりに暑いので、出勤途中のファミマで 100%アップルジュー

→もっと見る

  • 2025年7月
     123456
    78910111213
    14151617181920
    21222324252627
    28293031  
  • アクセスカウンター
PAGE TOP ↑