모멘텀 오실레이터 트레일링 스톱 전략


생성 날짜: 2024-02-19 14:39:51 마지막으로 수정됨: 2024-02-19 14:39:51
복사: 1 클릭수: 670
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

모멘텀 오실레이터 트레일링 스톱 전략

개요

이 전략은 부린띠 지표와 무작위 지표를 통합하여 시장의 과매매 과매매 상황을 식별하고 부린띠의 하위 궤도 근처에서 거래 기회를 발견합니다. 동시에, 평균 실제 변동 범위 지표를 사용하여 중지 손실을 추적합니다. DYNAMIC TRAILING STOP는 시장의 변동량에 따라 다이내믹 스톱 방법을 사용하여 중지 위치를 유연하게 조정하여 손실을 막는 효과를 보장하면서 너무 민감하게 중지되는 것을 피할 수 있습니다.

전략 원칙

이 전략은 길이가 20이고, 표준 차이는 2인 부린 대역을 사용하여 가격이 상궤 또는 하궤를 건드렸는지 식별한다. 하궤를 건드린다는 것은 오버셀에 있을 가능성이 있고, 상궤를 건드린다는 것은 오버 바이에 있을 가능성이 있다. 또한, 이 전략은 K선 주기 14, D값 평형 주기 3의 무작위 지표를 사용하여 오버 바이 오버 바이를 판단한다. 닫는 가격이 부린 대역의 하궤보다 낮아지고, 무작위 지표 K값이 20보다 낮아지면, 오버 바이를 의미하며, 닫는 가격이 부린 대역의 상궤에 있고, 무작위 지표 K값이 80보다 높으면, 오버 바이를 의미하며, 공백을 의미한다.

진입 후, 이 전략은 평균 실제 변동 범위 지표를 사용하여 스톱 로드를 추적한다. 스톱 로드는 평균 실제 변동 범위의 1.5 배이며, 시장의 변동 정도에 따라 스톱 로드를 설정할 수 있으며, 스톱 로드는 너무 가깝거나 너무 느슨하지 않습니다.

우위 분석

이 전략에는 다음과 같은 장점이 있습니다.

  1. 브린 띠와 무작위 지표를 통합하여 과매매 상황을 판단하여 거래 시기를 결정하는 정확도를 향상시킵니다.

  2. 동적으로 조정되는 스톱포인트, 시장의 변동 정도에 따라 합리적인 스톱포인트 거리를 설정할 수 있습니다.

  3. 손해 추적 방법은 손해 차단 거리가 너무 멀지 않아 너무 쉽게 손해가 발생하지 않도록 합니다.

  4. 정책 규칙은 명확하고 간단하며, 이해하기 쉽고 실행이 가능합니다.

위험 분석

이 전략에는 몇 가지 위험도 있습니다.

  1. 부린이 상하로 움직인다고 100% 확신할 수 없는 상황으로, 부린이 상하로 움직인다고 100% 확신할 수 없는 상황으로, 부린이 상하로 움직인다고 100% 확신할 수 없는 상황으로, 부린이 상하로 움직인다고 100% 확신할 수 없는 상황으로, 부린이 상하로 움직인다고 100% 확신할 수 없는 상황으로

  2. 무작위 지표 파라미터를 잘못 설정하면 잘못된 신호가 발생할 수 있습니다.

  3. 추적을 중지하면 시장의 합리적인 변동 범위를 초과하는 과도한 중단 거리가 발생할 수 있습니다.

  4. addDynamic trailing stop는 시장의 변동에 따라 미세하게 조정된 trailing stop 거리보다 더 좋을 수 있습니다.

최적화 방향

이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.

  1. 다른 브린 벨트 변수의 결과에 대한 영향을 테스트하고 최적의 변수 조합을 찾습니다.

  2. 다양한 임의의 지표 변수를 테스트하여 지표 효과를 향상시킵니다.

  3. 스톱 파스는 스톱 파스가 얼마나 많이 트리글 되었는지와 수익에 따라 동적으로 조정됩니다.

  4. 다른 지표와 함께 입력 신호를 필터링하여 작업 성공률을 높여줍니다.

  5. 시장 트렌드 기회를 최대한 포착하기 위해 손실 재입장 메커니즘을 추가합니다.

요약하다

이 전략은 브린 띠를 기반으로 과매매를 식별하고, 스토카스틱 지표가 보조 확인한다. 전략 규칙이 명확하고, 손해 중지 방법이 합리적으로 유연하다는 장점이 있다. 또한 판단 기준이 정확하지 않고, 손해 중지 거리가 합리적으로 설정되지 않는 등의 위험이 있다. 매개 변수를 최적화하고, 신호 필터를 추가하고, 동적으로 손해 중지 조정하는 등의 방법으로 전략 성능을 더욱 향상시킬 수 있다.

전략 소스 코드
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger y Estocástico con Trailing Stop", overlay=true)

// Parámetros de entrada
lengthBB = input(20, title="Longitud BB")
stdDevBB = input(2, title="Desviación Estándar BB")
kLength = input(14, title="Longitud K Estocástico")
dLength = input(3, title="Longitud D Estocástico")
smooth = input(3, title="Suavizado Estocástico")
atrLength = input(14, title="Longitud ATR")
trailStopATRMultiple = input(1.5, title="Multiplicador ATR para Trailing Stop")

// Cálculos
[upperBB, basisBB, lowerBB] = ta.bb(close, lengthBB, stdDevBB)
stochK = ta.sma(ta.stoch(close, high, low, kLength), smooth)
atr = ta.atr(atrLength)

// Condiciones de trading
longCondition = close < lowerBB and stochK < 20
shortCondition = close > upperBB and stochK > 80

// Ejecutar operaciones
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Trailing Stop
strategy.exit("Exit Long", from_entry="Long", trail_points=atr * trailStopATRMultiple, trail_offset=atr * trailStopATRMultiple)
strategy.exit("Exit Short", from_entry="Short", trail_points=atr * trailStopATRMultiple, trail_offset=atr * trailStopATRMultiple)