쿼드 MA 트렌드 스칼퍼 전략은 시장을 이기기 위해 10 분에서 30 분까지 작은 시간 프레임에서 가장 잘 작동합니다.
이 전략은 이동 평균의 두 그룹을 사용합니다. 첫 번째 그룹은 빠른 이동 평균으로 구성됩니다. 길이 1 기간 MA1 및 길이 2 기간 MA2, 그 사이의 교차가 거래 신호를 생성합니다. 두 번째 그룹은 긴 이동 평균으로 구성됩니다. 긴 길이 1 기간 MA3 및 긴 길이 2 기간 MA4, 이는 장기 트렌드 방향을 결정합니다.
롱 포지션은 빠른 MA (MA1 및 MA2) 가 황금색 크로스오버가 있고 긴 MA (MA3 및 MA4) 가 상승 추세를 나타낼 때만 열립니다.
긴 포지션은 빠른 MA1가 느린 MA3보다 낮을 때 닫을 것입니다. 이는 단기 트렌드 전환을 시사합니다.
쇼트의 논리는 대칭적이고 여기서 생략되었습니다.
이 디자인은 전략이 트렌드 방향을 효과적으로 추적하고 범위 제한 시장에서 휘파람을 피하도록 허용합니다. 또한, 장기 및 단기 MAs의 조합은 위험을 제어하기 위해 스톱 로스로 거래에 진입 할 수있는 높은 확률의 수익 기회를 식별하는 데 도움이됩니다.
이 전략의 주요 장점은 다음과 같습니다.
여러 MA를 사용하면 신호 신뢰성이 향상되고 윙사 (wipssaws) 를 피합니다.
장기간 또는 단기간의 시간 프레임 분석은 효과적인 트렌드 추적을 촉진합니다.
단기 스톱 로스는 단일 거래 손실을 제한하는 데 도움이 됩니다.
높은 레버리지와 좋은 수익성을 가진 거래에 적합합니다.
또한 몇 가지 위험이 있습니다.
긴 MAs와 짧은 MAs의 차이로 인해 나쁜 거래가 발생할 수 있습니다. 이러한 것은 조기 출퇴를 위해 사전에 확인해야합니다.
이 전략은 매개 변수 조정에 민감하다. 부적절한 매개 변수는 과도한 거래 또는 신호 지연으로 이어질 수 있다. 최적을 찾기 위해 여러 가지 최적화가 필요하다.
높은 레버리지와 함께, 자본 사용은 마진 콜을 피하기 위해 통제되어야 합니다.
전략을 최적화하는 몇 가지 방법:
더 나은 타이밍을 위해 변동성 수준을 평가하기 위해 변동성 지표를 추가합니다.
실제 높은 거래량을 가진 거래 브레이크에 볼륨 지표를 추가합니다.
글로벌 최적을 찾기 위해 반복 테스트를 통해 MA 길이를 최적화합니다.
시그널 확인을 위해 시간 프레임에 걸쳐 신호를 검사합니다.
쿼드 MA 트렌드 스칼퍼 (Quad MA Trend Scalper) 는 트렌드를 따르는 전형적인 전략이다. 트렌드 방향을 결정하고 주요 트렌드를 따라 포지션을 입력하기 위해 두 그룹의 MA를 사용합니다. 빠른 MA를 사용하여 수익이 빠르게 캡처됩니다. 논리는 간단하고 위험은 쉽게 제어 할 수 있으므로 고주파 거래에 적합합니다. 수익성을 극대화하기 위해 매개 변수 및 논리 최적화로 개선해야하는 몇 가지 잘못된 신호가있을 수 있습니다.
/*backtest start: 2023-11-21 00:00:00 end: 2023-12-10 10:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="Quad MA Trend Scalper Backtest", shorttitle="QMA BACKTEST", overlay=true, pyramiding = 100) // //INPUTS // price = close exponential = input(false, title="Exponential MA") longexponential = input(true, title="Long Exponential MA") src = input(close, title="Source") length1 = input(13, title="MA Fast") length2 = input(21, title="MA Slow") longlength1 = input(54, title="Long MA 1") longlength2 = input(84, title="Long MA 2") // //MAs // ma1 = exponential ? ema(src, length1) : sma(src, length1) ma2 = exponential ? ema(src, length2) : sma(src, length2) ma3 = longexponential ? ema(src, longlength1) : sma(src, longlength1) ma4 = longexponential ? ema(src, longlength2) : sma(src, longlength1) plot(ma1, color = black, linewidth = 2) plot(ma2, color = red, linewidth = 2) plot(ma3, color = blue, linewidth = 2) plot(ma4, color = green, linewidth = 5) long1 = crossover(ma1, ma2) and ma3 > ma4 long2 = crossover(ma1, ma2) and ma3 < ma4 short1 = crossunder(ma1, ma2) and ma3 < ma4 short2 = crossunder(ma1, ma2) and ma3 > ma4 //plotshape(long1, style=shape.triangleup, location=location.belowbar, color=green, size=size.tiny) //plotshape(long2, style=shape.triangleup, location=location.belowbar, color=red, size=size.tiny) //plotshape(short1, style=shape.triangledown, location=location.abovebar, color=green, size=size.tiny) //plotshape(short2, style=shape.triangledown, location=location.abovebar, color=red, size=size.tiny) // //STRATEGY // //LONG if (crossover(ma1, ma2) and ma1>ma4) strategy.entry("Long", strategy.long, comment="Long") strategy.close("Long", when = crossunder(ma1, ma3)) //SHORT if (crossunder(ma1, ma2) and ma1<ma4) strategy.entry("Short", strategy.short, comment="Short") strategy.close("Short", when = crossover(ma1, ma3))