
이동 평균 교차 전략은 이동 평균을 기반으로 한 타이밍 전략이다. 그것은 서로 다른 주기의 이동 평균을 계산하여 그 교차 상황을 판단하여 구매 및 판매 신호를 생성한다. 이 전략은 지수 이동 평균을 보조 판단 지표로 결합하여 신호의 정확성을 더욱 향상시킵니다.
이 전략의 핵심 논리는 두 개의 이동 평균의 교차 상황에 기반한다. 구체적으로, n 일 간 간단한 이동 평균 ((short MA) 과 m 일 간 간단한 이동 평균 ((long MA) 을 각각 계산한다. 짧은 MA가 아래에서 위로 긴 MA를 돌파 할 때, 구매 신호가 발생한다. 짧은 MA가 위에서 아래로 내려가 긴 MA를 때, 판매 신호가 발생한다. 이것은 단기 트렌드가 장기 트렌드에 대한 세탁과 수정을 반영한다.
또한, 이 전략은 x일 지수 이동 평균 ((EMA) 을 보조적인 지표로 도입한다. SMA에 비해 EMA가 더 유동적이며, 가격 변화의 경향을 더 빠르게 반영한다. 그것의 보조적인 역할은, 단기 EMA도 이동 평균의 교차 신호를 확인했을 때만 실제 거래 신호를 유발한다는 것이다. 이것은 일부 허위 신호의 간섭을 피하고, 거래 전략의 안정성을 향상시킨다.
이동 평균 크로스 전략은 다음과 같은 장점이 있습니다.
간단하고 사용하기 쉽다. 이 전략은 단지 두 개의 이동 평균의 교차 상황에 의존하며, 매우 간단하고 이해하기 쉽고 실행된다.
직관적인 이미지 △ 이동 평균은 시장의 추세를 명확하게 반영하고, 교차하는 경우도 매우 직관적이며, 복잡한 계산이 필요하지 않습니다 △
오랜 역사. 이동 평균 전략은 지난 세기 초에 거슬러 올라가며, 100 년 동안의 시장 테스트를 거쳐 기술 분석의 고전적 도구 중 하나가되었습니다.
위험 제어 이동 평균의 일일 변수를 조정하여 거래 신호의 빈도를 조절할 수 있으며, 이로 인해 위험을 제어할 수 있다.
보편적 유연성. 이동 평균 크로스 전략은 다양한 품종과 다양한 시간대에 적용되며 매우 보편적이고 유연한 거래 전략이다.
이 전략에는 몇 가지 위험도 있습니다.
포지션 전환이 빈번하다. 시장이 흔들릴 때, 이동 평균이 빈번하게 교차할 수 있어 포지션 전환이 너무 빈번하다.
지연 발생. 이동 평균은 그 자체로 약간의 지연성을 지니고 있으며, 특히 장기 주기 평균은 단기 거래 기회를 놓칠 수 있습니다.
조정 최적화 필요. 다양한 품종과 시간 주기에서 이동 평균 파라미터를 독립적으로 테스트하고 최적화해야 하며 그렇지 않으면 효과가 좋지 않을 수 있다.
다른 지표와 협력할 수 있다. 단일 이동 평균 전략의 효과는 최적이 아니며, 종종 다른 기술 지표 필터링 신호의 보조가 필요하다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
이동 평균 변수를 조정하여 다른 주기에 적합합니다. 다양한 단기 및 장기 평균 변수 조합을 테스트하여 최적의 변수를 찾을 수 있습니다.
거래량을 증가시키는 보조 판단. 예를 들어, 거래량 돌파 지표를 설정하여 무효 신호를 피하십시오.
변동률 지표의 판단을 증가시킨다. 예를 들어, KDJ, MACD 등이 시장의 실제 움직임을 판단하고, 불확실성 신호를 필터링한다.
기업의 기본 사항을 통합한다. 성과 기대와 같은 매개 변수를 조정하여 전략을 더 미래 지향적으로 만든다.
전략 조합 사용. 다른 전략이나 모델 조합과 함께 사용, 연동 효과를 발휘한다.
이동 평균 경로 전략은 간단한 평선 경로 원칙을 통해 거래 신호의 생성을 구현한다. 그것은 직관적으로 이해하기 쉽고, 변수를 조정하는 유연하며, 위험을 제어할 수 있으며, 실용성이 강한 타이밍 전략이다. 그러나 그 자체는 또한 일정 정도의 지연성과 자주 전환의 위험이 있다. 따라서, 이 전략은 여러 가지 방법으로 최적화 및 조합하여 더 큰 효과를 발휘할 수 있다.
/*backtest
start: 2022-12-25 00:00:00
end: 2023-12-07 05:20:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MA Crossover Strategy", overlay=true)
// Define input parameters
shortLength = input(10, title="Short MA Length")
longLength = input(40, title="Long MA Length")
emaLength = input(20, title="EMA Length")
// Calculate moving averages
shortMA = ta.sma(close, shortLength)
longMA = ta.sma(close, longLength)
colorfulEMA = ta.ema(close, emaLength)
// Create buy and sell conditions
buyCondition = ta.crossover(shortMA, longMA)
sellCondition = ta.crossunder(shortMA, longMA)
// Execute buy and sell orders
if (buyCondition)
strategy.entry("Buy", strategy.long)
strategy.close("Sell")
if (sellCondition)
strategy.entry("Sell", strategy.short)
strategy.close("Buy")
// Color the background based on buy and sell conditions
bgcolor(buyCondition ? color.new(color.blue, 90) : na)
bgcolor(sellCondition ? color.new(color.red, 90) : na)
// Plot moving averages
plot(shortMA, color=color.new(color.blue, 90), title="Short MA")
plot(longMA, color=color.new(color.red, 90), title="Long MA")
// Plot colorful EMA with transparency
plot(colorfulEMA, color=color.new(color.green, 90), title="Colorful EMA")