一目均衡表(関数版)
公開日:
:
最終更新日: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] MACDマルチタイムフレーム 15分足用(3) 改良その2
前回の記事「 MACDマルチタイムフレーム 15分足用(2) 改良 」の続きです。 お得意のタ
-
-
リベラルアーツ大学という Youtubeチャンネル
昨日、Youtube でちらっと見て、それからひたすら見続けています。> リベラルア
-
-
【FX】easyMarkets 口座開設&トレード開始
easyMarkets という海外FX業者の口座の開設がようやく許可され、本日から Ubuntu デ
-
-
Myソモサン・セッパ(5)の答え
【問い】 ピカソが富豪と画商の両方を複数呼んでセリを行わせたのはなぜか? 儲けるために違いあ
-
-
[FX] 一目均衡表+STC フィルタ 完成版
以前ここで発表した一目均衡表のシステムに初期ロスカットをつけたものです。 Schaff Tre
-
-
[FX] ボリンジャーバンド順張り逆マーチンゲール版
昨日の記事「 ボリンジャーバンド順張りシンプル版」のプログラムを改良してみました。 最大ドロー
-
-
オリックス生命キャンドル(外貨建貯蓄保険)
本日オリックス生命のキャンドルという外貨建保険に加入しました。 普通の生命保険にはいっぱい入っ
-
-
FXトレード 2014/1/6
うちのマックトリプルバーガーと名づけた EA(自動売買プログラム)は売りと買いとで成績が違いすぎ
-
-
【FX】久々に EA つくる「2本のRSI でのトレードシステム」
パラパラと雑誌「FX攻略.com」のバックナンバーをめくっていると、複数の人の手法が一覧でまとめてあ
-
-
[FX] 2015/5/7 また EA が沈黙
以前の記事「先週はGWの影響で忙しかった 」 でも書きましたが、 FX の EA を稼働させてい
- PREV
- ふるさと納税初めてやってみた
- NEXT
- リアルタイムクラウドフィルタ