이 전략은 이동 평균 크로스오버를 기반으로 하는 모멘텀 트레이딩 전략이다. 트레이딩 신호를 식별하기 위해 서로 다른 기간을 가진 두 개의 기하급수 이동 평균 (EMA) 을 사용합니다. 빠른 EMA가 느린 EMA를 넘을 때 구매 신호가 생성됩니다. 빠른 EMA가 느린 EMA를 넘을 때 판매 신호가 생성됩니다.
이 전략의 핵심 논리는 이동 평균 크로스오버 시스템에 기반합니다. EMA는 기하급수적인 이동 평균을 의미합니다. EMA의 계산 공식은: $$EMA_t = \frac{P_t \times k}{1+k}+\frac{EMA_{t-1}\times(1-k)}{1+k}$$ 여기서 $P_t$는 현재 하루의 종료 가격, $EMA_{t-1}$는 전날의 EMA 값, $k = \frac{2}{n+1}$, 그리고 n은 EMA 기간입니다.
이 전략의 빠른 EMA 기간은 55로 설정되고 느린 EMA 기간은 34로 설정되어 있습니다. 단기 EMA가 긴 기간 EMA를 밑에서 위로 넘을 때, 단기 이동 평균이 장기 기간 EMA를 위로 이끌기 시작하여 황금 십자가 구매 신호를 생성하는 것을 나타냅니다. 반대로, 단기 EMA가 위에서 아래로 긴 기간 EMA를 넘을 때, 단기 이동 평균이 장기 기간 EMA를 뒤로 하락하기 시작하여 죽음의 십자가 판매 신호를 생성하는 것을 나타냅니다.
이 전략의 장점은 다음과 같습니다.
이 전략을 사용하면 몇 가지 위험이 있습니다.
이 전략은 다음과 같은 측면에서 향상될 수 있습니다.
요약하자면, 이것은 매우 고전적이고 실용적인 단기 거래 전략이다. 간단한 명확한 신호와 유연한 응용 공간을 갖추고 있다. 매개 변수 조정, 필터 메커니즘, 위험 통제 등을 통해 전략의 성능을 지속적으로 향상시킬 수 있어 고주파 내일 거래에 중요한 도구가 된다. 전반적으로, 이 전략은 정량화 거래의 기본 모듈로 강력한 응용 가치를 가진 매우 실용적이다.
/*backtest start: 2023-01-10 00:00:00 end: 2024-01-16 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("mohammad tork strategy", overlay=true) // Input parameters lengthShortEMA = input(55, title="Short EMA Length") lengthLongEMA = input(34, title="Long EMA Length") // Calculate EMAs emaShort = ta.ema(close, lengthShortEMA) emaLong = ta.ema(close, lengthLongEMA) // Conditions for Long Signal longCondition = ta.crossover(emaLong, emaShort) // Conditions for Short Signal shortCondition = ta.crossunder(emaLong, emaShort) // Execute Long Signal strategy.entry("Long", strategy.long, when = longCondition) // Execute Short Signal strategy.entry("Short", strategy.short, when = shortCondition) // Plot EMAs on the chart plot(emaShort, color=color.blue, title="Short EMA") plot(emaLong, color=color.red, title="Long EMA") // Plot Long Signal Icon with Buy Label plotshape(series=longCondition, title="Long Signal", color=color.green, style=shape.triangleup, location=location.abovebar, size=size.small, text="Buy") // Plot Short Signal Icon with Sell Label plotshape(series=shortCondition, title="Short Signal", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small, text="Sell")