CM 다중 EMA 크로스오버 전략

저자:차오장, 날짜: 2023-09-21 12:12:56
태그:

전반적인 설명

이 전략은 8일, 13일, 21일 및 55일 EMA를 결합하여 중장기 트렌드를 포착하는 것을 목표로 그 사이에 교차가 발생하면 긴 신호와 짧은 신호를 생성합니다.

전략 논리

  1. 8일, 13일, 21일 및 55일 EMA를 계산합니다.

  2. 8일, 13일, 21일 EMA가 모두 55일 EMA를 넘으면 긴 신호가 발사됩니다.

  3. 8일, 13일, 21일 EMA가 55일 EMA 아래로 넘어가면 단축 신호가 발사됩니다.

  4. 골든 크로스에서 장차, 죽음의 크로스에서 단차

  5. 역차로에서 가까운 위치

이점 분석

  1. 복수의 EMA 조합이 가짜 브레이크를 필터링하는 데 효과적입니다.

  2. 55일 EMA는 앵커로 함락되는 것을 피합니다.

  3. 백테스트는 지난 10년 동안 안정적인 연간 수익을 보여줍니다.

  4. 시각적 크로스오버, 조작이 간단하고 초보자 친화적

위험 분석

  1. 고정된 매개 변수는 모든 제품과 시장에 적합하지 않을 수 있습니다. 독립적인 최적화가 필요합니다.

  2. 다양한 시장에서 효과적이지 않고, 빈번한 정지 및 빈번한 정지 위험이 있습니다.

  3. 단 하나의 거래 손실을 제한할 수 없는 스톱 손실이 없습니다.

  4. 트레이드 빈도는 너무 높거나 낮을 수 있습니다. 매개 변수를 조정해야 합니다.

  5. 10년 샘플은 제한되어 있습니다.

최적화 방향

  1. EMA 기간 조합을 테스트해서 가장 잘 맞는 것을 찾습니다.

  2. 부진을 방지하기 위해 볼륨 필터를 추가합니다.

  3. 고정 또는 이동 스톱 손실을 구현합니다.

  4. 거래당 위험을 낮추기 위해 포지션 크기를 최적화합니다.

  5. 길고 짧은 양쪽을 모두 거래합니다.

  6. 더 많은 제품과 더 긴 기간으로 테스트를 확장합니다.

요약

이 전략은 직관적인 시각적인 방법으로 EMA 교차를 사용하여 중장기 트렌드를 식별합니다. 장점은 가시성과 단순성입니다. 그러나 매개 변수는 더 많은 최적화가 필요하며 위험 통제가 부족합니다. 손실을 제한하기 위해 더 많은 기술적 지표가 필터 신호와 정지 표시가 추가되어야합니다. 또한 제품 전반에 대한 대규모 샘플 백테스트와 세련 및 검증 시간이 필요하며 견고한 트렌드 다음 시스템이됩니다.


/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 6h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ColinMccann18
//@version=4

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// --------------------------------------------------------------RULES------------------------------------------------------------------------------
// - VISUALLY REPRESENTS THE CROSSING OF 8,13,21,55 EMA'S FROM KROWNS PROGRAM 
strategy(title="CM EMA Trend Cross STRAT", shorttitle="CM EMA Strat", overlay=true)

ema8  = ema(close,8)
ema13 = ema(close, 13)
ema21 = ema(close, 21)
ema55 = ema(close, 55)

//PLOT
plot(ema8,  title="EMA 1",linewidth=2, color=#00eeff)
plot(ema13, title="EMA 2",linewidth=2, color=#fff900)
plot(ema21, title="EMA 3",linewidth=2, color=#42ff0f)
plot(ema55, title="EMA 4",linewidth=2, color=#8b49ff)

//LOGIC---------------------------------------------------------------------------------------------------------------------------------
emacrossover = crossover(ema21, ema55) and ema8 and ema13 > ema55
emacrossunder = crossunder(ema21, ema55) and ema8 and ema13 < ema55

//Long----------------------------------------------------------------------------------------------------------------------------------
longCondition = emacrossover
closelongCondition = emacrossunder

strategy.entry("Long", strategy.long, qty=na, when=longCondition)
strategy.close("Close Long", when=closelongCondition)

//Short----------------------------------------------------------------------------------------------------------------------------------
shortCondition = emacrossunder
closeshortCondition = emacrossover

strategy.entry("Short", strategy.short,qty=na, when=shortCondition)
strategy.close("Close Short", when=closeshortCondition)



더 많은