9과 20 이동 평균 크로스오버 전략

저자:차오장, 날짜: 2023-09-28 11:17:10
태그:

전반적인 설명

이 전략은 트렌드 방향을 결정하고 거래 결정을 내리기 위해 9 일 및 20 일 이동 평균의 크로스오버를 사용합니다. 이동 평균, 촛불 및 볼륨 가격 분석을 통합하여 전형적인 단기 거래 전략입니다.

전략 논리

이것은 9일 및 20일 이동 평균의 교차에 기반한 간단한 트렌드를 따르는 전략입니다. 구체적으로 다음과 같은 부분을 포함합니다.

  1. 촛불 색상을 설정합니다. 촛불은 오늘 닫기 가격이 어제보다 높으면 녹색이고 낮으면 빨간색입니다.

  2. 9일 MA의 색을 설정합니다. 9일 MA가 올라가면 녹색이고 20일 MA가 올라가면 빨간색입니다. 9일 MA가 내려가면 빨간색이고 20일 MA가 내려가면 검은색입니다.

  3. 20일 MA의 색을 설정합니다. 20일 MA가 올라가면 검은색이고, 내려가면 검은색입니다. 그렇지 않으면 변경되지 않습니다.

  4. 해군에서 200일간의 MA를 그려보세요.

  5. 9일 MA와 20일 MA의 교차점을 파란색으로 그려라.

  6. 부피 중량 평균 가격 (VWAP) 을 흰색으로 표시합니다.

  7. 9일 MA가 20일 MA를 넘을 때 길게, 그 아래로 넘을 때 짧게

위는 이동 평균, 촛불, 크로스오버 포인트 및 볼륨 가격 분석을 결합하여 시장 추세와 신호를 결정합니다. 전형적인 기술 분석 전략입니다.

장점

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

  1. 사용하기 쉽죠. 두 MA 사이의 관계를 관찰해보세요.

  2. 단기 거래에 적합한 소액 마이너드: 9일 및 20일 MAs는 평형 효과를 가지고 시장 소음을 줄입니다.

  3. 트렌드 신호를 쉽게 식별할 수 있습니다. MA 크로스는 명확한 트렌드 반전 신호입니다.

  4. 더 나은 결정을 위해 여러 기술적 지표를 통합합니다. 촛불, MAs 및 부피 가격 분석은 추세를 포괄적으로 보여줍니다.

  5. 간단하고 깨끗한 코드 쉽게 테스트 및 최적화를 위해. MQL4는 빠른 구현 및 매개 변수 튜닝을 허용합니다.

  6. 다른 제품과 시간 프레임에 적용됩니다. 그것은 OHLC 데이터를 가진 모든 제품에 작동합니다.

위험성

이 전략의 장점에도 불구하고 다음과 같은 위험도 있습니다.

  1. MA 매개 변수는 다른 시장에 최적화되어야 합니다.

  2. 잘못된 브레이크와 후퇴에 유연합니다. 신호는 빠르게 무효화 될 수 있습니다.

  3. 범위에 묶인 시장을 처리 할 수 없습니다. 트렌드 없는 시장에서 빈번한 손실이 발생할 수 있습니다.

  4. 위프사 (Whipsaws) 에 취약합니다. 잘못된 짧은 신호는 불안한 시장에서 손실을 증가시킬 수 있습니다.

  5. 주요 뉴스에 반응할 수 없습니다.

위험을 해결하기 위해 포지션 크기를 조정하거나 스톱 로스를 사용하거나 매개 변수를 최적화하거나 다른 요소와 결합하는 것을 고려하십시오.

최적화

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

  1. 다양한 시장에 가장 적합한 조합을 찾기 위해 MA 기간을 최적화하십시오.

  2. 신호 필터에 MACD, KD, 볼링거 밴드 등 다른 지표를 추가하면 잘못된 신호를 줄일 수 있습니다.

  3. 손실을 제한하기 위해 후속 스톱 손실과 같은 스톱 손실 전략을 추가하십시오.

  4. 명백한 추세에 따라만 거래하고 범위에 묶인 시장을 피하십시오.

  5. 안정성을 향상시키기 위해 포지션 사이즈, 스톱 로스, 트레일 스톱 로스 등을 포함한 돈 관리 모델을 최적화하십시오.

  6. 다른 제품과 시간 프레임에서 성능을 테스트하고 매개 변수를 조정합니다.

  7. RNN 및 LSTM와 같은 기계 학습 모델을 적용하여 기능 엔지니어링 및 매개 변수 최적화를 위해

결론

요약하자면, 이것은 간단하고 실용적인 단기 트렌드 추적 전략이다. 그것은 MA 교차를 사용하여 트렌드를 식별하고 결정 결정에 촛불, MA 및 볼륨 가격 분석을 통합합니다. 그러나 매개 변수 최적화, 스톱 로스 및 돈 관리를 통해 해결해야 할 몇 가지 위험이 있습니다. 기계 학습은 성능을 더욱 향상시킬 수 있습니다. 전반적으로, 그것은 조사하고 적용할 가치가있는 양적 거래에 신뢰할 수있는 접근 방식을 제공합니다.


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

//@version=1
strategy("Dieyson daytrade EMA 9+20+200+VWAP 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=2)
plot(ema(close,9), color=col28, style=line, linewidth=2)
plot(ema(close,9), color=col38, style=line, linewidth=2)

//MM20 Colorful

MMgreen = ema(close,20)>ema(close[1],20)
MMred = ema(close,20)<ema(close[1],20)
col = (MMgreen ? color(black,0) : na)
col2 = (MMred ? color(black,0) : na)
col3 = (not MMgreen and not MMred ? color(black,0) : na)
col4 = color(navy,0)
plot(ema(close,20), color=col, style=line, linewidth=1)
plot(ema(close,20), color=col2, style=line, linewidth=1)
plot(ema(close,20), color=col3, style=line, linewidth=1)
plot(ema(close,200), color=col4, 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,9), ema(close,200)) ? ema(close,9) : na, style = cross, color=fuchsia, transp=0,linewidth = 4)

colorvwap = color(white,0)
plot(vwap, color=colorvwap, style=line, linewidth=1)

c = crossover(ema(close,9), ema(close,20)) and ema(close,9) > ema(close,20)
v = crossunder(ema(close,9), ema(close,20))

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




더 많은