이중 이동 평균 크로스오버 트렌드 거래 전략

저자:차오장, 날짜: 2023-11-06 10:27:00
태그:

img

전반적인 설명

이 전략은 9일 이동 평균 (MA), 20일 MA 및 200일 MA 사이의 교차 상황을 계산하여 시장 트렌드를 결정합니다. 이 전략은 장기 트렌드를 측정하는 200일 MA와 이중 MA 교차의 고전적 아이디어를 결합합니다. 이것은 비교적 안정적이고 신뢰할 수있는 트렌드 거래 전략입니다.

전략 논리

이 전략은 주로 9일 MA, 20일 MA 및 200일 MA 사이의 관계를 계산하여 가격 동향을 판단합니다.

먼저, 9일 MA와 20일 MA를 계산합니다. 9일 MA가 20일 MA를 넘으면 구매 신호입니다. 9일 MA가 20일 MA를 넘으면 판매 신호입니다. 이중 MA의 가장 기본적인 판단 규칙입니다.

두 번째로, 200일 MA를 장기 트렌드를 판단하는 지표로 계산합니다. 20일 MA가 200일 MA를 넘으면 장기적인 상승 시선을 신호합니다. 20일 MA가 200일 MA를 넘으면 장기적인 하락 시선을 신호합니다.

마지막으로, 9일 MA, 20일 MA 및 200일 MA 사이의 관계를 결합하여 특정 입점 및 출구 지점을 결정합니다. 9일 MA와 20일 MA가 같은 방향으로 함께 교차 할 때만 실제 거래 신호가 생성됩니다.

이 전략은 여러 MAs 사이의 교차 상황을 계산함으로써, MAs의 트렌드 추적 능력을 최대한 활용하여 단기 및 장기적인 가격 움직임을 효과적으로 결정하고, 따라서 구매 및 판매 작전을 안내합니다.

이점 분석

  1. 이중 MA 크로스오버를 사용하면 중단기 가격 동향을 효과적으로 파악하고 이익을 창출할 수 있습니다.

  2. 200일 MA 판단을 추가하면 장기적인 하락 추세에서 장기적으로 진행되는 것을 피하고 손실을 줄일 수 있습니다.

  3. 여러 MA 관계를 결합하면 신호가 더 신뢰할 수 있고 비효율적인 거래를 피합니다.

  4. MA 크로스오버 신호는 명확하고 쉽게 판단되며 수동 거래 연습에 적합합니다.

  5. 간단하고 깨끗한 코드는 이해하기 쉽고 구현하기 쉽고 양자 거래 초보자에게 좋습니다.

  6. 유연한 최적화, 예를 들어 MA 기간을 조정하거나 다른 지표를 추가합니다.

위험 분석

  1. MA 전략은 매개 변수 조정에 민감하며, 다른 MA 기간은 매우 다른 결과를 가져올 수 있습니다.

  2. 이중 MA 크로스오버는 중단기 트렌드를 판단할 뿐이고, 장기적인 큰 트렌드를 놓칠 수도 있습니다.

  3. 크로스오버 신호는 지연할 수 있고 완전히 손실 트레이드를 피할 수 없습니다.

  4. 빈번한 거래는 수수료와 미끄러짐 비용을 증가시키고 실제 수익 잠재력을 감소시킵니다.

  5. 너무 간단한 코드는 라이브 트레이딩에서 성능이 떨어질 수 있습니다. 최적화가 필요합니다.

최적화 방향

  1. 최적의 매개 변수를 찾기 위해 다양한 MA 기간 조합을 테스트합니다.

  2. 거래 손실 금액을 엄격하게 통제하기 위해 스톱 로스 전략을 추가하십시오.

  3. 변화하는 시장 조건에 따라 포지션 크기를 고려하십시오.

  4. 입구 신호를 최적화합니다. 예를 들어 모멘텀 확인을 추가하는 것 처럼요.

  5. 합리적인 수익률을 설정하여 출구를 최적화하십시오.

  6. 추세와 환율 확률을 판단하기 위해 더 많은 지표를 추가합니다.

  7. 더 복잡한 거래 논리를 발견하기 위해 기계 학습 모델을 추가합니다.

결론

이 전략은 MA 트렌드를 따르는 특성을 사용하여 트레이딩 의사결정을 안내하기 위해 이중 MA 크로스오버와 장기 MA 트렌드 판단의 고전적인 아이디어를 결합합니다. 간단한 논리를 가지고 있으며 이해 및 구현이 쉽고 양 거래 초보자에게 좋습니다. 그러나 매개 변수 민감하고 추가 최적화 및 개선이 필요한 문제점이 있습니다. 전반적으로이 전략은 더 강력한 거래 시스템을 개발하기 위해 확장 할 수있는 기본 프레임워크를 제공합니다. 투자자는 양적 거래에서 장기적인 초과 수익을 달성하기 위해 필요에 따라 전략을 추가하고 지속적으로 최적화하기 위해 적합한 요소를 선택할 수 있습니다.


/*backtest
start: 2023-10-29 00:00:00
end: 2023-11-05 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=1
strategy("Dieyson Swingtrade EMA 20+200 and bar & line color", overlay=true)


//bar color rules
Dgbar = close>close[1] and ema(close,20)>ema(close[1],20)
Drbar = close<close[1] and ema(close,20)<ema(close[1],20)

//Barcolors
barcolor(Dgbar ? green : na)
barcolor(Drbar ? red : na)

//MM09 Colorful

MMgreen9 = ema(close,9)>ema(close[1],9) and ema(close,20)>ema(close[1],20)
MMred9 = ema(close,9)<ema(close[1],9) and ema(close,9)<ema(close[1],9)
col8 = (MMgreen9 ? color(green,0) : na)
col28 = (MMred9 ? color(red,0) : na)
col38 = (not MMgreen9 and not MMred9 ? color(black,0) : na)

//plot(ema(close,9), color=col8, style=line, linewidth=1)
//plot(ema(close,9), color=col28, style=line, linewidth=1)
//plot(ema(close,9), color=col38, style=line, linewidth=1)

//MM20 Colorful

MMgreen = ema(close,20)>ema(close[1],20)
MMred = ema(close,20)<ema(close[1],20)
col = (MMgreen ? color(green,0) : na)
col2 = (MMred ? color(red,0) : na)
col3 = (not MMgreen and not MMred ? color(yellow,0) : na)
col4 = color(black,0)
plot(ema(close,20), color=col, style=line, linewidth=2)
plot(ema(close,20), color=col2, style=line, linewidth=2)
plot(ema(close,20), color=col3, style=line, linewidth=2)
plot(ema(close,200), color=col4, style=line, linewidth=3)
//plot(vwap(15), color(white,0), style=line, linewidth=3)
//plot(cross(ema(close,9), ema(close,20)) ? ema(close,9) : na, style = cross,color=fuchsia, transp=0, linewidth = 4)
plot(cross(ema(close,20), ema(close,200)) ? ema(close,20) : na, style = cross,color=fuchsia, transp=0, linewidth = 4)

c = crossover(ema(close,9), ema(close,20)) and ema(close,9) > ema(close,20)
// c = crossover(close, ema (close,9) and ema(close,9) > ema(close[1],9))
v = crossunder(close, ema (close,9))

strategy.entry("COMPRA", strategy.long,when=c)
strategy.entry("VENDA", strategy.short,when=v)




더 많은