スーパートレンド逆転戦略は,スーパートレンド指標とRSI指標を組み合わせた逆転取引戦略である.この戦略は,スーパートレンドを使用して市場のトレンドの方向性を決定し,その後,RSI指標と組み合わせて逆転機会を特定し,トレンド逆転点で取引を行う.
スーパートレンド逆転戦略は2つの主要部分で構成されています.
市場動向を判断するためのスーパートレンド指標
スーパートレンド指標は,トレンド方向を決定するために,現在の価格と一定の期間の平均的な真の範囲に基づいて価格帯を計算します.価格が上部レールを破ると,それは上昇傾向であり,価格が下部レールを破ると,それは下落傾向です.
逆転を特定するRSI指標
RSI インディケーターは,特定の期間における上下日の数を比較して,現在過買い・過売されているかどうかを判断する.スーパートレンドインディケーターと組み合わせると,トレンド逆転の機会を検出することができます.
この戦略では,特定の変換によって,処理された RSI 曲線を得て,
スーパートレンド逆転戦略は,トレンドと逆転指標を組み合わせて,トレンド強度と過買い/過売現象を包括的に考慮し,より良い戦略収益を得るために,比較的良い場所でのポジションを開閉することができます.
主な利点は以下の通りです.
スーパートレンド逆転戦略には,主に以下のようなリスクもあります.
逆転失敗リスク
逆転信号は誤った信号であり,失敗して逆転し,損失を増やす可能性があります.
パラメータ最適化リスク
パラメータの最適化が不適切である場合,戦略が過剰に適合し,市場の変化に適応できない可能性があります.
技術指標の遅延
すべてのテクニカルインジケーターには遅延があり 最良のエントリーポジションが欠けている可能性があります
これらのリスクに対処するために,他の指標を組み合わせ,パラメータ最適化方法を調整などにより最適化や改善することができます.
スーパートレンドの逆転戦略は,市場とニーズに応じて次の次元で最適化できます.
スーパートレンド逆転戦略は,トレンド取引と逆転取引の利点を組み合わせ,逆転点でポジションを開く間にトレンドに沿うことを可能にします.パラメータを継続的にテストし最適化し,リスクを適切に制御することで,この戦略は安定した戦略リターンを得ることができます.その最適化空間も非常に大きく,実際の市場状況に基づいて調整できます.
/*backtest start: 2022-12-21 00:00:00 end: 2023-12-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title = "Super-Trend-reverse Strategy", overlay = true) // Super Trend Strategy Factor=input(2,type =float, minval=1,maxval = 100) Pd=10 //input(10,minval=1,maxval = 100) // ST1 UP=hlc3-(Factor*atr(Pd)) DOWN=hlc3+(Factor*atr(Pd)) // ST1.2 TrendUp=na TrendUp:=close[1]>TrendUp[1]? max(UP,TrendUp[1]) : UP TrendDown=na TrendDown:=close[1]<TrendDown[1]? min(DOWN,TrendDown[1]) : UP Trend = na Tsl = na Trend := close[1] > TrendDown[1] ? 1: close[1] < TrendUp[1]? -1: nz(Trend[1],1) Tsl := Trend==1 ? TrendUp: TrendDown /////////////// Functions for Reverse ////////////////////////////// IF(input) => (exp(2*input)-1) / (exp(2*input)+1) //////////////////////// RSI REVERSE ///////////////////// RSI_main = input(14, title="RSI Main Period") RSI_smooth = input(5, title="RSI Smooth Period") //Functions RVS(input) => (exp(2*input)-1) / (exp(2*input)+1) //RSI Calculation raw_RSI=0.1*(rsi(close,RSI_main)-50) wma_RSI=wma(raw_RSI,RSI_smooth) RVS_RSI = RVS(wma_RSI) threshold1 = RVS_RSI < 0.8? 1 : 0 threshold2 = -0.8 RSIbuy = (RVS_RSI<threshold2) RSIsell = (RVS_RSI > threshold1) ////////////////////// RSI REVERSE /////////////////////// // Conditions longCond = na shortCond = na longCond := RSIbuy and crossover(close, Tsl) shortCond := RSIsell and crossunder(close, Tsl) yearfrom = input(2018) yearuntil =input(2039) monthfrom =input(6) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) if ( longCond and year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil) strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY") else strategy.cancel(id="BUY") if ( shortCond and year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil ) strategy.close("BUY")