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

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

スポンサーサイト

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

高値安値インジケータ

やっと完成した時間足チャートに日足4本値ラインを引くインジケータのCTLを連載します。
手始めに0時日付け切り替えの高値安値インジケータのCTLから始めます。

プログラムの要点は以下となります。
1 日付の切り替えは、バーに付帯しているdayのデータをそのまま使います。
2 iバーの日付はday(timestamp[i])で呼び出します。
(GFTの取説に掲載されていません。chart studioのサンプルインジケータのCTLから見つけました)
3 高値安値の設定にはmovmaxとmovminを使います。
4 このために1日のバーの本数を求めます。
5 それぞれのバーに高値安値データを記憶させるループ形成にはwhileを使います。
(この関数の使い方が良く分からずあとでトラブルの原因になりました。)
6 隣合わせのバーの日付の違いをトリガーにして、whileループに入ります。
7 ただし、最後のバーがある日はまだ終わっていないので、最後のバーそのものをトリガーにします。

役に立ちそうとか、よくやったと思う方は、投げ銭クリックをお願いします。
モチベーションが上がります

為替投げ銭クリック
次回につづく
もっとシステムトレードを知るには
indicator ind_day_high_low_a ;
input barminute=15;
draw day_high("high"), day_low("low");
vars lst(number), fst(number), j(number),
last_high(number), last_low(number), iday(number),
daystamp(number), i(number), count(number);
begin

lst := back(high);
fst := front(high);
if lst < fst then return;
daystamp := day(timestamp[fst]);

/* 過日の高値安値ライン */
for i:= 1+fst to lst do begin
iday := day(timestamp[i]);

if iday <>daystamp then begin {隣合わせのバ-の日付けが違うのがトリガ-}
j:= i-1;
count := 1440/barminute;     {1日分のバ-の数 }
last_high := movmax(high, j, count); { 最後のバ-におけるその日の高値を記憶 }
last_low := movmin(low, j, count); { 同上の安値 }

    {隣合わせのバ-の日付けが同じなら実行する}
    {最後のバ-から過去に向かって繰り返す}
while day(timestamp[j]) = daystamp do begin
day_high[j] := last_high; {そのバ-の位置に高値を記憶させる}
day_low[j] := last_low;   {そのバ-の位置に安値を記憶させる}
j := j-1;
if j end;
end ;
daystamp := iday;
end;

/* 当日の高値安値ライン */
j := lst;
count := 1; {当日のバ-の数を数える}
while day(timestamp[j]) = daystamp do begin
count := count+1;
j := j-1;
end;

j := lst;{当日最後のバ-にその日の高値安値を記憶させる}
last_high := movmax(high, j, count);
last_low := movmin(low, j, count);
day_high[j] := last_high;
day_high[j] := last_low;

if j >= fst then {当日高値安値を当日のそれぞれのバ-に記憶させる}
while day(timestamp[j]) = daystamp do begin
day_high[j] := last_high;
day_low[j] := last_low;
j := j - 1;
if j < fst then break;
end;
end.

スポンサーサイト

コメント

いつもお世話になります

30行目の if j のあたりに
エラーが出ます。解決方法をご指導いただきたいのですが・・

  • 2009/02/12(木) 13:35:09 |
  • URL |
  • cho #qsvP4ThM
  • [ 編集]

Re: いつもお世話になります

choさん
たぶん以下だと思います。
if j < fst then break;
このインジケータはうまく動かなかったと思います。
私のchart studioから削除されています。
その後の記事を読むと何か書いてあるかと思います。

> 30行目の if j のあたりに
> エラーが出ます。解決方法をご指導いただきたいのですが・・

  • 2009/02/13(金) 23:29:59 |
  • URL |
  • bingodog #-
  • [ 編集]

Re: Re: いつもお世話になります

> choさん
> たぶん以下だと思います。
> if j < fst then break;
> このインジケータはうまく動かなかったと思います。
> 私のchart studioから削除されています。
> その後の記事を読むと何か書いてあるかと思います。

ind_day_4price というインジケータを参照してください。
修正しています。
なお、最近このインジケータを改良しました。
近日中に掲載します。
>
> > 30行目の if j のあたりに
> > エラーが出ます。解決方法をご指導いただきたいのですが・・

  • 2009/02/13(金) 23:40:56 |
  • URL |
  • bingodog #-
  • [ 編集]

ありがとうございます

勉強させていただきます

  • 2009/02/15(日) 09:30:53 |
  • URL |
  • cho #qsvP4ThM
  • [ 編集]

コメントの投稿


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

トラックバック

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

FC2Ad

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