크로싱 이동 평균 전략은 다른 기간의 이동 평균을 계산하고 그 크로스오버를 거래 신호로 사용합니다. 이 전략은 기술 분석 전략에 속합니다. 이 전략은 빠른, 중간 및 느린 이동 평균을 결합하여 거래 신호를 판단하여 시장 소음을 효과적으로 필터하고 트렌드를 식별 할 수 있습니다.
이 전략은 다른 기간과 함께 3 개의 이동 평균을 계산합니다: 34 기간 EMA, 89 기간 EMA 및 200 기간 EMA. 먼저이 3 개의 MAs를 계산하고, 명확한 식별을 위해 다른 색상과 라인 너비로 그래프화합니다.
거래 신호는 서로 다른 MA 사이의 교차를 기반으로 생성됩니다. 빠른 MA가 중간 MA를 넘을 때 구매 신호를 유발합니다. 빠른 MA가 중간 MA를 넘을 때 판매 신호를 유발합니다. 이것은 공격적인 거래 전략에 속합니다.
과도한 잡음을 필터링하기 위해 전략은 느린 MA를 사용한다. 빠른 MA가 느린 MA를 동시에 넘을 때만 실제 구매 및 판매 신호가 발생한다. 예를 들어, 빠른 MA가 중간 및 느린 MA를 넘을 때만 구매 신호가 생성된다. 이것은 중요한 트렌드 변화가 발생할 때만 거래가 발생하도록 보장한다.
크로싱 이동 평균 전략은 전형적인 기술 분석 전략이다. 시장 반전 지점을 결정하기 위해 서로 다른 시간 프레임의 MAs 사이의 관계를 관찰한다. 빠른, 중간 및 느린 MAs의 동시에 사용은 트렌드에 신속하게 반응하고 가짜 신호를 효과적으로 필터할 수 있다. 적절한 매개 변수 조정으로 다른 시장 환경에 유연할 수 있다. 그럼에도 불구하고, MAs의 지연 문제는 고려되어야 한다. 전반적으로, 전략은 직관적인 논리를 가지고 있으며 라이브 시장에서 검증 및 최적화 할 가치가 있다.
/*backtest start: 2022-10-30 00:00:00 end: 2023-11-05 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="EMA 34, 89, 200 e cruzamento das EMA", overlay=true) // Input options fastMALen = input(title="Fast MA", defval=34) midMALen = input(title="Medium MA", defval=89) slowMALen = input(title="Slow MA", defval=200) // Calculate values fastMA = ema(close, fastMALen) midMA = ema(close, midMALen) slowMA = ema(close, slowMALen) // Plot values plot(series=fastMA, color=yellow, title="Fast MA", linewidth=3, trackprice=false) plot(series=midMA, color=red, title="Mid MA", linewidth=4, trackprice=false) plot(series=slowMA, color=white, title="Slow MA", linewidth=5) // Highlight crossovers longCondition = crossover(ema(close, 34), ema(close, 200)) if (longCondition) strategy.entry("COMPRA FINAL", strategy.long) longCondition1 = crossover(ema(close, 34), ema(close, 89)) if (longCondition1) strategy.entry("COMPRA INICIAL", strategy.long) shortCondition = crossunder(ema(close, 34), ema(close, 200)) if (shortCondition) strategy.entry("VENDE FINAL", strategy.short) shortCondition1 = crossunder(ema(close, 34), ema(close, 89)) if (shortCondition1) strategy.entry("VENDE INICIAL", strategy.short)