
帯波トレンド抽出策は,帯波器に基づく株式トレンド追跡策である.この策は,インデックス・ウェイトの移動平均と帯波を用いた価格序列処理を行い,価格内のトレンド成分を抽出し,特定のパラメータをポジションの成立とポジションの停止の信号として使用する.
この戦略は,まず,2倍指数加重移動平均を構築し,パラメータのLengthとDeltaを調節して移動平均の時間長さと滑り方を制御する.それから,数学変換のセットを使用して,価格の配列のトレンド成分を抽出し,xBandpassFilter変数に保存する.最後に,xBandpassFilterの簡易移動平均xMeanを計算し,ポジションとポジションの指標として構築する.
xMean上でパラメータTriggerが設定したレベルを穿越する際には多頭,次に穿越する際には空頭を行う.Triggerレベルを調節することで倉庫建設と倉庫の感度を制御することができる.
遅滞の改善は,Lengthパラメータを適切に縮小して,トリガーレベル制御戦略の感度調節を行うことができます.
この戦略は全体的に安定しており,強いトレンドの市場では良好なパフォーマンスをしている.より多くの市場環境で安定した収益性を維持するために,複数の方法でさらに最適化することができる.この戦略はさらなる研究と適用に値する.
/*backtest
start: 2022-12-27 00:00:00
end: 2024-01-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version = 2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 14/12/2016
// The related article is copyrighted material from Stocks & Commodities Mar 2010
//
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Extracting The Trend Strategy Backtest")
Length = input(20, minval=1)
Delta = input(0.5)
Trigger = input(0)
reverse = input(false, title="Trade reverse")
hline(Trigger, color=blue, linestyle=line)
xPrice = hl2
beta = cos(3.1415 * (360 / Length) / 180)
gamma = 1 / cos(3.1415 * (720 * Delta / Length) / 180)
alpha = gamma - sqrt(gamma * gamma - 1)
xBandpassFilter = 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(xBandpassFilter[1]) - alpha * nz(xBandpassFilter[2])
xMean = sma(xBandpassFilter, 2 * Length)
pos = iff(xMean > Trigger, 1,
iff(xMean < Trigger, -1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xMean, color=red, title="ExTrend")