
이 전략은 주로 EMA 이동 평균 및 MACD 지표를 사용하여, 시장의 유형 변화를 판단하여, 추락을 추적하는 작업을 수행합니다. 핵심 아이디어는 단기 EMA 라인이 아래에서 장기 EMA 라인을 뚫고 MACD가 동시에 0 축을 위로 통과 할 때, 더 많은 것을하는 것입니다.
이 전략은 이동 평균 지표와 MACD 지표의 혼합이다.
첫째, 그것은 두 개의 다른 길이의 기간의 EMA 지표를 사용, 하나는 25 주기의 EMA 라인, 하나는 50 주기의 EMA 라인. 25 주기의 EMA 라인은 단기 트렌드를 나타낼 수 있습니다, 50 주기의 EMA 라인은 중기 장기 트렌드를 나타낼 수 있습니다.
둘째, 이 전략은 동시에 MACD 지표 판단 신호를 결합한다. MACD 지표는 DIF 라인과 DEA 라인을 포함하며, 단기 및 장기 지수의 평평한 이동 평균의 차이를 나타냅니다. 이 전략은 DIF를 12 일 EMA 빼기 26 일 EMA로 설정한다. DEA 라인은 DIF의 9 일 지수 이동 평균을 나타냅니다.
이 두 지표의 합성으로, 25일 EMA 금포 50일 EMA가 발생하면서 MACD의 DIF 라인이 DEA 라인을 통과하면, 구매 신호가 발생하고, 더 많은 돈을 벌게 된다. 25일 EMA 사형포 50일 EMA가 발생하면서 MACD의 DIF 라인이 DEA 라인을 통과하면, 판매 신호가 발생하고, 공백을 만든다.
이것은 매우 전형적인 쌍방향 전략이며, MACD 지표와 결합하여 다음과 같은 장점을 가진 더욱 신뢰할 수 있는 거래 신호를 생성합니다.
이중 EMA 평선으로, 위프사우 현상과 가짜 브레이크를 피할 수 있으며, 더 신뢰할 수 있는 거래 신호를 생성한다.
통합 MACD 지표는 거래 신호를 더욱 검증하고, EMA 쌍선 가짜 신호의 위험을 피하고, 전략의 실전 효과를 향상시킵니다.
25와 50일선을 단속선으로 사용해서, 파라미터 선택이 더 정확하며, 중단선에서 눈에 띄는 트렌드 변화를 포착할 수 있다.
이 지수에서 큰 지수를 획득할 수 있는 방법은 상가 상승과 하락을 막기 위한 전략이다.
전략 논리는 단순하고 명확하며, 이해하기 쉽고 실행이 용이하며, 양적 초보자도 사용할 수 있습니다.
신중하게 적절한 최적화 매개 변수, 전략이 다른 품종과 시장 환경에 더 잘 적응 할 수 있도록.
이 전략에는 몇 가지 위험도 있습니다.
EMA 평행선에서 잘못된 신호가 발생할 가능성이 여전히 존재하며, 극심한 상황에서는 휘프사우 현상이 발생할 수 있습니다.
MACD 지표 파라미터는 지속적으로 최적화 및 조정해야 하며, 그렇지 않으면 잘못된 신호 또는 신호 지연이 발생할 수 있다.
무효 돌파가 큰 손실을 초래하는 것을 피하기 위해 경보 중지 지점 설정이 합리적인지 여부를 주의해야 합니다.
시스템적 위험으로 인한 손실을 방지하기 위해 시장과 정책 환경의 변화에 주의를 기울여야 합니다.
포지션 규모와 레버리지 수준을 통제해야 하며, 일방적인 대시장 사태가 발생하지 않도록 해야 한다.
이 전략은 다음과 같은 차원에서 최적화될 수 있습니다.
보다 정확하고 실전에서 효과적인 파라미터 조합을 테스트합니다. 예를 들어, 20일과 60일 EMA 평균선을 거래 궤도로 테스트하고, DIF는 10일 EMA와 20일 EMA 차등입니다.
거래량 지표 확인을 늘리고, 낮은 거래량 허위 돌파구를 피하십시오.
ATR과 같은 변동률 지표와 결합하여 더 과학적인 손실을 결정한다.
기계 학습 알고리즘을 사용하여 자동으로 최적화 된 매개 변수를 사용하여 전략 매개 변수가 시장 환경 변화에 동적으로 적응하도록하십시오.
포지션 컨트롤 모듈을 추가하여 거래 성과와 지표의 동력을 측정할 수 있도록 포지션 크기를 조정할 수 있습니다.
이 전략 신호를 더 긴 기간의 차트에 그려서, 의사 결정에 더 긴 방향의 동작을 보조할 수 있다.
이 전략은 이동 평균 지표와 MACD 지표의 장점을 통합하여 쌍 EMA 평균을 통해 질이 높은 K 선의 분류를 판단하고, DIF와 DEA를 통해 MACD 운동량 방향의 매칭을 판단하여, 안정적이고 실전 효과 좋은 추격 격퇴 유형화 전략을 형성한다. 이 전략의 논리는 간단하고 명확하며, 이해하기 쉽고 최적화, 화학 학습자에게 매우 적합하다.
/*backtest
start: 2022-12-05 00:00:00
end: 2023-12-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="EMA+MACD", shorttitle="EMA+MACD", overlay=true)
// Getting inputs
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Oscillator MA Type", type=input.string, defval="EMA", options=["SMA", "EMA"])
sma_signal = input(title="Signal Line MA Type", type=input.string, defval="EMA", options=["SMA", "EMA"])
fast_ma = sma_source == "SMA" ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source == "SMA" ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
len1 = input(title="Len Ema 1 ",type=input.integer,defval=25)
len2 = input(title="Len Ema 2 ",type=input.integer,defval=50)
ema1 = ema(src,len1)
ema2 = ema(src,len2)
bull = crossover(ema1,ema2) and macd > 0
bear = crossover(ema2,ema1) and macd < 0
l1 = bull ? label.new(x=bar_index,y=low,yloc=yloc.belowbar,text="BUY",color=color.green,textcolor=color.white,style=label.style_triangleup) : na
l2 = bear ? label.new(x=bar_index,y=high,yloc=yloc.abovebar,text="SELL",color=color.red,textcolor=color.white,style=label.style_triangledown) : na
strategy.entry("LONG",strategy.long,when=bull)
strategy.entry("SHORT",strategy.short,when=bear)