이 전략은 EMA 크로스오버를 기반으로 거래 신호를 생성하는 트렌드 다음 전략입니다. 빠른 EMA와 느린 EMA 사이의 크로스오버를 사용하여 가격 트렌드의 변화를 결정하고 트렌드의 시작에서 시장에 들어가서 수익을 창출하기 위해 끝으로 출구합니다.
이 전략은 가격 변화에 민감하게 반응하는 기간 20의 더 빠른 EMA와 기간 50의 더 느린 EMA를 사용합니다.
더 빠른 EMA가 느린 EMA를 넘을 때, 그것은 구매 기회를 나타내는 상승 가격 추세를 신호합니다. 더 빠른 EMA가 느린 EMA를 넘을 때, 그것은 판매 기회를 나타내는 하락 추세를 신호합니다.
이 신호를 기반으로, 우리는 그에 따른 거래 결정을 내릴 수 있습니다. 구매 신호가 표시되면 길게 이동하고 판매 신호가 표시되면 짧게 이동합니다. 반대 신호가 표시되면 그에 따라 대응하는 긴 / 짧은 포지션을 닫습니다.
해결책:
이 전략은 다음과 같은 측면에서 개선될 수 있습니다.
가장 수익성 있는 매개 변수를 찾기 위해 다양한 조합을 테스트하여 EMA 매개 변수를 최적화하십시오.
잘못된 신호를 피하기 위해 MACD, KDJ와 같은 다른 지표를 사용하여 필터링 조건을 추가하십시오. 추가 신호가 일치 할 때만 거래를하십시오.
단일 거래 손실을 제어하기 위해 고정 또는 후속 중지와 같은 스톱 손실 메커니즘을 포함합니다.
다른 전략과 결합하는 것을 고려하십시오. 트렌드를 따라 추진력을 타거나, 가격이 과도하게 늘어날 때 반전 포지션을 취하기 위해 반전을 의미합니다.
이것은 매우 전형적인 트렌드 다음 전략이다. 그것은 간단한 빠르고 느린 EMA 크로스오버를 통해 가격 트렌드를 효과적으로 캡처한다. 또한 후진 엔트리, 윙사 손실과 같은 몇 가지 문제가 있다. 그러나 이러한 모든 문제들은 해결책을 가지고 있다. 전반적으로 좋은 실용적인 성능을 위해 매개 변수 조정, 필터링, 스톱 손실 등을 통해 더 향상될 수 있는 좋은 전략 프레임워크를 제공한다.
/*backtest start: 2023-02-20 00:00:00 end: 2024-02-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Habitrade EMA Cross Strategy"), overlay=true //Input for EMA lengths emaShortLength = input.int(20, title="Short EMA Length") emaLongLength = input.int(50, title="Long EMA Length") //Calculate EMAs based on inputs emaShort = ta.ema(close, emaShortLength) emaLong = ta.ema(close, emaLongLength) //Plot the EMAs plot(emaShort, color=color.blue, linewidth=2, title="EMA Short") plot(emaLong, color=color.orange, linewidth=2, title="EMA Long") //Generate long and short signals longCondition = ta.crossover(emaShort, emaLong) shortCondition = ta.crossunder(emaShort, emaLong) //Enter long positions if (longCondition) strategy.entry("Long", strategy.long) //Enter short positions if (shortCondition) strategy.entry("Short", strategy.short) //Close long positions if (shortCondition) strategy.close("Long") //Clos short positions if (longCondition) strategy.close("Short")