
이 전략은 여러 기간의 SMA 평균선을 계산하고 평균값을 취하여 평균선 지표를 구성한다. 가격 상승이 평균선을 뚫을 때 구매 신호를 발생시키고, 가격이 하락이 평균선을 뚫을 때 판매 신호를 발생시키는 것이 전형적인 평균선 교차 전략이다.
이 전략은 여러 시간대 SMA의 평균을 통해, False Breakout를 제거하여 곡선을 효과적으로 평평하게 할 수 있습니다. 단일 평균선에 비해 더 높은 안정성을 가지고 있습니다.
일부 평균주기를 적절히 줄이고, 다른 지표 확인을 추가함으로써 이러한 위험을 줄일 수 있습니다.
이 전략은 전체적인 아이디어가 명확하고, 여러 시간 동안의 평균적인 통합을 통해 트렌드를 효과적으로 식별할 수 있는, 안정적으로 실용적인 전략이다. 그러나 우리는 또한 그것의 지연성과 잘못된 정보의 위험에 주의를 기울여야 한다. 추가적으로 최적화 파라미터를 설정하고, 확인 지표와 같은 수단을 추가함으로써, 이 전략을 지속적으로 개선하여 강력한 수치화 거래 도구로 만들 수 있다.
/*backtest
start: 2023-11-20 00:00:00
end: 2023-11-27 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("STRATEGY AVERAGE MULTI_SMA", overlay=true)
sma1 = sma(close,input(title="SMA 1", defval=8))
sma2 = sma(close,input(title="SMA 2", defval=21))
sma3 = sma(close,input(title="SMA 3", defval=50))
sma4 = sma(close,input(title="SMA 4", defval=100))
sma5 = sma(close,input(title="SMA 5", defval=200))
mediaSMA= (sma1+sma2+sma3+sma4+sma5)/5
//color mediaSMA
MediaUP = mediaSMA>mediaSMA[1]
colorUP = (MediaUP ? #3CFF35 : na)
MediaDOWN = mediaSMA<mediaSMA[1]
colorDOWN =(MediaDOWN ? #FF0F03 : na)
colorN =(not MediaUP and not MediaDOWN and mediaSMA==mediaSMA[1] ? white : na )
plot(mediaSMA,title="Avarege MULTI_SMA UP", color=colorUP, style=circles, linewidth=2, transp=0)
plot(mediaSMA,title="Avarege MULTI_SMA DOWN", color=colorDOWN, style=circles, linewidth=2, transp=0)
plot(mediaSMA,title="Avarege MULTI_SMA UP NEUTRAL", color=colorN, style=circles, linewidth=2, transp=0)
//plot(sma1,color=blue,linewidth=1, style=line,transp=0,title="SMA 1")
//plot(sma2,color=yellow,linewidth=1, style=line,transp=0,title="SMA 2")
//plot(sma3,color=green,linewidth=1, style=line,transp=0,title="SMA 3")
//plot(sma4,color=purple,linewidth=1, style=line,transp=0,title="SMA 4")
//plot(sma5,color=red,linewidth=1, style=line,transp=0,title="SMA 5")
// Strategy
//BUY
comprar=close>mediaSMA and mediaSMA>mediaSMA[1]
fechar=close<mediaSMA and mediaSMA<mediaSMA[1]
strategy.entry("BUY",strategy.long,when=comprar)
strategy.entry("SELL",strategy.short, when=fechar)
//SELL
vender=close<mediaSMA and mediaSMA<mediaSMA[1]
fechar2=close>mediaSMA and mediaSMA>mediaSMA[1]
strategy.entry("SELL",strategy.short, when=vender)
strategy.entry("BUY", strategy.long,when=fechar2)