리소스 로딩... 로딩...

MA와 EMA의 크로스 오버 트렌드 역전 전략

저자:차오장, 날짜: 2023-09-20 16:54:46
태그:

전반적인 설명

이 전략은 EMA와 MA의 크로스오버를 사용하여 전형적인 트렌드 다음 전략에 속하는 트렌드 반전을 결정합니다.

전략 논리

  1. EMA와 MA를 각각 지정된 기간으로 계산합니다.

  2. MA보다 높은 EMA의 크로스오버는 구매 신호를 생성합니다.

  3. MA 이하의 EMA 크로스오버는 판매 신호를 생성합니다.

  4. 특정 달과 날짜 범위에서만 거래를 설정할 수 있습니다.

  5. 한 번에 한 방향으로만 잡으세요.

  6. 간단하고 명확한 규칙

장점

  1. EMA와 MA의 크로스오버는 트렌드 반전 기회를 포착할 수 있습니다.

  2. 날짜 필터는 주요 사건에 대한 잘못된 거래를 피합니다.

  3. 한 방향만 유지하면 불필요한 역거래가 줄어듭니다.

  4. 자본 사용 효율이 높습니다.

  5. 단기 트렌드 거래에 적합합니다.

위험성

  1. 크로스오버는 잘못된 신호를 가지고 불필요한 손실을 일으킬 수 있습니다.

  2. 거래당 손실 규모에 대한 효과적인 통제가 없습니다.

  3. 스톱 로스 없이 더 큰 손실 위험

  4. 딱딱한 날짜 설정은 거래 기회를 놓칠 수 있습니다.

  5. 부적절한 매개 변수는 성능에 부정적인 영향을 미칩니다.

강화

  1. 최적값을 찾기 위해 다른 MA 기간을 테스트합니다.

  2. 크로스오버에 추가 필터를 평가하세요.

  3. 매 거래에 대한 손해를 통제하기 위해 스톱 손실을 포함합니다.

  4. 유연성을 유지하기 위해 날짜 필터 규칙을 최적화하십시오.

  5. 실제 연구들은 수익을 창출합니다.

  6. 동적 위치 크기를 고려해 보세요.

결론

이 전략은 EMA와 MA의 크로스오버 반전을 간단하고 효율적으로 거래하지만 개선할 여지가 있습니다. 매개 변수 최적화 및 위험 통제와 같은 추가 정교화는 안정적인 단기 시스템으로 전환 할 수 있습니다.


//@version=2
strategy(title = "MA + EMA Crossover Strategy ",shorttitle="eMA", overlay = true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100,commission_type=strategy.commission.percent,commission_value=0.1,initial_capital=100000)


emaLength =input(34)

maLength = input(89)

ema=ema(close,emaLength)
ma=sma(close,maLength)

plot(ema,linewidth=3,color=green)
plot(ma,linewidth=3,color=red)
longCond= crossover(ema,ma)
shortCond=crossover(ma,ema)





monthfrom =input(8)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)



if (  longCond    and  month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil) 
    strategy.entry("LONG", strategy.long, stop=close, oca_name="TREND",  comment="LONG")
    
else
    strategy.cancel(id="LONG")
    



if ( shortCond   and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil ) 

    strategy.entry("SHORT", strategy.short,stop=close, oca_name="TREND",  comment="SHORT")
else
    strategy.cancel(id="SHORT")
    




더 많은