FX取引ルール確立のために

取引方針が定まらぬ臆病者の外国為替証拠金取引の行方。 取引ルールの柱にテクニカルな売買サインを導入中。システム開発状況を全て公開。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

サイクルインジケータの平均値表示 2

サイクルインジケータの平均値表示の2回目です。
安値ー高値間のバー本数の単純平均値を表示するソースコードを掲載します。

コメントを入れました。
他のマルチタイムフレーム関連のプログラムにも応用できると思います。

手こずったのは以下の部分です。
if k >= av_period then 
これが無いと正常に動作しません。
av_periodが5だと、4番目のトリガーまでは平均値が存在しないことに起因していると思われます。

いろいろなチャートで反転(reversal)の数値を変えて、
高値安値の時間的な規則性がないか検証してみます。

見つかったら教えてくれるとうれしいです。

////////////////////////
indicator ind_HLcycle_av;
input price = close, reversal = 1, av_period=5;
draw h_bar("Hcycle"), l_bar("Lcycle"), hl_bar("HLcycle"), line_av("hlav") ;
vars zline(series), hcount(number), lcount(number),hlcount(number),
i(number), j(number),k(number),
ave(series),hl_bar_int(series),average(series) ;
begin

ZigZag(price, reversal, 0);
zline := ZigZag.line ;
hcount := 1 ;
lcount := 1 ;
hlcount := 1 ;
k := 0 ;

for i := front(price)+2 to back(price) do begin
hcount := hcount + 1 ;
lcount := lcount + 1 ;
hlcount := hlcount + 1 ;

for j := i-hcount+1 to i do begin
h_bar[j] := hcount ;
end;

for j := i-lcount+1 to i do begin
l_bar[j] := lcount ;
end;

for j := i-hlcount+1 to i do begin
hl_bar[j] := hlcount ;
end;

if (zline[i-2] < zline[i-1] and zline[i-1] > zline[i]) then hcount := 1 ;
if (zline[i-2] > zline[i-1] and zline[i-1] < zline[i]) then lcount := 1 ;
if (zline[i-2] < zline[i-1] and zline[i-1] > zline[i])
or (zline[i-2] > zline[i-1] and zline[i-1] < zline[i]) then begin
hlcount := 1 ;

k :=k+1 ;{ トリガ-が発生したらその時のインデックスkとhl_barの値をhl_bar_intとして記憶させる }
hl_bar_int[k] := hl_bar[i] ;
{ iはチャ-ト全体にある1本1本のバ-のインデックス、kはトリガ-が発生した時に順番に付けたインデックス }
end;
end;

average := sma(hl_bar_int,av_period);
k :=1 ; { hl_bar_intの平均値を求めkを初期値にする }

//トリガ-が発生するごとに平均値を割り当てる
for i:= front(price)+2 to back(price) do begin
if (zline[i-2] < zline[i-1] and zline[i-1] > zline[i])
or (zline[i-2] > zline[i-1] and zline[i-1] < zline[i]) then begin

k := k+1 ;
if k >= av_period then  { これが無いと正常に動作しない }
line_av[i] := average[k] ;
end else begin 
if k >= av_period then
line_av[i] := line_av[i-1];{ 次のトリガ-が発生するまではその平均値を継続させる }
end;
end ;
end.
///////////////////////
参考になったらクリックよろしく 人気blogランキング

検証にはGFTのdealbook360を使っています
GFT
GFTの紹介ブログ記事

システム売買ルール

モジュール集の目次

自前の検証をお勧めします
口座開設はこちらから
FX
スポンサーサイト

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://fxrun.blog55.fc2.com/tb.php/1338-2ee3d3bf
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。