
多周期標準偏差K線交差策略は,典型的なトレンド追跡策策である.この策略は,異なる時間周期 (日線,周線,月線など) の標準偏差値を計算して,複数のK線とD線を構成し,それからこれらの線の平均値を取り,平均線を構成し,快線で遅い線を通るときは多し,下を通るときは空にする.この策略は,異なる周期標準偏差の予測能力を充分に活用し,複数の周期の標準偏差平均線を組み合わせることで,市場騒音を効果的にフィルタートし,市場の主なトレンドをロックすることができる.
この戦略の核心的な論理は,多時間周期の標準偏差を計算し,平均を取って取引信号を構築することである.
まず 戦略をstoch()関数は,異なるパラメータの下の標準偏差K値を計算し,ここに合計5組のK値が計算され,対応する時間周期は日線,周線,月線レベルである.
smoothK = input(55)
SMAsmoothK = input(13)
k = sma(stoch(price, high, low, smoothK), SMAsmoothK)
smoothK1 = input(89)
SMAsmoothK1 = input(8)
k1 = sma(stoch(price, high, low, smoothK1), SMAsmoothK1)
...
smoothK4 = input(377)
SMAsmoothK4 = input(2)
k4 = sma(stoch(price, high, low, smoothK4), SMAsmoothK4)
D線は,それぞれ異なるパラメータで計算されます.
smoothD = input(34)
d = sma(k, smoothD)
...
smoothD4 = input(233)
d4 = sma(k4, smoothD4)
次に,各グループK線とD線の平均値を計算して,快線Kavgと遅線Davgを構成する.
Kavg = avg(k,k1,k2,k3,k4)
Davg = avg(d,d1,d2,d3,d4)
最後に,速線で遅線を走るときは多めに,下線で空いてください.
long = crossover(Kavg, Davg)
short = crossunder(Kavg, Davg)
標準偏差平均線を複数の時間周期に組み合わせることで,より大きな時間周期の市場ノイズをぎ出し,主要トレンドの方向をロックすることができます.
解決:
フィルタリング条件を追加し,短期間の偽突破の誤解を避ける
適応サイクル設定を使用して,市場の変動程度に応じてサイクルパラメータを調整する
モバイルストップを設定して,タイムストップを設定し,高殺低を追求しないようにします.
平均線周期パラメータを最適化して,最適なバランスポイントを見つける
戦略の安定性を高めるために,より多くの指標信号を組み合わせる
この戦略は,以下の点でさらに最適化できます.
MACD,Bollinger Bandsなどの他の指標信号を組み合わせることで,信号の質が向上します.
トレンドフィルターを追加し,SMA平均線方向,ADXなどの指標を導入し,逆転取引を避ける
適応サイクル設定を使用して,市場の波動程度に応じて動的にサイクルパラメータを調整する
モバイルストップ戦略を追加し,ストップポイントを戦略パラメータに合わせて設定し,タイムストップ
快線と遅線の均線周期パラメータを最適化して,最適なパラメータの組み合わせを見つける
倉庫開きフィルター条件を追加し,短期的なノイズによる誤導信号を回避する
Breakout 入場戦略を試し,平均線を突破した後にポジションを開く
チェンデリア出口などの異なる出口戦略をテストし,ストップダストを最適化します.
多周期標準偏差K線交差策略は,標準偏差指標のトレンド追跡能力と均線策の安定性を統合している.多周期標準偏差のK線とD線の平均値を計算することで,取引信号を構築し,異なる時間尺における標準偏差指標の予測力を効果的に利用し,市場ノイズをフィルターし,主要トレンドの方向を捉えることができる.この策略は,パラメータチューニングの余地があり,周期パラメータを調整し,フィルター条件,止損策などをさらに導入することで,より良い戦略効果を得るために最適化することができます.全体的に,この策略は,複数の技術分析ツールの優位性を統合しており,探索し,最適化する価値のある高効率のトレンド追跡策略です.
/*backtest
start: 2023-09-23 00:00:00
end: 2023-10-23 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title="Slow Stochastic Multi K&D Average Crossover Strategy", overlay=false, pyramiding=0, calc_on_order_fills=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, currency="USD", default_qty_value=100)
price = input(close)
///////////////////////////////
smoothK = input(55)
SMAsmoothK = input(13)
k = sma(stoch(price, high, low, smoothK), SMAsmoothK)
smoothD = input(34)
d = sma(k, smoothD)
///////////////////////////
smoothK1 = input(89)
SMAsmoothK1 = input(8)
k1 = sma(stoch(price, high, low, smoothK1), SMAsmoothK1)
smoothD1 = input(55)
d1 = sma(k1, smoothD1)
//////////////////////////////////////
smoothK2 = input(144)
SMAsmoothK2 = input(5)
k2 = sma(stoch(price, high, low, smoothK2), SMAsmoothK2)
smoothD2 = input(89)
d2 = sma(k2, smoothD2)
/////////////////////////////////////
smoothK3 = input(233)
SMAsmoothK3 = input(3)
k3 = sma(stoch(price, high, low, smoothK3), SMAsmoothK3)
smoothD3 = input(144)
d3 = sma(k3, smoothD3)
////////////////////////////////////////////////
smoothK4 = input(377)
SMAsmoothK4 = input(2)
k4 = sma(stoch(price, high, low, smoothK4), SMAsmoothK4)
smoothD4 = input(233)
d4 = sma(k4, smoothD4)
/////////////////////////////////////////////////
Kavg = avg(k,k1,k2,k3,k4, k4)
plot(Kavg, color=green)
Davg = avg(d,d1,d2,d3,d4, d4)
plot(Davg, color=red)
///////////////////////////////////////
hline(50, color=gray)
long = crossover(Kavg, Davg)// and d < 50
short = crossunder(Kavg, Davg)// and d > 50
last_long = long ? time : nz(last_long[1])
last_short = short ? time : nz(last_short[1])
long_signal = crossover(last_long, last_short)
short_signal = crossover(last_short, last_long)
strategy.entry("Long", strategy.long, when=long_signal)
strategy.entry("Short", strategy.short, when=short_signal)
//len1 = input(3)
//closelong = d[1] < k[len1]
//closeshort = d[1] > k[len1]
//strategy.close("Long", when=closelong)
//strategy.close("Short", when=closeshort)