동력 트렌드에 기반한 동기화 전략

저자:차오장, 날짜: 2024-02-19 14:48:37
태그:

基于动量趋势同步策略

개요

동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동적 동

전략적 원칙

RMI 지표

RMI는 상대적 약점 지수 (RSI) 의 변수이며, 이전 기간 동안의 가격 변화와 관련하여 가격 상승과 하락의 동력의 크기를 측정합니다. 계산 공식은:

RMI = 100 - 100/ ((1 + 상승 평균/하락 평균)

  • 평균 상승률은 지난 N주기의 평균 상승률입니다.
  • 지난 n주기 동안의 평균 하락입니다

RMI 지표의 값은 0에서 100 사이이며, 더 큰 값은 상승 동력을 더 강하게 나타내며, 더 작은 값은 하락 동력을 더 강하게 나타냅니다.

현재 트렌드 지표

현재 트렌드 지표는 트렌드 방향과 동적 지원 또는 저항 지점을 결정하기 위해 실제 변동 범위 (ATR) 와 이동 평균을 결합합니다. 계산 공식은:

  • 궤도: 이동 평균 + (ATR × F)

  • 아래 경로: 이동 평균 - (ATR × F)

  • 이동평균은 지난 M 사이클의 종료 가격의 평균입니다.

  • ATR은 지난 M 사이클의 평균 실제 변동 범위입니다.

  • F는 감수성 조정의 곱하기입니다.

가격이 현재 트렌드의 상승과 하락 경로를 돌파할 때, 트렌드 전환이 있음을 나타내고, 진입 또는 진출 시그널 포인트가 발생할 수 있습니다.

전략적 논리

참가 조건:

  • 더하기: RMI가 문값 (예를 들어 60) 을 초과하면 강한 쇠시장 동력을 나타냅니다. 가격도 현재 트렌드보다 높습니다. 상승 추세를 확인하면 더하기 시작합니다.
  • 공백: RMI가 약점보다 낮을 때 (예: 40), 강한 곰 시장 동력을 나타내고, 가격도 현재 트렌드보다 낮을 때, 추세를 확인하는 경우 공백을 입력한다.

출전 조건 (동적 중지):

  • 과잉 탈락: 가격이 present 트렌드를 넘어 떨어지거나 RMI가 중립 영역으로 다시 떨어지면 탈락합니다.
  • 빈 외출: 가격이 Present 트렌드를 깨거나 RMI가 중립 영역으로 돌아갔을 때 외출합니다.

동적 손실의 계산 공식:

  • 다중 포지션: 출입 후 현재 트렌드를 출입 가격으로 설정합니다.
  • 빈 포지션: 출입 후 현재 트렌드를 출입 가격으로 설정합니다.

이 전략의 장점은 RMI의 동력 판단과 PresentTrend의 트렌드와 동적 스톱 손실을 결합하여 트렌드를 추적하면서 위험을 효과적으로 제어할 수 있다는 것입니다.

장점 분석

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 다단계 판단 메커니즘, 동력 지표와 트렌드 지표를 결합하여 의사결정 효율성을 높입니다.
  2. 시장 변화에 따라 손해배상 위치를 조정하여 위험을 효과적으로 제어할 수 있는 동적 손해배상 메커니즘
  3. 개인 취향에 따라 더 많은, 빈 또는 쌍방향 거래를 선택할 수 있으며 유연합니다.
  4. RMI Parameter는 다른 주기 판단에 적응할 수 있습니다.
  5. presentTrend Parameter는 정책의 민감도를 조절할 수 있습니다.

위험 분석

이 전략은 위험성도 있습니다.

  1. 거래 신호가 더 많고, 거래가 너무 쉽기 때문에 거래 비용과 점점 위험이 증가합니다.
  2. 이중 판단 메커니즘, 일부 거래 기회를 놓칠 수 있습니다.
  3. 자신의 거래 스타일에 맞게 적절한 매개 변수를 조정해야 합니다.
  4. 하지만, 여전히 큰 트렌드의 방향을 인공적으로 판단해야 하며, 역동적인 거래를 피해야 합니다.

이러한 위험은 입시 조건을 적절히 완화하고, 매개 변수 조합을 최적화하고, 트렌드 판단과 결합하여 줄일 수 있다.

최적화 방향

이 전략은 다음과 같은 몇 가지 측면에서 최적화 될 수 있습니다:

  1. 휘발성 지표와 결합하여 높은 휘발성에서 잘못된 입구를 방지합니다.
  2. 양력 지표 판단을 늘리고, 입국을 지원하는 충분한 현력 확보
  3. 동적 스톱 손실 규모를 최적화하여 스톱 손실을 보장하면서 더 큰 수익을 추구합니다.
  4. 재입구 조건이 추가되어 트렌드 기회를 최대한 포착합니다.
  5. 매개 변수를 최적화하고 재검토하여 수익을 극대화하기 위해 최적의 매개 변수를 찾습니다.

요약

동력 동향 동기화 전략은 동력 지표와 동향 지표를 동시에 고려하는 다단계 거래 전략이며, 판단 정확성과 위험 통제의 우수한 특징을 가지고 있다. 이 전략은 개인의 선호도에 따라 유연하게 조정될 수 있으며, 깊이 최적화된 후 동향 포착의 장점을 최대한 발휘할 수 있는 것이 권장되는 거래 전략이다.


/*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)


더 많은 내용