
이 전략은 다양한 주기에서 이동 평균을 조합하여 트렌드 방향을 결정하고, 유한차차별법 근사함수를 사용하여 가능한 반전점을 예측합니다. 이 전략은 시간 단위의 낮은 변동성 통화 쌍에 적용됩니다.
이 전략은 동시에 20시, 40시, 80시의 간단한 이동 평균을 사용한다. 종전 가격이 이 3개의 이동 평균보다 높을 때, 상승 추세로 정의되고, 종전 가격이 이 3개의 이동 평균보다 낮을 때, 하락 추세로 정의된다. 최저 가격이 이 3개의 이동 평균보다 높거나, 최고 가격이 이 3개의 이동 평균보다 낮을 때만, 추세가 확인된다.
가능한 역점을 예측하기 위해, 전략은 3기 중간 이동 평균의 제한적 차차법을 사용하여 1차 변수를 근사한다. 1차 변수가 긍정할 때 상승 추세가 안정된 것을 나타내고, 1차 변수가 부정할 때 하향 추세가 안정된 것을 나타낸다.
거래 규칙은 다음과 같습니다.
빠른 선이 중간 선보다 높고, 중간 선이 느린 선보다 높고, 1차 계수가>0일 때, 더 많이 한다.
빠른 선이 중선보다 낮고, 중선이 느린 선보다 낮고, 1차 계수가 <0일 때 공백을 다.
다중 헤드 스톱은 1차 변수가 <=0일 때;
공허 헤드 정지 1차 변수>=0일 때.
이 전략은 다음과 같은 장점을 가지고 있습니다.
트렌드를 판단하기 위해 다중 이동 평균 조합을 사용하여 트렌드를 판단하는 것이 더 신뢰할 수 있습니다.
지수가 역점을 예측하여 적시에 손실을 막고, 소액으로 회수할 수 있습니다.
전략 논리는 간단하고 명확하며, 실행을 이해하기 쉽고, 초보자 학습에 적합합니다.
트렌드 뒤의 반전만 하면, 을 피하고, 승률이 높다.
이 전략에는 몇 가지 위험도 있습니다.
이동 평균 조합은 불안정한 상황에서 잘못된 신호를 보낼 수 있습니다.
导向反转信号는 지연될 수 있으며, 손실을 완전히 피할 수 없습니다.
스톱포인트 설정이 잘못되면 손실이 커질 수 있습니다.
이러한 위험에는 이동 평균의 변수를 최적화하고, 스톱 포지션을 조정하고, 다른 지표와 결합하여 개선할 수 있습니다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
이동 평균의 주기를 최적화하여 다른 시장의 특성에 더 적합하게 만듭니다.
다른 종류의 이동 평균, 예를 들어 지수 이동 평균을 시도하십시오.
변동률 지표를 사용하여 동적 스톱로드를 설정합니다.
다른 지표와 함께 확인하여 잘못된 신호를 피하십시오.
이 이동 평균 조합 트렌드 전략은, 다중 이동 평균을 사용하여 트렌드 방향을 판단하고, 배역을 사용하여 역점을 예측할 수 있으며, 위험을 효과적으로 제어할 수 있으며, 중단계 운영에 적합하다. 전략은 간단하고 사용하기 쉽고, 최적화하기 쉽고, 초보자 학습 연습에 매우 적합한 트렌드 추적 전략이다. 추가적인 최적화를 통해 전략 매개 변수를 다른 품종에 더 잘 적응시킬 수 있으므로 더 나은 효과를 얻을 수 있다.
/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Big 3",overlay=true, default_qty_type=strategy.percent_of_equity)
// enter on Arrows
// take profit on touch with 80 SMA, gray, or at discretion
fast = sma(close,20)
mid = sma(close,40)
slow = sma(close,80)
plot(fast,linewidth=1)
plot(mid,linewidth=2)
plot(slow,linewidth=4)
isUptrend = close > fast and close > mid and close > slow
isDowntrend = close < fast and close < mid and close < slow
confirmed = (low > fast and low > mid and low > slow) or (high < fast and high < mid and high < slow)
deriv = 3 * mid[0] - 4 * mid[1] + mid[2]
stableUptrend = (fast > mid) and (mid > slow) and (deriv > 0)
stableDowntrend = (fast < mid) and (mid < slow) and (deriv < 0)
barcolor(isUptrend ? green : isDowntrend ? red : gray)
plotshape(not confirmed[1] and confirmed and isUptrend ? close : na,style=shape.arrowup,location=location.belowbar,color=green)
plotshape(not confirmed[1] and confirmed and isDowntrend ? close : na,style=shape.arrowdown,location=location.abovebar,color=red)
stop = na
//stop = input(1000, "Stop")
strategy.entry("long", strategy.long, when=(stableUptrend), stop=stop)
strategy.close("long", when=(deriv <= 0))
strategy.entry("short", strategy.short, when=(stableDowntrend), stop=stop)
strategy.close("short", when=(deriv >= 0))