
이중평균선 흔들림 돌파 전략은 이중평균선 시스템을 사용하는 단선 거래 전략이다. 이 전략은 가격 통로와 이중 브린 벨트를 기반으로 거래 신호를 구축하고, 빠른 RSI 지표에 보조하여 과매매를 판단하여 입시 및 출구 신호를 생성한다. 이 전략은 중단선 가격 경향의 돌파구를 포착하여 수익을 창출하기 위해 고안되었다.
이중평균선 흔들림 돌파 전략은 20주기 길이의 가격 채널과 브린 밴드를 주요 거래 지표로 사용합니다. 가격 채널은 최고 가격과 최저 가격의 평평선으로 구성되어 현재 가격의 흔들림 범위를 나타냅니다. 브린 밴드는 가격 채널의 중축과 표준 차이를 구성하며, 띠 모양의 영역은 가격의 변동 범위를 더 직관적으로 묘사합니다. 가격이 채널의 하향 궤도에 가까워지면 가격이 흔들림 범위를 돌파하고 새로운 추세를 형성 할 수 있음을 나타냅니다.
구체적으로, 빠른 RSI가 5보다 낮으면 과매매 지역으로 간주되며, 빠른 RSI가 99을 초과하면 과매매 지역으로 간주된다. 또한, K선 실물 방향, 가격 혁신 높음 (新低) 과 같은 요소를 결합하여 판단하여 머리 가짜 돌파구가 발생하지 않도록 해야 한다. 위의 조건이 충족되면 구매 및 판매 신호가 발생한다.
이중 평균선 흔들림 돌파 전략의 가장 큰 장점은 중간과 짧은 선의 가격 경향의 전환점을 포착하여 수익을 창출하는 것입니다. 단일 평균선과 통로에 비해 이중 브린 밴드는 가격 변동과 용량을 더 직관적으로 반영합니다. 20일, 60일 평균선과 같은 더 긴 주기 지표에 비해 가격 변화에 더 신속하게 반응하여 돌파구를 포착하는 성공률이 높습니다. 또한, 빠른 RSI 지표와 결합하면 가짜 돌파구를 효과적으로 필터링 할 수 있습니다. 따라서 이 전략은 수익률을 최대화 할 수 있습니다.
쌍평준선 흔들림 돌파 전략에는 위험이 있다. 첫째, 중단계 거래는 그 자체로 더 높은 손실의 위험을 가지고 있다. 두 번째, 빠른 RSI 지표가 과매매 판단에 미치는 영향은 시장 감정에 영향을 받는다. 시장의 구조적 변화가 있을 때, 이러한 보조 지표의 효용은 감소한다. 마지막으로, 다른 요소와 함께 거래 가격, 거래량, 거래량과 같은 결정의 정확성을 향상시킬 수 있다.
대책은 적절하게 중지 손실의 폭을 조정하고, 상향상황에서 중단 손실의 지점을 완화하고, 하향상황에서 축소하는 것이다. 또한, 더 많은 보조 지표를 충분히 고려하고, 어떤 지표 또는 두 가지 지표에 의존하는 것을 피한다. 판단 효과가 감소할 때, 적절하게 포지션 회피 위험을 줄인다.
이중평균선 흔들림 돌파 전략에는 추가적인 최적화 공간이 있다. 첫째, 변수 최적화. 더 많은 주기 변수를 테스트하여 최적의 변수 조합을 찾을 수 있다. 둘째, 모델 최적화. 기계 학습 모델 훈련의 도입으로 오버 바이 오버 셀 영역을 더 정확하게 판단한다. 셋째, 시간 프레임 최적화. 일선, 60분 등과 같은 다른 시간 프레임에 따라 테스트하여 최적의 적용 시나리오를 결정한다. 넷째, 조건 최적화. 더 많은 가격 지표를 추가하여 필터링 신호를 판단한다.
이중평등선 흔들림 돌파 전략은 이중 브린밴드 시스템을 구축하여 가격의 짧은 돌파구를 포착하는 효과적인 트렌드 추적 전략이다. 이 전략은 성공률이 높고, 반응이 빠르고, 효율적으로 수익을 올릴 수 있다. 매개 변수 최적화, 모델 최적화, 시간 프레임 선택 등의 수단을 통해 전략의 성능을 더욱 향상시킬 수 있다. 이 전략은 경험 많은 양적 거래자를 위한 양적 개선 및 적용에 적합하다.
/*backtest
start: 2023-01-07 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Noro's Bands Strategy v1.4", shorttitle = "NoroBands str 1.4", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
color = input(true, "Use ColorBar")
usecb = input(true, "Use CryptoBottom")
usersi = input(true, "Use RSI")
usemm = input(true, "Use min/max")
needbb = input(false, defval = false, title = "Show Bands")
needbg = input(false, defval = false, title = "Show Background")
needlo = input(false, defval = false, title = "Show Locomotive")
src = close
//Fast RSI
fastup = rma(max(change(src), 0), 2)
fastdown = rma(-min(change(src), 0), 2)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
//CryptoBottom
mac = sma(close, 10)
lencb = abs(close - mac)
sma = sma(lencb, 100)
max = max(open, close)
min = min(open, close)
//PriceChannel
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2
//dist
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma
hd2 = center + distsma * 2
ld2 = center - distsma * 2
//Trend
trend = close < ld and high < hd ? -1 : close > hd and low > ld ? 1 : trend[1]
//Lines
colo = needbb == false ? na : black
plot(hd2, color = colo, linewidth = 1, transp = 0, title = "High band 2")
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band")
plot(ld2, color = colo, linewidth = 1, transp = 0, title = "Low band 2")
//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)
//Signals
up = trend == 1 and ((close < open or color == false) or close < hd) and (min < min[1] or usemm == false) ? 1 : 0
dn = trend == -1 and ((close > open or color == false) or close > ld) and (max > max[1] or usemm == false) ? 1 : 0
up2 = close < open and lencb > sma * 3 and min < min[1] and fastrsi < 10 ? 1 : 0 //CryptoBottom
//dn2 = close > open and len > sma * 3 and max > max[1] and fastrsi > 90 ? 1 : 0 //CryptoBottom
up3 = fastrsi < 5 ? 1 : 0
//dn3 = fastrsi > 99 ? 1 : 0
//Locomotive
uploco = trend == 1 and close < open and min < min[1] and close < center ? 1 : 0
plotarrow(needlo == true and uploco == 1 ? 1 : 0, colorup = black, colordown = black, transp = 0)
longCondition = up == 1 or (up2 == 1 and usecb == true) or (up3 == 1 and usersi == true)
if (longCondition)
strategy.entry("Long", strategy.long, needlong == false ? 0 : na)
shortCondition = dn == 1
if (shortCondition)
strategy.entry("Short", strategy.short, needshort == false ? 0 : na)