一目均衡表(関数版)
公開日:
:
最終更新日: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月8日 日本株は日柄調整に?
本日の株式市場が閉まり、日経平均は 34,831.15円(前日比-258.47円)となりました。
-
-
FXトレーダーの大冒険 / ロブ・ブッカー ブラッド・フリード
FXトレーダーの大冒険 (ウィザードブックシリーズ) ロブ・ブッカー ブラッド
-
-
【FX】 Exness 口座を大幅に変更
海外FX業者であるエクスネス(Exness)はいい業者だと思います。 スプレッドが狭い
-
-
【FX】どちらが良い自動売買プログラム?
自動売買プログラム(MT4 では EA と呼びます)の良悪の判定は難しいものです。 問題(実際の例
-
-
[FX] Synergy Trading Method
Synergy Trading Method は しろふくろうさんが以下の著書の中で「Easy Tr
-
-
[FX] FX マイニング第6週 暴走?
以前の記事「FX マイニング第5週」から、本業が忙しくてほったらかしにしていたところ、オソロシイこと
-
-
[FX]前週の平均値と順張り&逆張り EA化(4) GBPJPY版のみ始動
以前の記事「前週の平均値と順張り&逆張り EA化(3) 半自動のススメ」でデモ口座で稼働させてい
-
-
[FX] ハーフGMMA チックな順張りプログラム
本日あるブログの記事を読んでいて、4本(GMMA の半分バージョン)を使ったトレンドフォロワーのシス
-
-
FX トレード 2014/11/20
本日のトレードのご報告。 本日はデイトレの心づもりです。 ヒロセ通商の15分足のデータがおか
-
-
[FX] Schaff Trend Cycle について(2)
以前の記事「Schaff Trend Cycle について 」の続きです。 Schaff Tr
- PREV
- ふるさと納税初めてやってみた
- NEXT
- リアルタイムクラウドフィルタ