一目均衡表(関数版)
公開日:
:
最終更新日: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】Yetti という EA
またまた FX の話です。 Yetti(イエティ)という自動売買プログラムがあります。
-
-
[FX]前週の平均値と順張り&逆張り EA化(5)
以前の記事「前週の平均値と順張り&逆張り EA化(4)」でも書きましたが、各通貨の逆張りバージョ
-
-
超シンプルな自動売買プログラム(9) RSI クロス
超シンプルな自動売買プログラム として RSI とそのシグナル(直前3本の平均値)とのクロスを考
-
-
株って儲かりますか?
この前知人と話していて、投資の話になりました。 その人が株でだいぶ損をしていると言うので、
-
-
【FX】Voorloper という EA
Voorloper(フォーローパー?)はオランダ語です。 英語の forerunner にあた
-
-
【FX】Benefit 4.1 という EA
Benefit 4.1 という EA を 6/17 よりデモ口座でフォワードテスト中です。
-
-
BBW フィルタの使い方 / 決済編
BBW フィルタの2つめの使い方として、急騰あるいは急落後に ちゃぶついたときの決済というのを挙
-
-
[FX]前週の平均値と順張り&逆張り EA化(7) サマータイム
以前の記事「前週の平均値と順張り&逆張り EA化(4) GBPJPY版のみ始動 」で、ぼちぼちリ
-
-
超シンプルな自動売買プログラム(11) 前週の平均値と逆張り(3) 改良型
以前の記事「超シンプルな自動売買プログラム(11) 前週の平均値と逆張り」で作ったプログラムを「
-
-
「5億円、年に1000万円使っても50年」・・・それ間違ってますよ(2)
以前の記事「「5億円、年に1000万円使っても50年」・・・それ間違ってますよ」の続きです。
- PREV
- ふるさと納税初めてやってみた
- NEXT
- リアルタイムクラウドフィルタ