2010年03月04日(木)
条件後、N本後で実行したい! 〜BarIndexを利用〜
■条件後、N本後で実行したい! 〜BarIndexを利用〜
前回、BarIndexに関する仕組みをご紹介しました。
実際に、どのような使われ方があるのか、例を用いてプログラムを作成してみましょう。
■戦略:Delay新規売買プログラム(YesLanguageモード)
Input: Wait_number(3); // 条件が一致した後、何本後に売買を行うかを決定
Var: Entry_number(0); // 条件が一致した時のBar番号を記録
if RSI(14) < 20 then // 売買条件を行う為の条件を記載
begin
Condition1 = true; // 売買フラグを "true" にする
Entry_number = BarIndex; // 条件が一致した時のBar番号を記録
end;
if Condition1 == true and BarIndex > Entry_number + Wait_number then // ※1
begin
Buy("Buy");
Condition1 = false; // 売買フラグを "false" にする
Entry_number = 0; // Entry_number を "0" にする
end;
// ※1 条件一致後、Wait_numberで決めた本数経過する・・・という内容を記載
このように、RSI(14) の値が20を下回った後、Wait_numberで指定している 3本分Barが経過してから、買いシグナルが実行されている事が分かるかと思います。
エントリーした後、N本後に決済したいなどはBarsSinceEntryを利用するのがシンプルだと思いますが、BarIndexでも代用できます。
必ずしも売買シグナルが発生しなくてもBarの条件を記憶できる意味では、BarIndexも使い勝手が良い関数だと思います。
※BarIndex関数に関して、「こんな使い方もある!」という方がいましたら、ご連絡くださいね。
salsa_de_salsa@hotmail.com まで。。。ブログの感想もお待ちしております〜
Tweet
Posted at 01時00分






