*

一目均衡表(関数版)

公開日: : 最終更新日: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] 一目均衡表+STC フィルタ 完成版

以前ここで発表した一目均衡表のシステムに初期ロスカットをつけたものです。 Schaff Tre

記事を読む

【FX】ボリンジャーバンドを逆張りで(2)

昨日の記事「【FX】ボリンジャーバンドを逆張りで」の続きです。 本日、バグをつぶして、少し改良

記事を読む

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

GDP はあてにならない GDP は国富を測るいい指標になるとは限りません。 私の考えた次の

記事を読む

【FX】 Fintokei はアヤシイ?

日本で事業を行っているプロップファームである Fintokei について、「詐欺ではないか」というス

記事を読む

2015年2月アメリカ雇用統計

昨日のドル円相場です。 すごいでしょ。昇り龍みたいですね。 第一金曜日の夜は毎月恒例のア

記事を読む

【FX】プロップファーム(Prop Firm)について

プロップファーム(Prop Firm)という言葉があります。Proprietary Trading

記事を読む

【FX】NY Close Scalper V2.6 という EA

ニューヨーク終了時間 とは夏でニューヨーク時間 16:00 ~ 18:00 のことで、日本時間では

記事を読む

[FX] 2020/3/10 ドル円 105円台に戻りましたね

NYダウの急降下とともに一気に下がっていたドル円(円高)ですが・・・ 昨夜、寝る前に上

記事を読む

【FX】Gold Trend Scalping EA

ゴールドのトレンドフォロワー型の EA は前から作ってみたかったのですが、もう少し値動きのクセを把握

記事を読む

[FX] Waddah_Attar_Explosion の仕組み

前回の記事「 Waddah_Attar_Explosion」の続きです。 EURGBP

記事を読む

Message

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

CEPI について

CEPI とは REX社が運用しているアメリカ市場上場の ET

胡麻と清湯スープが織り成す担々麺

ファミリーマートの冷凍食品の担々麺が変わってました。 キンレ

32インチIPS液晶モニタ 32GS75Q-B 動きました

開封して BMAX のミニPC(Intel N95内蔵)に繋い

BMAX ミニPC Intel N95 購入

ミニPC また買いました。アマゾンで ¥19,997でした。

【万年筆】Natami 万年筆 インセプション 細字 エメラルドグリーン

NATAMi というブランドの万年筆インセプションの1本。

→もっと見る

  • 2025年11月
     12
    3456789
    10111213141516
    17181920212223
    24252627282930
  • アクセスカウンター
PAGE TOP ↑