RSIトラッキングADX戦略は,RSI指標とADX指標を融合した長線トレンド追跡戦略である.この戦略は,RSI指標によって,市場が超買いか超売りかを判断し,ADX指標と組み合わせて,現在のトレンドが強いかどうかを判断し,トレンドが上昇して超買いしない場合にロングポジションの入場を実現し,トレンドが弱くなったり超買いされたときに平線退出する長線ポジションの保有戦略である.
この戦略は,主にRSI指標とADX指標の組み合わせを使用して,入場と退出のタイミングを判断する.
応募条件:
答えは”はい”です
退会条件:
答えは”はい”です
答えは”はい”です
20日のSMAは下落した.
この戦略は,RSIを判断して超買超売,ADXを判断してトレンドを組み合わせて,トレンドが上昇して超買しない場合に購入し,超買またはトレンドが弱くなったときに退出し,全体的に中長線向上トレンドを追跡する効果を実現する.
この戦略の利点は以下の通りです.
RSIとADXの2つの指標を組み合わせると,トレンドと超買いと超売りをより正確に判断でき,入場出場もより正確になります.
ADXでトレンドを強弱と判断することで,震動市場弱さによる出場を減らすことができます.
RSIは,中長期トレンドを追跡し,頻繁に取引を減らすために,より緩やかなパラメータを設定します.
戦略操作はシンプルで,実行しやすい,長線保有に適しています.
配置パラメータは柔軟で,調整可能なスペースが大きい.
この戦略にはリスクもあります.
ADXは遅滞しており,トレンド転換点を逃した結果,損失が拡大する可能性がある.
株価が崖っぷちに下がった場合,ストップ・ロスは遅れて発動し,損失を拡大する可能性があります.
入場時にRSIのパラメータが緩やかに設定されていて,過剰買いや長期のポジション保持に繋がる可能性があります.
ADXパラメータは過度に敏感で,トレンドが弱い時に誤って出場する可能性があります.
株価が異常な場合,株価は逆転する可能性があります.
リスク管理:
ADXのパラメータを適切に短縮して,より敏感にします.
損失を拡大しないように,より厳しい止損ラインを設定します.
RSIを適正に緊縮して,過剰買いや長期保有を防止する.
ADXパラメータは過度に敏感に設定してはいけません.
大盘の転じるときは,適切な戦略を一時停止し,手動で介入する.
この戦略は以下の点で最適化できます.
RSIパラメータの設定を最適化し,異なる周期パラメータが戦略の効果に与える影響をテストする.
ADXパラメータの組み合わせを最適化し,戦略のトレンドキャプチャ能力に対するDIとADX周期パラメータの影響をテストする.
テストはMACDなどの他の指標を補助判断として加えた.
異なる均線組合せをテストし,入場タイミングを最適化する.
試算は,ストップ・ストップ・ストラスト戦略に追加し,戦略の利益リスク比率を高めます.
大盘指数の状態を判断し,大盘の転転時に手動で戦略を停止する.
RSI追跡ADX戦略は,全体として,よりシンプルで実用的なロングライントレンド追跡戦略である.それは同時にRSIとADXの2つの指標の優位性を組み合わせ,トレンド判断とオーバーバイオーバーセール判断においてより正確である.戦略の操作はシンプルで,実行しやすい.また,一定のパラメータの最適化スペースがある.しかし,ADXの遅れ問題と止損設定の問題にも注意する必要がある.全体的に,この戦略は,中間のロングライントレンドを追跡するのに非常に適しており,投資家に安定した収益をもたらすことができる.
/*backtest
start: 2022-10-03 00:00:00
end: 2023-10-09 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Copyright by Reed Asset Management registered in Shanghai, China
//该策略为上海蘆田资产管理有限公司制
//@version=2
strategy("[蘆田策略]ADX+RSI", overlay=true)
//ADX
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
dirmov(len) =>
up = change(high)
down = -change(low)
truerange = rma(tr, len)
plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, len) / truerange)
minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, len) / truerange)
[plus, minus]
adx(dilen, adxlen) =>
[plus, minus] = dirmov(dilen)
sum = plus + minus
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
sig = adx(dilen, adxlen)
plot(sig, color=red, title="ADX")
//ADX+RSI Strategy Long Entry
longEntry1 = sma(close, 20) > sma(close, 20)[1] //check if the ADX is rising
longEntry2 = (adx(14, 14) - adx(14, 14)[1]) > 0.2
longEntry3 = rsi(close, 14) < 85
longEntry4 = (adx(14, 14) - adx(14, 14)[1]) > 0
longEntry5 = (adx(14, 14) - adx(14, 14)[1] ) < 0.2
longEntry6 = rsi(close, 14) < 50
longCondition1 = longEntry1 and longEntry2 and longEntry3
longCondition2 = longEntry1 and longEntry4 and longEntry5 and longEntry6
if(longCondition1 or longCondition2)
strategy.entry("long", strategy.long)
//ADX+RSI Strategy Long Exit
longExit1 = rsi(close, 9) > 75
longExit2 = (adx(14, 14) - adx(14, 14)[1]) > 0
longExit3 = (adx(14, 14) - adx(14, 14)[1] ) < 0.2
longExit4 = (adx(14, 14) - adx(14, 14)[1]) > 0.2
longExit5 = sma(close, 20) < sma(close,20)[1]
longExitCondition1 = longExit1 and longExit2 and longExit3
longExitCondition2 = longExit1 and longExit4
longStop1 = strategy.position_avg_price + 4 * tr
longExitCondition3 = longExit5
longStop2 = sma(close, 20)
strategy.close_all(when = longExitCondition1)
if (longExitCondition2)
strategy.exit("exit", "long", stop = longStop1)
if (longExitCondition3)
strategy.exit("exit", "long", stop = longStop2)
//Strategy