*

一目均衡表(関数版)

公開日: : 最終更新日: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】平均足と ADX とを使う順張り EA

Youtube に 平均足と ADX とを使う順張りの手法がありました。 まあ、誰でも思いつく

記事を読む

祝!日経平均 33000円突破

バフェットさんのおかげでガイジンさんが日本株をまだ買ってくれているようで、ここのところずっと日経平均

記事を読む

FX トレード様子見 2014/11/22-24

本日は日本はお休みですが、世界の為替相場は開いています。 1時間足のチャートを見てみましょ

記事を読む

アメリカ株投資 2024-7-2

アメリカ株投資ですが、しばらくはあまり買っていません。 でもよく見ると、含み益が 750万円近

記事を読む

究極の投資法

本はなるべく中古で 本日もブックオフ(堅田店)に行きました。 今日は本のみ半額のセールでした

記事を読む

2024年8月7日 日本株反騰中?(2)

「2024年8月7日 日本株反騰中?」の続きです。 本日の市場が閉まりました。本日の日経平均は

記事を読む

[FX] FX マイニング開始

ビットコインのマイニングはビットコインの計算を請け負う代わりに代価としてビットコインをもらえることで

記事を読む

Chande’s Momentum Oscillator シャンデ・モメンタム・オシレーター

シャンデモメンタムオシレーター(CMO と略される)という指標が本に載っていました。 アメリカ

記事を読む

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

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

記事を読む

【FX】Fintokei チャレンジお休み中

私は今まで 500以上の自動売買ソフト(MT4 で動くものは EA と呼びます)を評価してきましたが

記事を読む

Message

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

【FX】取引手数料の謎

私はどの FX 業者でも NDDタイプの口座を使用しています。 スプ

【FX】MyFXMarkets のデモ口座は簡単に開ける

MyFXMarkets とてもスプレッドが狭いと誰かに言われている

【FX】リアル口座とデモ口座の同時進行(2)

前回の記事「【FX】リアル口座とデモ口座の同時進行」でこう書きました。

【FX】リアル口座とデモ口座の同時進行

FX で自動売買プログラムを使う場合、いきなりリアル口座にて他人の勧め

【FX】AXI Select 25日め

各FX業者から毎日メールで各口座の報告書が来ます。 あ、月報も月に

→もっと見る

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