이 전략은 부린띠를 사용하여 가격 통로를 결정하고 피보나치 회귀 비율을 결합하여 지지 저항 수준을 판단하여 자동 거래를 구현합니다. 이 전략은 부린띠의 돌파구를 식별하고 회귀 지점을 추적하여 높은 확률 회귀 지역에서 구매 또는 판매 조작을 수행합니다.
브린 벨트에서 중간, 상단, 하단 레일을 계산한다
SMA와 ATR을 이용하여 중간선, 상단선, 하단선을 계산
시장의 변동에 따라 부린 벨트 통로가 확장되고 수축합니다.
피보나치 회수율을 계산해
ATR과 피보나치 수열의 비율의 곱셈을 회수 비율로
중궤도에 따라 여러 피보나치 회전 위치를 계산한다
감시 가격이 브린을 뚫고 오르락 내리락
가격 부진이 발생하면 더 많은 것을 고려해야 합니다.
가격 하락 시 공백을 고려하라
피포나치 회수점 근처에 입점 및 중지 스톱을 설정
피포나치 철수 구역으로 환불
다른 쪽으로 스톱 스톱을 설정합니다
브린 띠는 시장의 변동 범위와 동향을 명확하게 식별합니다.
피보나치 후퇴는 저항의 핵심 지지를 장악하는 것보다 낫습니다.
지표 신호와 결합하여 자동 거래가 가능합니다.
다시 복귀하면 성공률이 높아지고, 추종을 피할 수 있다.
매개 변수를 조정하여 다른 주기 및 품종에 적응할 수 있다
브린 벨트 돌파구가 가짜 돌파구일 수도 있고, 잘못된 신호를 만들어 낼 수도 있다.
“비포나 합의”로 언제 다시 돌아올지 정확히 예측할 수 없습니다.
스톱포인트 선택이 잘못되면 손실이 커질 수 있습니다.
너무 크고 작은 회귀가 전략에 영향을 미칠 수 있습니다.
변수가 불합리하거나 시장의 방향성이 지속될 때 전략이 실패
브린 띠 판단 논리를 최적화하고, 양력 지표, 역동적인 회수 영역 조정 등을 고려합니다.
트렌드 및 지원 저항에 대한 판단을 높이기 위해 브린 대역을 최적화합니다.
양을 증가시키는 것은 돌파 신호의 효능을 판단하는 지표이다.
기계학습을 통해 회귀 확률을 판단합니다.
더 많은 기술 지표와 함께 거래 신호를 검증합니다.
품종 특성과 거래시기에 따라 합리적인 매개 변수를 선택합니다.
철수 구역의 강도와 변동성에 대한 적시 조정
이 전략은 브린띠와 피보나치 회귀비 지표의 장점을 통합하여 트렌드 방향을 식별하고 높은 확률 회귀 포인트를 입력한다. 파라미터 최적화, 검증 지표를 추가, 회귀 지역을 동적으로 조정하는 등의 방법으로 위험 증진 효과를 줄일 수 있다. 전략 공간은 여전히 확장 가능하며, 양자 에너지 지표, 기계 학습 등의 증진 효과를 추가하는 등 지속적인 최적화에서 성숙되고 있다.
/*backtest
start: 2023-08-27 00:00:00
end: 2023-09-26 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(shorttitle="BBands Fibo", title="Bollinger Bands Fibonacci Ratios", overlay=true)
length = input(20, minval=1, type=input.integer, title="Length")
src = input(close, title="Source")
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)
fibo1 = input(defval=1.618, title="Fibonacci Ratio 1")
fibo2 = input(defval=2.618, title="Fibonacci Ratio 2")
fibo3 = input(defval=4.236, title="Fibonacci Ratio 3")
fiboBuyReverse = input(false, title = "Use Reverse Buy?")
fiboBuy = input(options = ["Fibo 1", "Fibo 2", "Fibo 3"],defval = "Fibo 1", title="Fibonacci Buy")
fiboSellReverse = input(false, title = "Use Reverse Sell?")
fiboSell = input(options = ["Fibo 1", "Fibo 2", "Fibo 3"],defval = "Fibo 1", title="Fibonacci Sell")
sma = sma(src, length)
atr = atr(length)
ratio1 = atr * fibo1
ratio2 = atr * fibo2
ratio3 = atr * fibo3
upper3 = sma + ratio3
upper2 = sma + ratio2
upper1 = sma + ratio1
lower1 = sma - ratio1
lower2 = sma - ratio2
lower3 = sma - ratio3
plot(sma, style=0, title="Basis", color=color.orange, linewidth=2, offset = offset)
upp3 = plot(upper3, transp=90, title="Upper 3", color=color.teal, offset = offset)
upp2 = plot(upper2, transp=60, title="Upper 2", color=color.teal, offset = offset)
upp1 = plot(upper1, transp=30, title="Upper 1", color=color.teal, offset = offset)
low1 = plot(lower1, transp=30, title="Lower 1", color=color.teal, offset = offset)
low2 = plot(lower2, transp=60, title="Lower 2", color=color.teal, offset = offset)
low3 = plot(lower3, transp=90, title="Lower 3", color=color.teal, offset = offset)
fill(upp3, low3, title = "Background", color=color.new(color.teal, 95))
targetBuy = fiboBuy == "Fibo 1" ? upper1 : fiboBuy == "Fibo 2" ? upper2 : upper3
targetBuy := fiboBuyReverse == false ? targetBuy : fiboBuy == "Fibo 1" ? lower1 : fiboBuy == "Fibo 2" ? lower2 : lower3
buy = low < targetBuy and high > targetBuy
targetSell = fiboSell == "Fibo 1" ? lower1 : fiboSell == "Fibo 2" ? lower2 : lower3
targetSell := fiboSellReverse == false ? targetSell : fiboSell == "Fibo 1" ? upper1 : fiboSell == "Fibo 2" ? upper2 : upper3
sell = low < targetSell and high > targetSell
strategy.entry("Buy", true, when = buy)
strategy.entry("Sell", false, when = sell)