동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동
RMI는 상대적 약점 지수 (RSI) 의 변수이며, 이전 기간 동안의 가격 변화와 관련하여 가격 상승과 하락의 동력의 크기를 측정합니다. 계산 공식은:
RMI = 100 - 100/ ((1 + 상승 평균/하락 평균)
RMI 지표의 값은 0에서 100 사이이며, 더 큰 값은 상승 동력을 더 강하게 나타내며, 더 작은 값은 하락 동력을 더 강하게 나타냅니다.
현재 트렌드 지표는 트렌드 방향과 동적 지원 또는 저항 지점을 결정하기 위해 실제 변동 범위 (ATR) 와 이동 평균을 결합합니다. 계산 공식은:
궤도: 이동 평균 + (ATR × F)
아래 경로: 이동 평균 - (ATR × F)
이동평균은 지난 M 사이클의 종료 가격의 평균입니다.
ATR은 지난 M 사이클의 평균 실제 변동 범위입니다.
F는 감수성 조정의 곱하기입니다.
가격이 현재 트렌드의 상승과 하락 경로를 돌파할 때, 트렌드 전환이 있음을 나타내고, 진입 또는 진출 시그널 포인트가 발생할 수 있습니다.
참가 조건:
출전 조건 (동적 중지):
동적 손실의 계산 공식:
이 전략의 장점은 RMI의 동력 판단과 PresentTrend의 트렌드와 동적 스톱 손실을 결합하여 트렌드를 추적하면서 위험을 효과적으로 제어할 수 있다는 것입니다.
이 전략은 다음과 같은 장점을 가지고 있습니다.
이 전략은 위험성도 있습니다.
이러한 위험은 입시 조건을 적절히 완화하고, 매개 변수 조합을 최적화하고, 트렌드 판단과 결합하여 줄일 수 있다.
이 전략은 다음과 같은 몇 가지 측면에서 최적화 될 수 있습니다:
동력 동향 동기화 전략은 동력 지표와 동향 지표를 동시에 고려하는 다단계 거래 전략이며, 판단 정확성과 위험 통제의 우수한 특징을 가지고 있다. 이 전략은 개인의 선호도에 따라 유연하게 조정될 수 있으며, 깊이 최적화된 후 동향 포착의 장점을 최대한 발휘할 수 있는 것이 권장되는 거래 전략이다.
/*backtest start: 2024-01-19 00:00:00 end: 2024-02-18 00:00:00 period: 1h basePeriod: 15m 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/ // © PresentTrading //@version=5 strategy("PresentTrend RMI Synergy - Strategy [presentTrading]", shorttitle="PresentTrend RMI Synergy - Strategy [presentTrading]", overlay=false) // Inputs tradeDirection = input.string("Both", title="Trade Direction", options=["Long", "Short", "Both"]) lengthRMI = input.int(21, title="RMI Length") lengthSuperTrend = input.int(5, title="presentTrend Length") multiplierSuperTrend = input.float(4.0, title="presentTrend Multiplier") // RMI Calculation up = ta.rma(math.max(ta.change(close), 0), lengthRMI) down = ta.rma(-math.min(ta.change(close), 0), lengthRMI) rmi = 100 - (100 / (1 + up / down)) // PresentTrend Dynamic Threshold Calculation (Simplified Example) presentTrend = ta.sma(close, lengthRMI) * multiplierSuperTrend // Simplified for demonstration // SuperTrend for Dynamic Trailing Stop atr = ta.atr(lengthSuperTrend) upperBand = ta.sma(close, lengthSuperTrend) + multiplierSuperTrend * atr lowerBand = ta.sma(close, lengthSuperTrend) - multiplierSuperTrend * atr trendDirection = close > ta.sma(close, lengthSuperTrend) ? 1 : -1 // Entry Logic longEntry = rmi > 60 and trendDirection == 1 shortEntry = rmi < 40 and trendDirection == -1 // Exit Logic with Dynamic Trailing Stop longExitPrice = trendDirection == 1 ? lowerBand : na shortExitPrice = trendDirection == -1 ? upperBand : na // Strategy Execution if (tradeDirection == "Long" or tradeDirection == "Both") and longEntry strategy.entry("Long Entry", strategy.long) strategy.exit("Exit Long", stop=longExitPrice) if (tradeDirection == "Short" or tradeDirection == "Both") and shortEntry strategy.entry("Short Entry", strategy.short) strategy.exit("Exit Short", stop=shortExitPrice) // Visualization plot(rmi, title="RMI", color=color.orange) hline(50, "Baseline", color=color.white) hline(30, "Baseline", color=color.blue) hline(70, "Baseline", color=color.blue)