この策略は,三重指標の雲形状に基づくトレンド追跡策略と呼ばれる.この策略は,3つの異なるタイプのトレンド指標を利用し,雲形状を形成するために統合され,価格が雲形状を破るときトレンド追跡取引を行う.
この戦略は以下の3つの指標を採用しています.
カフマンは移動平均に適応し,市場の波動を感知します.
ハル移動平均は,滑らかな回転特性を有し,偽信号をフィルターすることができる.
超トレンド・ストップ・メカニズム,価格チャネルを確立し,上昇と下落を追及しない.
この3つが合体して雲形を形成し,雲頂は3人の最高値の連結であり,雲底は最低値の連結である.
具体的には,
K線高点が雲頂を突破すると,上昇トレンドチャネルが突破され,買い信号が生じます.
K線が閉盤または低点を下回ると,下落傾向が始まり,多項を平らにする.
この戦略の優点は,指標の組み合わせが傾向状態を判定するより正確で,偽信号を減らすことです.しかし,パラメータ最適化は依然として重要です.止損戦略も不可欠です.
全体的に,多指標統合判断トレンドは,一般的で効果的な方法である。しかし,トレーダーは,十分な判断力と戦略の調整の柔軟性を維持する必要があります。
/*backtest
start: 2022-09-12 00:00:00
end: 2023-02-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SnarkyPuppy
//@version=5
strategy("HKST Cloud", overlay=true, default_qty_type= strategy.percent_of_equity, default_qty_value=100)
////////////////nAMA
Lengthkaufman = input(20)
xPrice = ohlc4
xvnoise = math.abs(xPrice - xPrice[1])
nfastend = 0.666
nslowend = 0.0645
nsignal = math.abs(xPrice - xPrice[Lengthkaufman])
nnoise = math.sum(xvnoise, Lengthkaufman)
nefratio = nnoise != 0? nsignal / nnoise : 0
nsmooth = math.pow(nefratio * (nfastend - nslowend) + nslowend, 2)
nAMA = float(0)
nAMA := nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1]))
//plot(nAMA,color=color.red)
///short=input(true)
///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
////////hull moving average
hull_len=input(20)
hull= ta.hma(nAMA,hull_len)
///////atr trail
atr_factor=input(2)
atr_period=input(5)
[supertrend, direction] = ta.supertrend(atr_factor,atr_period)
/////////cloud
band1= math.max(supertrend,hull,nAMA)
band2= math.min(supertrend,hull,nAMA)
b1=plot(band1, "band1", color = color.rgb(76, 175, 79, 85), style=plot.style_linebr)
b2=plot(band2, "band2", color = color.rgb(255, 82, 82, 78), style=plot.style_linebr)
fill(b1,b2,color.rgb(12, 50, 186, 75))
longCondition = ta.crossover(high,band1) //or ta.crossover(low,band2)
if (longCondition)
strategy.entry("Up", strategy.long)
shortCondition = ta.crossunder(low,band2) or close<band2
if (shortCondition)
strategy.close("Up", shortCondition)