이 전략은 이동 평균과 부린 밴드의 조합을 통해 이중 지표 검증 신호를 사용하여 트렌드를 판단하고 거래한다. 전략은 빠른 및 느린 이동 평균의 금 포크를 더하고, 죽은 포크를 공백으로 이용한다. 동시에 부린 밴드의 경로를 돌파하는 것은 보조 검증 신호로 전략의 안정성을 높인다.
빠른 선과 느린 선의 이동 평균을 계산하고, 빠른 선이 느린 선을 통과할 때 다중 신호를 생성하고, 하단 선이 공백 신호를 생성한다. 부린 대역의 상단 및 하단 신호를 동시에 계산한다. 가격이 동시에 부린 대역의 상단 또는 하단 궤도를 돌파할 때만 이동 평균의 거래 신호를 확인한다. 이렇게 하면 가짜 돌파가 걸리지 않도록 한다.
평균과 브린 벨트 주기를 적절히 줄일 수 있고, 위험을 제어하기 위해 파라미터 조합을 최적화할 수 있다.
이 전략은 이중 지표 검증 신호를 통합하여 가짜 신호를 줄일 수 있으며, 중·장기 라인 보유에 적합하다. 매개 변수 최적화 등으로 더 나은 효과를 얻을 수 있다.
/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("MA-Zorrillo",overlay=true)
ma_short= sma(close,8)
ma_long= sma(close,89)
entry_ma = crossover (ma_short,ma_long)
exit_ma = crossunder (ma_short,ma_long)
BBlength = input(24, minval=1,title="Bollinger Period Length")
BBmult = 2 // input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
BBbasis = sma(close, BBlength)
BBdev = BBmult * stdev(close, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
entry_bb = crossover(source, BBlower)
exit_bb = crossunder(source, BBupper)
vs_entry = false
vs_exit = false
for i = 0 to 63
if (entry_bb[i])
vs_entry := true
if (exit_bb[i])
vs_exit := true
entry = entry_ma and vs_entry
exit = exit_ma and vs_exit
strategy.entry(id="long_ma",long=true,when=entry)
strategy.close(id="long_ma", when=exit)
strategy.entry(id="short_ma",long=false,when=exit)
strategy.close(id="short_ma",when=entry)