이동 평균 크로스오버와 역전 지표 조합 전략

저자:차오장, 날짜: 2023-12-13 15:20:20
태그:

img

전반적인 설명

이 전략은 이동 평균, 상대 강도 지표 및 상품 채널 지표를 통합하여 상대적으로 완전한 트렌드 추적 및 지표 조합 전략을 형성합니다. 트렌드 지표가 트렌드 형성을 확인 한 후 더 정확한 입력을 구현하는 것이 기본 아이디어입니다.

전략 원칙

  1. 중간값을 계산하기 위해 hl2를 사용하세요.

  2. 주요 트렌드를 판단하기 위해 14 기간 CCI 지표를 계산합니다. CCI가 0보다 크면 트렌드가 상승합니다. 0보다 작으면 트렌드가 하락합니다.

  3. 14주기 RSI 지표의 빠른 라인과 50주기 RSI 지표의 느린 라인을 계산한다. 빠른 라인이 느린 라인의 위를 넘을 때 구매 신호가 생성된다. 빠른 라인이 느린 라인의 아래를 넘을 때 판매 신호가 생성된다.

  4. 실제 거래 신호는 CCI 지표가 RSI 지표의 신호 방향과 일치할 때만 생성됩니다. 즉, CCI가 0보다 높고 RSI가 느린 라인을 넘을 때만 구매하고 CCI가 0보다 작고 RSI가 느린 라인을 넘을 때만 판매합니다.

  5. 거짓 브레이크오웃을 피하기 위해 소규모 트렌드를 판단하는 데 도움을 주기 위해 가격을 hl2의 14 기간 이동 평균과 비교하십시오. 가격은 hl2의 14 기간 이동 평균 이상이고 RSI 지표가 위를 넘을 때만 구매 신호가 생성됩니다. 가격은 hl2의 14 기간 이동 평균 이하이고 RSI 지표가 아래를 넘을 때만 판매 신호가 생성됩니다.

이점 분석

  1. 이 전략은 트렌드 판단과 역전 신호를 통합하여 트렌드 시작 후 적시에 입력하고, 역전 신호 지표를 사용하여 출구 지점을 결정하여 더 나은 수익을 얻습니다.

  2. 상품 채널 인덱스는 주요 트렌드 방향을 정확하게 결정하고 거래 방향의 잘못된 선택을 피합니다.

  3. 상대적 강도 지수의 빠르고 느린 라인 크로스오버는 신뢰할 수 있는 신호로서 이동 평균의 지연 문제를 피하고 가격 반전을 적시에 포착 할 수 있습니다.

  4. 중간선과 가격을 비교하면 잘못된 신호를 일으키는 잘못된 파장을 더 잘 할 수 있습니다.

  5. 전체적으로 이 전략은 안정성이 좋고 강한 추세에서도 좋은 성과를 거두고 있습니다.

위험 분석

  1. 이 전략은 거래 품종에 민감하며 특정 품종에 대한 매개 변수 최적화를 요구합니다. 모든 품종에 맹목적으로 적용하면 불안정한 성능이 발생할 수 있습니다.

  2. 14주기 이동평균과 50주기 이동평균과 같은 매개 변수 설정은 다른 시장에 따라 조정되어야 합니다. 잘못된 매개 변수 설정은 또한 저성능으로 이어질 수 있습니다.

  3. 주요 트렌드 방향을 결정하기 위해 CCI에만 의존하는 것은 여전히 완벽하지 않습니다. 약간의 지연으로. 이 부분은 여전히 추가 최적화가 필요합니다.

  4. 반전 신호 지표의 조합은 상대적으로 크며, 어느 정도 과도한 최적화로 이어질 수 있습니다. 이것은 또한 엄격하게 테스트해야합니다.

최적화 방향

  1. 주요 트렌드를 판단하기 위해 더 많은 지표를 추가하는 것을 고려하십시오. 예를 들어 DMI, ADX 등, 트렌드 판단을 더 정확하게하기 위해.

  2. 스톱 로스 로직을 높여라. 예를 들어, 반전 신호가 나타난 후, 가격이 특정 진폭으로 다시 호출되면, 스톱 로스 출구는 손실을 줄이기 위해 고려 될 수 있다.

  3. 특정 거래 품종에 더 적합하도록 매개 변수를 최적화하십시오. 예를 들어 느린 라인의 사이클 매개 변수를 증가시키거나 중간 가격 계산 방법을 조정하십시오.

  4. 다양한 품종에 최적의 매개 변수를 선택하기 위해 매개 변수 최적화 조합을 구축하여 전략의 적용성을 크게 향상시킬 수 있습니다.

  5. 모멘텀이 충분하지 않을 때 잘못된 신호를 피하기 위해 모멘텀 표시기를 추가합니다.

결론

이 전략의 전반적인 틀은 완전하며, 이론적으로 우수한 성능을 얻을 수 있는 트렌드 판단과 역전 지표를 통합합니다. 그러나 실제 응용에서는 여전히 과도한 적합성의 위험을 줄이기 위해 거래 품종에 대한 매개 변수 및 모델 최적화가 필요합니다. 엄격한 통계 테스트를 통과하면 권장 할만한 안정적인 전략이 될 가능성이 있습니다.


/*backtest
start: 2022-12-06 00:00:00
end: 2023-12-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SuchitRaju

//@version=4
strategy("MA RSI CCI")

price_up = if(close > open and close > sma(hl2,14))
    1
else
    0

price_down = if(open > close and close < sma(hl2,14))
    1
else
    0
// 

cci_indicator = cci(hl2, 14)
// plot(cci_indicator, color=color.blue)

rsi_slow = sma(rsi(close, 14), 50)
// plot(rsi_slow, color=color.red)

rsi_fast = rsi(close, 14)
// plot(rsi_fast, color=color.green)

isCrossover = if(rsi_fast > rsi_slow and cci_indicator > 0)
    1
else
    0
// plotshape(isCrossover, style = shape.arrowup, color = color.green, size = size.huge)

isCrossunder = if(rsi_fast < rsi_slow and cci_indicator < 0)
    1
else
    0
// plotshape(isCrossunder, style = shape.arrowup, color = color.red, size = size.huge)

// start = timestamp("GMT-5", 2016,9,1,0,0)
// end = timestamp("GMT-5", 2017,9,1,0,0)

// strategy.entry("Long", strategy.long, 1, when = isCrossover and price_up)
// strategy.entry("Short", strategy.short, 1, when = isCrossunder and price_down)
// strategy.close("Long", when = isCrossunder and price_down)
// strategy.close("Short", when = isCrossover and price_up)

strategy.entry("Long", strategy.long, 1, when = isCrossover)
strategy.entry("Short", strategy.short, 1, when = isCrossunder)
strategy.close("Long", when = isCrossunder)
strategy.close("Short", when = isCrossover)

더 많은