
この策略は,スローランダム指標に基づくトレンド追跡策略である.これは,長期のK線平均線を使用して,スローランダム指標を平らにするため,市場ノイズをフィルターし,主要なトレンドをロックする.この策略は,スローランダム指標の超買超売ラインを使用して,入場と出場のタイミングを判断する.
この戦略は,まず400サイクル長さのK値SMA平行線を計算し,さらにK線を平行させるために275サイクル長さのSMA線を計算する.これは,最終的なK線を非常に平らにして,基本的には市場の主要なトレンドの方向のみを反映する.この戦略は,この超平らなゆっくりとしたランダムな指標のK値を取引信号として使用する.
K線が下から23の超売り区間を横切るときは,多めに;K線が上から下から78.5の超売り区間を横切るときは,空っぽに.平仓の信号は,K線がそれぞれの超売り区間を再び横切るためである.このようにして,戦略は主要なトレンドを追跡する効果を実現する.
この戦略の最大の利点は,市場騒音に偏らないように,市場の主なトレンドをロックするために超滑らかなゆっくりとしたランダムな指標を使用することです.超滑らかさは,より大きなトレンドの変化にのみ敏感になり,高周波の反転と振動をフィルターします.
また,この戦略は,一般的な移動平均策よりも,トレンドの転換点をより早く捉え,利益の窓を大きくする.
この戦略の主なリスクは,市場が長期にわたって超買超売区間を揺るがす可能性があり,誤入場による損失を繰り返し引き起こすことである.この場合,K線をより平坦にしたり,超買超売区間範囲を拡大したりするためにパラメータを適切に調整する必要があります.
また,トレンド突破や巨大市場が襲う場合,超滑らかなK線は信号認識を遅らせ,潜在的な利益の一部を損なう可能性があります.この場合,K線平均線パラメータを縮小して,より敏感にする必要があります.
この戦略は以下の点で最適化できます.
K値とD値の平滑周期を調整し,最適なパラメータの組み合わせを見つける
価格の入力でテストします. 例えば,閉店価格,典型的な価格など.
ATRの停止,資金利用率の制御などの取引量またはポジションの制御を増やす
MACDなどの指標の補助判断を追加し,誤入場を避ける
機械学習によるパラメータの最適化
このスロー・ランドム・インディケータは,トレンドを追跡する戦略で,超スムーズな処理により,市場の主要トレンドを捕捉し,高周波の市場ノイズによる取引の干渉を回避する.また,ある程度の遅れの認識信号のリスクもあります.パラメータを調整したり,補助条件を追加したりすることで,戦略を最適化して,戦略の安定性と収益性を向上させることができます.
/*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)