双重戦略の組み合わせ ストカスティック・スロー・リレーティブ・ストラストイッチ指数

作者: リン・ハーンチャオチャン開催日:2023年12月27日 15:18:40
タグ:

img

概要

この戦略は,古典的なストカスティック・スロー戦略と相対強度指数 (RSI) 戦略を組み合わせて,ダブル戦略を形成します.ストカスティックは80 (ショート) を超えたり,20 (ロング) を下回り,RSIは70 (ショート) を超えたり30 (ロング) を下回ったときにポジションを開きます.

戦略の論理

この戦略は主に2つの古典的な指標,ストカスティック・スロー・インジケーターとRSI・インジケーターを利用し,過買い・過売状態を決定する値を設定します.

ストキャスティック・スロー・パート:

  • Stochlength を 14 に設定し,ストカスティック計算のバックバック期間
  • StochOverBought を 80 と StochOverSold を 20 と設定し,過剰購入と過剰販売の限界値
  • %K と %D ラインの滑らかなK を 3 と滑らかなD を 3 と設定します

計算した %K と %D の行は,コードで k と d と呼ばれる.

%Kが下から%Dを越えると,それは長い信号である.上から下を通ると,それは短い信号である.過剰購入/過剰販売判断と組み合わせると,機会を特定するために使用することができます.

RSI 部分:

  • RSI長さを 14 に設定し,RSI計算のバックバック期間
  • RSIOoverBought を 70 と RSIOverSold を 30 と設定し,過剰購入と過剰販売の限界値

計算されたRSIインジケーターはコードで vrsi と呼ばれる.

RSIが70を超えると 買い過ぎの信号で 30を下回ると 売り過ぎの信号です

双重戦略入口論理

この戦略は,ストカスティックとRSIが同時に過剰購入/過剰売却の信号を示し,つまり自分の限界値を超えるとのみポジションを開く.

この組み合わせは,信号の信頼性を向上させ,誤った信号を減少させるため,2つの指標の互いを補完する性質を利用する.

利点分析

この二重戦略の組み合わせの利点は次のとおりです.

  1. 2つの指標を組み合わせることで,互いに検証し,偽信号を減少させ,信号の質を向上させることができます.
  2. ストキャストは過剰購入/過剰販売を判断し,RSIは同じ仕事をします. 組み合わせにより結果はより信頼性があります.
  3. ストカスティックは%Kと%Dのクロスオーバーシステムを使用し,スムージングパラメータは異常値に信頼性があります
  4. RSIは最新の変化に迅速に対応し ストカスティックは中長期の傾向や転換点を判断します 戦略を完了します
  5. 保守的な取引スタイルで 両方の指標が一致するときにのみ ポジションを開く. 取引を減らして,過剰な取引を避ける.

リスク と 解決策

この戦略にはいくつかのリスクがあります.

  1. パラメータ調整リスク

    パラメータの設定が正しくない場合,良い機会を逃すか,誤った信号を生む可能性があります. 最適な組み合わせを見つけるために,定量アルゴリズムや手動調整によってパラメータを最適化することができます.

  2. 信号がない

    信号の周波数は比較的低く,位置利用比は高くない. より多くの入力信号を生成するためにパラメータを適切に緩和することができます.

  3. 遅延リスク

    ストカスティックとRSIの両方には一定の遅延効果があり,迅速なチャンスを逃す可能性があります.より敏感な指標がサポートのために導入することができます.

  4. 楽器の特異性

    この戦略は,株価指数や金などの激動するインスツームに適しているかもしれない.スムーズなインスツームには適用できないかもしれない.

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

この戦略は,次の側面でさらに最適化できます.

  1. パラメータ最適化

    パラメータを定量的にまたは手動で最適化して最適なパラメータの組み合わせを見つけます

  2. ストップ・ロスのメカニズムを導入

    ストップロスを設定し,単一の取引損失を制御するために価格動きまたはパーセントに基づいて設定します.

  3. 他の指標と組み合わせる

    音量や移動平均などの他の指標を導入して信号品質を判断します

  4. 二重戦略の条件を緩和する

    より多くのエントリー・シグナルを生むために,ダブル・戦略の限界を適切に緩和する.

結論

この戦略は,ストカスティック・スローとRSIを二重確認モードで組み合わせ,両方の指標がオーバーバイト/オーバーセールシグナルに同意するときにのみポジションに入れる.高い信号信頼性,保守的な取引スタイルなどがある.また,パラメータチューニング,シグナル不足などのリスクもある.パラメータ最適化,ストップ損失導入,安定性を高めるための補助指標を追加することによってさらなる改善が可能である.


/*backtest
start: 2023-12-19 00:00:00
end: 2023-12-26 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Stochastic + RSI, Double Strategy (by ChartArt)", shorttitle="CA_-_RSI_Stoch_Strat", overlay=true)

// ChartArt's Stochastic Slow + Relative Strength Index, Double Strategy
//
// Version 1.0
// Idea by ChartArt on October 23, 2015.
//
// This strategy combines the classic RSI
// strategy to sell when the RSI increases
// over 70 (or to buy when it falls below 30),
// with the classic Stochastic Slow strategy
// to sell when the Stochastic oscillator
// exceeds the value of 80 (and to buy when
// this value is below 20).
//
// This simple strategy only triggers when
// both the RSI and the Stochastic are together
// in overbought or oversold conditions.
//
// List of my work: 
// https://www.tradingview.com/u/ChartArt/


///////////// Stochastic Slow
Stochlength = input(14, minval=1, title="lookback length of Stochastic")
StochOverBought = input(80, title="Stochastic overbought condition")
StochOverSold = input(20, title="Stochastic oversold condition")
smoothK = input(3, title="smoothing of Stochastic %K ")
smoothD = input(3, title="moving average of Stochastic %K")
k = sma(stoch(close, high, low, Stochlength), smoothK)
d = sma(k, smoothD)

 
///////////// RSI 
RSIlength = input( 14, minval=1 , title="lookback length of RSI")
RSIOverBought = input( 70  , title="RSI overbought condition")
RSIOverSold = input( 30  , title="RSI oversold condition")
RSIprice = close
vrsi = rsi(RSIprice, RSIlength)


///////////// Double strategy: RSI strategy + Stochastic strategy

if (not na(k) and not na(d))
    if (crossover(k,d) and k < StochOverSold)
        if (not na(vrsi)) and (crossover(vrsi, RSIOverSold))
            strategy.entry("LONG", strategy.long, comment="StochLE + RsiLE")
 
 
if (crossunder(k,d) and k > StochOverBought)
    if (crossunder(vrsi, RSIOverBought))
        strategy.entry("SHORT", strategy.short, comment="StochSE + RsiSE")
 
 
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)WQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ

もっと