Signal Remove Span

書式:SignalRemoveSpan (DATA ARRAY, PERIODS)

この関数は最初の”True“が返されてからPERIODSの間に重複する”True”値を取り除きます。最初に+1を返したバーに続く+1のバーPERIODS中の期間は無視されます(ゼロが返されます)。PERIODSの期間が経過した後は新しい”True”の値が返されるようになります。データ配列が初めて”True”になった場合に+1を返し、その後初めのシグナルよりPERIODSの間は0が返されます。

例:下記の画面コピーでは価格枠の下に4つの追加枠があります。価格枠には2つの移動平均線が表示されています。各追加枠は特定の条件を計算した出力変数が各自表示されています。各変数の値は条件ステートメントに基づいているため、出力変数は+1(true)もしくは0(false)のみとなります。

式は下記となります。

{10期間単純移動平均が30期間単純移動平均より高いバーで+1を返します、その他の場合では0(ゼロ)を返します}
{Additional Frame−青線}
Buy:= mov(Close,10,S) > mov(Close,30,S);

{10期間単純移動平均が30期間単純移動平均より低いバーで+1を返します、その他の場合では0(ゼロ)を返します}
(Additional Frame 3−赤線}
Sell:= mov(Close,10,S) < mov(Close,30,S);

{ BuyがTrueになった最初のバーに+1を返し、その後PERIODが経過するまで0(ゼロ)を返します。またBuyがTrueになったバーより+1を返します。}
{Additional Frame 2−濃い青線}
RemoveBuySignals:= SignalRemoveSpan(Buy,10);

{ SellがTrueになった最初のバーに+1を返し、その後PERIODが経過するまで0(ゼロ)を返します。またSellがTrueになったバーより+1を返します}
{Additional Frame 4−濃い赤線}
RemoveSellSignals:= SignalRemoveSpan(Sell,10);

ロジックの結果は下記の通りです。

Signal Remove Span

公式:_SignalRemoveSpan:=SignalRemoveSpan(LongSetup=1,10);

SignalRemoveSpan

DL:trsys_BBandsBreakout_1_1_1_1_1_1
※わかりやすくするため「trsys_BBandsBreakout」を使ってプログラミングしました。

VTトレーダー関数一覧に戻る