RSI の 傾向 は 牛 の 戦略 に 続く

作者: リン・ハーンチャオチャン, 日付: 2024-01-04 17:48:41
タグ:

img

概要

この戦略は,トレンドを決定するためにRSI指標と市場への参入のためのMACD指標を使用するトレンドフォローブル戦略である.また,リスクを管理するためにトレンドフィルターとしてEMAラインと緊急ストップロスを組み込む.

戦略の論理

この戦略は,主にRSIインジケーターに依存し,トレンド方向を決定する.RSIが設定されたロングライン (デフォルト21) を越えると,市場は上昇傾向に逆転する可能性があると考えられる.この時点で,MACDが既にダウントレンドにある場合,それは逆転点であると判断することができ,これはロングに行く良い機会である.

さらに,戦略はトレンドフィルターとしてEMAライン (デフォルト200期) も導入している.価格がEMAラインを超える場合にのみ,ロングトレードが考慮される.これはトレンドが不明確または減少しているときに偽の逆転を効果的にフィルタリングすることができます.

ストップ・ロスの側では,ストラテジーは通常のストップ・ロスのラインと緊急ストップ・ロスのラインを設定する.RSIが通常のストップ・ロスのライン (86デフォルト) 以下の値を超えると,ポジションを閉じる.価格が急落し,RSIが緊急ストップ・ロスのライン (73デフォルト) 以下の値を超えると,ポジションを無条件に閉じて最大損失を制御する.

利点分析

  • 逆転点を識別するためにRSIを使用し,誤ったエントリをフィルターするためにMACDを使用します.
  • 主なトレンドを決定するために EMA線を導入します.
  • リスクを制御するために,通常のストップ損失と緊急ストップ損失の両方を使用します.

リスク分析

  • RSIの逆転シグナルには誤った判断がある可能性があります
  • EMAラインは大きな動向変化に間に合うことができません
  • シングルストップ・ロスの指標は 利益のある取引を早めに停止させる可能性があります

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

  • 入力精度を向上させるための補助判断ツールとしてボリューム指標や牛/熊キャンドル比率を導入することができる.
  • 移動平均システムでは,最新のN日間のトレンドを動的に追跡できるように調整できます.
  • ストップ損失を移動するストップ損失や統計的なストップ損失などのより高度なストップ損失メカニズムを追加して,ストップ損失をより柔軟にする.

概要

概要すると,この戦略はブル戦略をフォローする比較的伝統的なトレンドである.それはRSIで逆転点を特定し,MACDで誤判をフィルターし,EMAで主要なトレンドを決定し,ストップロスのリスクを制御する.この戦略は非常にシンプルで直感的で,理解しやすいものであり,市場の逆転を判断する上でいくつかの利点があり,アルゴ取引のための良い出発点戦略である.しかし,エントリー信号,トレンド判事,ストップロスのメカニズムを最適化することによってさらなる改善のための大きな余地があります.


/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © dravitch
//@version=4
strategy("RSI - BULL RUN (Improved)", overlay=true)

// Input
UseEmergency = input(true, "Use Emergency Exit?")
RSIlong = input(21, "RSI Long Cross")
RSIcloseLong = input(86, "RSI Close Long Position")

EmergencycloseLong = input(73, "RSI Emergency Close Long Position")
UseEMAFilter = input(true, "Use EMA Trend Filter")
EMAlength = input(200, "EMA Length for Trend Filter")  // Utiliser 200 pour SMMA

// RSI
rsiValue = rsi(close, 14)

// MACD
[macdLine, signalLine, _] = macd(close, 12, 26, 9)

// EMA Trend Filter
emaTrend = sma(close, EMAlength)  // Utiliser sma pour la SMMA (Simple Moving Average)

// Conditions pour les trades longs
trendUp = close > emaTrend
trendDown = close < emaTrend
longCondition = crossover(rsiValue, RSIlong) and trendDown or crossunder(macdLine, signalLine) and crossover(rsiValue, RSIlong)
longCloseCondition = crossunder(rsiValue, RSIcloseLong) and trendUp
emergencyLongCondition = crossunder(rsiValue, EmergencycloseLong) 

// Plots
plot(rsiValue, color=color.white, linewidth=2, title="RSI")

// Strategy
if (longCondition)
    strategy.entry("Long", strategy.long, alert_message='RSI Long Cross: LONG')
if (longCloseCondition)
    strategy.close("Long", alert_message='RSI Close Long Position')
if (emergencyLongCondition and UseEmergency)
    strategy.close("Long", alert_message='RSI Emergency Close Long')

// Plot EMA Trend Filter in a separate pane
plot(emaTrend, color=color.rgb(163, 0, 122), title="EMA Trend Filter", linewidth=2, style=plot.style_line, transp=0)
hline(0, "Zero Line", color=color.gray)

もっと