戦略をフォローする緩やかなストカスティックトレンド

作者: リン・ハーンチャオチャン開催日:2023年12月28日17時50分36秒
タグ:

img

概要

これはスローストキャスト指標に基づくトレンドフォロー戦略である.それは,スローストキャストを滑らかにするために,長期間のK線移動平均を使用し,主要なトレンドをロックするために市場のノイズをフィルタリングする.この戦略は,滑らかなスローストキャストの過剰購入および過剰販売レベルに基づいてエントリーおよび退出点を決定する.

戦略の論理

この戦略は,まず400期K値SMAスムージングラインを計算し,その後,さらにK線をスムージングするために別の275期SMAラインを計算します. これにより,最終K線は非常にスムージングになり,基本的に市場の主要なトレンド方向を反映するだけです.この戦略は,この超スムージングのスローストキャストティックK値を取引信号として使用します.

K線が下から23の超売値を超えると,ロングになります.K線が上から78.5の超売値を超えると,ショートになります.K線が再び超売値/超売値を超えると,出口信号が発信されます.したがって,戦略はトレンドフォロー効果を達成します.

利点分析

この戦略の最大の利点は,超スムーズなスローストカスティックを使用して,ノイズ干渉を避け,主要な市場トレンドをロックすることです.超スムーズ化により,高周波の逆転と振動をフィルタリングして,主要なトレンド変化にのみ敏感になります.

また,一般的な移動平均戦略と比較して,この戦略は,より大きな利益窓を持つ傾向のターニングポイントをより早く捉えることができます.

リスク分析

この戦略の主なリスクは,市場が長期間にわたって過買い/過売りゾーン内で振動し,複数の誤った信号と損失を引き起こすことにある.この場合,K線を滑らかにするためにパラメータを調整するか,過買い/過売りゾーンを拡大する必要があります.

また,トレンドが急激に変化すると,超スムーズなK線は信号認識を遅らせ,潜在的な利益損失を引き起こす可能性があります.ここで,K線MAパラメータはより敏感になるために短縮する必要があります.

オプティマイゼーションの方向性

戦略は以下の側面で最適化できます.

  1. 最適なコンボを見つけるため,K&D値の平滑期を調整する.
  2. 価格の入力をテストする
  3. ATRストップ損失,資本利用率管理などの取引量やポジションサイズ制御を追加します.
  4. 誤った信号を避けるため,MACDのような補助指標を追加します.
  5. パーマータを最適化するために 機械学習を使用します

結論

スローストカスティックトレンドフォロー戦略は,主要な市場トレンドを把握し,超スムーズな処理を通じて高周波ノイズ干渉を回避する.また,遅延信号認識のリスクもあります. 安定性と収益性を向上させるためにパラメータを調整したり補助条件を追加したりして戦略を最適化することができます.


/*backtest
start: 2023-12-20 00:00:00
end: 2023-12-27 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Slow Stochastic OB/OS Strategy", overlay=false )

smoothK = input(400, step=5) 
price = input(ohlc4)
SMAsmoothK = input(275, step=5)
k = sma(stoch(price, high, low, smoothK), SMAsmoothK)
plot(k, color=white)


smoothD = input(10, step=2)
d = sma(k, smoothD)
plot(d, color=red)


OB = input(78.5, step=0.5)
OS = input(23, step=0.5)
hline(OB, linewidth=1, color=red)
hline(OS,linewidth=1, color=green)
hline(50,linewidth=1, color=gray)


long = crossover(d, OS)
short = crossunder(d, OB)

strategy.entry("Long", strategy.long, when=long) //_signal or long) //or closeshort_signal)
strategy.entry("Short", strategy.short, when=short) //_signal or short) // or closelong_signal)

//If you want to try to play with exits you can activate these!

closelong = crossover(d, OB)
closeshort = crossunder(d, OS)

strategy.close("Long", when=closelong)
strategy.close("Short", when=closeshort)



もっと