이 전략은 9일 평균선과 20일 평균선의 교차점을 사용하여 트렌드 방향을 판단하여 구매 및 판매 전략을 수립합니다. 이동 평균선, K선 및 수량 가격 지표를 통합하여 전형적인 단선 거래 전략입니다.
이것은 9일 평균선과 20일 평균선의 교차로에 기초한 간단한 트렌드 추적 전략입니다. 구체적으로, 그것은 다음과 같은 몇 가지 부분을 포함합니다:
K 선의 색을 설정한다. 오늘의 종결 가격이 어제보다 높을 때 K 선은 녹색으로 설정한다. 오늘의 종결 가격이 어제보다 낮을 때 K 선은 빨간색으로 설정한다.
9일 평균선의 색을 설정한다. 9일 평균선이 상승하고 20일 평균선이 상승할 때, 9일 평균선은 녹색으로 설정한다. 9일 평균선이 하락하고 9일 평균선이 하락할 때, 빨간색으로 설정한다. 나머지는 검은색으로 설정한다.
20일평균선의 색을 설정한다. 20일평균선이 올라갈 때 검은색으로 설정하고, 내려갈 때 검은색으로 설정하고, 나머지는 변하지 않는다.
200일 평균선을 그리고, 어두운 파란색으로 설정한다.
9일 평균선과 20일 평균선의 교차점을 그리고, 연한 붉은색으로 설정한다.
거래량 가중 평균 가격 ((VWAP) 을 그리고, 흰색으로 설정한다.
9일 평균선 위에 20일 평균선을 착용할 때, 더 많이 하고, 9일 평균선 아래 20일 평균선을 착용할 때, 공백을 한다.
위의 부분은 평균선, K선, 교차점 및 수량값 지표를 사용하여 시장 추세와 신호를 판단하는 전형적인 기술 분석 전략이다.
이것은 간단하고 실용적인 단선 전략으로 다음과 같은 장점이 있습니다.
조작은 간단하고 쉽게 익힐 수 있다. 단지 두 평행선의 관계를 관찰하면 된다.
회귀가 작고, 쇼트라인 운영에 적합하다. 9일과 20일 평균선은 일정하게 부드럽고, 쇼트라인 시장 소음의 영향을 줄일 수 있다.
트렌드 신호를 쉽게 발견할 수 있다. 평행선 교차는 명확한 트렌드 전환 신호이며, 놓칠 수 없다.
다양한 기술 지표를 통합하여 의사 결정의 질을 향상시킵니다. K선, 평균선 및 측정값 지표를 결합하여 트렌드 방향을 더 포괄적으로 판단 할 수 있습니다.
코드가 간결하고, 테스트 및 최적화가 쉽다는 것을 구현한다. MQL4 언어는 이러한 전략 논리를 빠르게 구현하고, 파라미터를 조정할 수 있다.
다른 품종과 주기에도 적용할 수 있다. 주식, 외환, 디지털 통화 등은 OHLC 데이터가 있는 한 이 전략을 사용할 수 있다.
이 전략은 장점이 있지만 다음과 같은 위험도 있습니다.
9일 및 20일 평균선 파라미터는 최적화가 필요합니다. 다른 시장 주기에서 효과는 큰 차이가 있을 수 있습니다.
허위 돌파와 회귀를 일으킬 수 있다. 평선 교차 신호는 빠르게 청산될 수 있다.
트렌드 흔들림 시장을 처리할 수 없다. 시장이 오랫동안 명확한 추세에 있을 때, 이 전략은 자주 거래 손실을 초래한다.
충격 조정 위험을 감수해야 한다. 잘못된 상장 시, 충격 상황이 손실을 증가시킬 수 있다.
급격한 중요한 소식에 반응할 수 없다. 이 전략은 역사 K선에 전적으로 의존하고, 중요한 소식이 가격에 미치는 영향을 고려할 수 없다.
위와 같은 위험에 대해, 적당한 지분 비율을 조정하여, 손해 방지 전략을 사용하거나, 최적화 매개 변수를 사용하거나, 다른 요소와 결합하여 사용할 수 있습니다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
평균선 변수를 최적화하여 최적의 주기 조합을 찾는다. 다양한 단기 및 중기 평균선 주기들을 시도하여 가장 잘 맞는 조합을 찾는다.
MACD, KD, 브린 밴드 등과 같은 다른 지표 필터링 신호를 추가하십시오. 잘못된 신호를 줄일 수 있습니다.
손해 중지 전략을 추가하십시오. 이동 중지 또는 지수 이동 중지를 설정하여 단편 손실을 제어하십시오.
트렌드 필터 조작과 결합 . 트렌드가 분명할 때만 거래에 참여하여 흔들리는 시장을 피 .
자금 관리 전략을 최적화한다. 포지션 크기, 스톱 로즈 폭, 스톱 로즈 추적 등의 세부 사항을 설정하면 전략 안정성을 높일 수 있다.
다양한 품종과 주기에서 데이터를 테스트한다. 전략이 더 거칠게 되도록 파라미터를 조정한다.
기계 학습과 같은 고급 기술을 추가한다. RNN, LSTM 등의 방법을 사용하여 특징 공학과 변수 최적화를 한다.
이 전략은 전체적으로 간단한 실용적인 단기 트렌드 따라 전략이다. K선, 평균선 및 수량 가격 지표와 결합하여 트렌드 방향을 결정하여 트렌드 신호를 효과적으로 식별 할 수 있습니다. 그러나 이 전략에는 위험도 있으며, 장기적으로 안정적으로 사용하기 위해 변수, 중지 및 자금 관리에 대한 최적화가 필요합니다. 기계 학습과 같은 새로운 기술은 전략의 효과를 향상시킬 수 있습니다.
/*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)