이 전략은 서로 다른 사이클의 이동 평균의 황금 십자 및 죽은 십자 기반의 거래 신호를 생성합니다. 이것은 전형적인 트렌드 추종 전략에 속합니다. 중량 이동 평균 (WMA) 및 적응 이동 평균 (ALMA) 이 주로 사용됩니다.
이 전략은 먼저 ma1이 짧은 주기를 가지고 ma2가 긴 주기를 가진 가격의 중장기 및 단기 이동 평균, ma1과 ma2를 계산합니다. 그 다음 ma1과 ma2 사이의 차이를 ma3로 계산하고 ma3의 평형 이동 평균 ma4를 계산합니다. ma3가 ma4를 위로 넘을 때 구매 신호가 생성됩니다. 하향으로 넘을 때 판매 신호가 생성됩니다.
따라서, ma3는 가격의 중장기 트렌드를 반영하고, ma4는 ma3에서 약간의 소음을 필터하여 더 신뢰할 수있는 거래 신호를 형성합니다. ma1과 ma2의 주기는 매개 변수 maLen에 의해 설정됩니다. 사용자는 다른 시장에 대한 최상의 설정을 달성하기 위해 매개 변수를 최적화 할 수 있습니다.
이 전략의 장점은 다음과 같습니다.
이 전략에는 몇 가지 위험도 있습니다.
전략은 다음 측면에서 최적화 될 수 있습니다:
이 전략은 이동 평균의 황금 십자 및 죽은 십자 기반의 거래 신호를 생성합니다. ALMA 및 다중 주기 가격 평균화를 사용하여 신호가 더 정확하고 신뢰할 수 있습니다. 조정 가능한 매개 변수는 널리 적용되도록합니다. 또한 논리는 간단하고 명확하며 트렌딩 시장에서 잘 수행됩니다. 따라서 실용적 가치가 높습니다.
/*backtest start: 2024-01-08 00:00:00 end: 2024-01-15 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Oracle Move Strategy", overlay=true) maLen = input(30, "ma period") mode = input(defval="wma", options=["alma", "ema", "wma"]) price = close ma(src, len) => mode=="alma" ? alma(src, len, 0.85, 6) : mode=="ema"? ema(src, len) : wma(src, len) ma1 = ma(price, floor(maLen / 2)) ma2 = ma(price, maLen) ma3 = 2.0 * ma1 - ma2 ma4 = ma(ma3, floor(sqrt(maLen))) //plot(ma1, color = red) //plot(ma2, color = green) plot(ma3, color = blue) plot(ma4, color = orange) mafast = ma3 maslow = ma4 if (crossover(mafast, maslow)) strategy.entry("MA2CrossLE", strategy.long, comment="MA2CrossLE") if (crossunder(mafast, maslow)) strategy.entry("MA2CrossSE", strategy.short, comment="MA2CrossSE") //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)