Pine講座58 バックテストにトレンドフィルターを追加する

Mis à jour
トレンドフィルターといっても、
エントリーの条件を増やすだけです。

今回は、タートルズのトレンドフィルターを参考に
エントリーの条件を追加してみました。

メインのロジックとの相性もありますが、
成績が大幅に向上することもあります。

・余分なトレードが減って損失が減る
・エッジの強化

上記のいずれかを満たすと
成績の向上につながると思います。

※ 解説はコードの中で

※ コピペする場合は以下の変更を行ってください
[](全角の角括弧)→(半角の角括弧)
(全角スペース)→(半角スペース)

=====
//version=2
strategy("HullMA Strategy の解説", overlay=true)

n=input(title="period",type=integer,defval=20)

// トレンドフィルターの計算値
_n=input(title="period",type=integer,defval=50)
__n=input(title="period",type=integer,defval=350)

n2ma=2*wma(close,round(n/2))
nma=wma(close,n)
diff=n2ma-nma
sqn=round(sqrt(n))
n2ma1=2*wma(close[1],round(n/2))
nma1=wma(close[1],n)
diff1=n2ma1-nma1
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
c=n1>n2?green:red

// トレンドフィルター用のHullMA①
_n2ma=2*wma(close,round(_n/2))
_nma=wma(close,_n)
_diff=_n2ma-_nma
_sqn=round(sqrt(_n))
_n2ma1=2*wma(close[1],round(_n/2))
_nma1=wma(close[1],_n)
_diff1=_n2ma1-_nma1
_n1=wma(_diff,_sqn)
_n2=wma(_diff1,_sqn)
_c=_n1>_n2?green:red

// トレンドフィルター用のHullMA②
__n2ma=2*wma(close,round(__n/2))
__nma=wma(close,__n)
__diff=__n2ma-__nma
__sqn=round(sqrt(__n))
__n2ma1=2*wma(close[1],round(__n/2))
__nma1=wma(close[1],__n)
__diff1=__n2ma1-__nma1
__n1=wma(__diff,__sqn)
__n2=wma(__diff1,__sqn)
__c=__n1>__n2?green:red

ma=plot(n1,color=c)

// トレンドフィルターも描画
_ma=plot(_n1,color=_c)
__ma=plot(__n1,color=__c)


// and でトレンドフィルターの条件を追加
longCondition = n1>n2 and _n1>__n1
if (longCondition)
strategy.entry("Long", strategy.long)

shortCondition = n1<n2 and _n1<__n1
if (shortCondition)
strategy.entry("Short", strategy.short)
=====
Note
次の講座
Pine講座59 タートルズ流投資の魔術|ダブル移動平均
Beyond Technical Analysispinescript

小次郎講師公式インジケーターのお申込
bit.ly/2vdSV4Q

小次郎講師のLINE@
bit.ly/2VZQFu3

小次郎講師のチャート情報局
bit.ly/2GvLAEp
Aussi sur:

Publications connexes

Clause de non-responsabilité