コナーズ・ダブル・ムービング・平均RSI逆転取引戦略は,相対強度指数 (RSI) とダブル・ムービング・平均を組み合わせて,高い確率の逆転取引機会を特定する.短期および長期トレンドが逆転方向になると,この戦略は市場が転換寸前であると判断し,ポジションを確立する.
この戦略は,市場動向を決定するために,RSIと二重移動平均の両方を利用する.まずは,短期的なトレンド逆転を判断するために2期間のRSIを計算する.次に,長期的トレンド方向を決定するために200期間の移動平均を計算する.短期的なRSIが過剰購入/過剰販売領域から反発して長期的トレンドに反動すると,市場は逆転し,取引ポジションが確立される可能性があることを示唆する.
入力シグナル:RSIが過剰販売領域 (デフォルト 5) 以下の値で,短期価格が長期価格より高いときロングシグナル:RSIが過剰購入領域 (デフォルト 95) 以下の値で,短期価格が長期価格より低いときショートシグナル.
出口シグナル: 5 期間の短期移動平均値が入口方向に逆のシグナルを与えるときに出口するか,ストップ・ロース (デフォルトの 3% の損失)
この戦略は,市場構造を判断するための複数の指標を組み合わせ,取引の精度を向上させることができます. 具体的な利点として:
この戦略にはいくつかのリスクがあります:
この戦略は,いくつかの側面で最適化することができます:
コナーズ・ダブル・ムービング・平均RSIリバーサル・トレーディング・ストラテジー (Connors Dual Moving Average RSI Reversal Trading Strategy) は,ダブル・ムービング・平均値でRSIリバーサル・シグナルをフィルタリングすることによって,高い確率のポジションで市場の逆転を捕捉する.この戦略は,安定性を向上させるために複数の指標を利用する.次に,パラメータ最適化とリスク管理の改善を通じて,戦略の利点をさらに拡大し,より高い取引効率を達成する可能性がある.
/*backtest start: 2023-10-21 00:00:00 end: 2023-11-16 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Connors RSI-MA Strategy", overlay=true) // Strategy parameters rsiLength = input(2, title="RSI Length") maLength = input(200, title="MA Length") exitMaLength = input(5, title="Exit MA Length") overboughtThreshold = input(95, title="Overbought Threshold") oversoldThreshold = input(5, title="Oversold Threshold") stopLossPercentage = input(3, title="Stop Loss Percentage") // 2-period RSI rsi2 = ta.rsi(close, rsiLength) // 200-period MA ma200 = ta.sma(close, maLength) // 5-period MA for exit signals ma5_exit = ta.sma(close, exitMaLength) // Positive trend condition positiveTrend = close > ma200 // Negative trend condition negativeTrend = close < ma200 // Buy and sell conditions buyCondition = rsi2 < oversoldThreshold and positiveTrend sellCondition = rsi2 > overboughtThreshold and negativeTrend // Exit conditions exitLongCondition = close > ma5_exit exitShortCondition = close < ma5_exit // Stop Loss stopLossLevelLong = strategy.position_avg_price * (1 - stopLossPercentage / 100) stopLossLevelShort = strategy.position_avg_price * (1 + stopLossPercentage / 100) // Strategy logic if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.entry("Sell", strategy.short) if (exitLongCondition or close >= stopLossLevelLong) strategy.close("Buy") if (exitShortCondition or close <= stopLossLevelShort) strategy.close("Sell") // Plotting plot(ma200, title="200 MA", color=color.blue) plot(ma5_exit, title="Exit MA", color=color.red) // Plot stop loss levels plotshape(series=stopLossLevelLong, title="Long Stop Loss", color=color.green, style=shape.triangledown, size=size.small) plotshape(series=stopLossLevelShort, title="Short Stop Loss", color=color.red, style=shape.triangleup, size=size.small)