*

一目均衡表(関数版)

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

###

関連記事

2024-8-16 日経平均フォロースルーデイか

昨日、「まだフォロースルーデーが出ていませんが、この分だと明日くらいに拝めるかもしれません。

記事を読む

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

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

記事を読む

[FX] 2015/4/13 EA 緊急停止 トレンドが消失

昨日は週明けの月曜日ということもあり、通常よりも夜間の仕事が多めで、夜12時ごろまで仕事をしてい

記事を読む

【FX】Monopolist という EA(2)

MQL5.com で売られている Monopolist という EA ですが、バックテストでは非常に

記事を読む

2023/2/22 外国債券が調子良い

楽天証券で買える外債は数が少なく、そのうちドルベースなものは社債が2つ、国債が4つしかありません。

記事を読む

【FX】TitanFX はデモ口座開設が簡単

TitanFX のブレード口座は最良というわけではありませんが、そこそこスプレッド&手数料が安く、ス

記事を読む

【FX】Axiory から AXIへ

海外FX業者である Axiory は以前から使っていますが、最近 AXI という名前の似た業者に口座

記事を読む

【楽天でコインを買う】記念硬貨・旧硬貨 49枚セット 8605円分

ヤフオクでなく、楽天市場の堀田商事さんから購入。 額面でなく、時価で 8605円分とい

記事を読む

関東と関西

* 関西人はいかに安く買ったかを自慢し、関東人はいかに高く買ったかを自慢すると言われていますが

記事を読む

【FX】 2024年4月第1週総括

4月第1週の総括 今週の FXトレード時間が終わりましたので、4月第1週を総括したいと思います。

記事を読む

Message

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

投資におpける AI の利用 分析

投資商品が増えてくると管理がめんどくさいですよね。 楽天証券から

AI を使える幸せ

今日で 67歳になってしまった。それはさておき・・・ 最近 AI

世界のベスト

「世界のベスト」といういかにもバクダンっぽい愛称の投資信託があります。

Google AI Pro に課金

本日から Google の Gemini に課金することにしました。

金持ち父さんの金持ちになるガイドブック 悪い借金を良い借金に変えよう

★★★☆☆ 高槻遠隔画像診断センターの引っ越しの準備をしてい

→もっと見る

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