*

一目均衡表(関数版)

公開日: : 最終更新日: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] パラボリックSAR と一目均衡表の雲を使ったトレード法を自動売買にしてみた

「The Truth About Parabolic SAR | Forex Trading Str

記事を読む

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

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

記事を読む

【FX】エターナルエンジンという EA(2)

以前に紹介した MQL5 フォーラムで 599$で販売されている Eternal Engine とい

記事を読む

FX テストトレード 2014/11/13 日中

今日もテストトレードです。 ドル/円 10AM ごろ見ると三角保ち合い(ペナント様)のパ

記事を読む

2024-8-15 日経平均ちょい上げ

本日の日経平均は小幅上昇でした。お盆なので出来高は少なめでしたが。 今晩の「米7月小売

記事を読む

【FX】珍しい現象

デモ口座でフォワードテストをしている EA がいくつかありますが、そのうちの1つで珍しい現象に遭遇。

記事を読む

【FX】Hippo Trader という EA(10)

久々の Hippo についての話です。 ナンピンマーチン系は嫌いなのですが、こいつは飼いならし

記事を読む

郵便振替という過去の遺物

久しぶりにちょっと離れていた郵便局に行ってきました。 以前勤めていた大津市民病院の敷地に隣接し

記事を読む

【FX】路線変更

路線変更 最近いろいろありまして、FX の運用について路線変更を模索しております。 本日は、

記事を読む

FX トレード様子見 2014/11/21

昨日私が売ってからドル/円は下がりっぱなしで、本日は 再び上昇 一気に下降 行っ

記事を読む

Message

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

ワハーン回廊

中東の地図を眺めていると、面白い部分に目が行きました。 イランの東に

【FX】AXI Select なかなかエッジスコアが上がらない(あと一歩)

しばらく放置しているプロップファームの AXI Select のお話。

【FX】AI を使ったスプレッドの業者間比較

MT4 に表示されるスプレッド(下の「!」欄)を比較するのは結構ホネが

2865,2866,2868 の話

「2865,2866,2868 の話」とはなにか。 28

【FX】Half-trend-buy-sell-indicator を使用した EA のフォワードテスト

Half-trend-buy-sell-indicator と

→もっと見る

  • 2026年4月
     12345
    6789101112
    13141516171819
    20212223242526
    27282930  
  • アクセスカウンター
PAGE TOP ↑