
이 전략은 부린띠의 금분리선을 이용해서, 평선형태 판단과 결합하여 회귀 거래를 한다. 가격이 부린띠의 금분리선을 접촉할 때 구매 신호로 보고, 가격의 균형 회귀 특성을 이용해서 이익을 얻는다.
스마가 아닌 vwma를 브린 띠의 중간 궤도로 사용하면 가격의 이동 동향을 더 잘 반영할 수 있다.
금분열은 중요한 지지/저항 지역으로, 회귀를 위한 근거를 제공합니다.
평균자책점 다단계로, 큰 상승세를 보장합니다.
고정된 손실은 단위 손실을 통제합니다.
금분열선은 확실한 지지가 아니기 때문에 가격이 곧바로 넘어갈 수 있습니다.
고정된 스톱 손실은 너무 무단일 수 있으며 시장의 변동에 따라 조정하는 것이 고려되어야합니다.
평균선 다중 머리 배열도 가짜 돌파구일 수 있으며, 더 많은 지표와 함께 판단해야 한다.
회귀 길이가 불확실하고, 합리적인 휴식지 지점을 설정해야 한다.
브린 밴드 주기, 표준 차이의 배수, 고정 스톱 손실 비율 등과 같은 다양한 파라미터 조합을 테스트할 수 있습니다.
MACD, KD 등과 같은 시장의 추세와 회귀 확률을 판단하는 더 많은 지표를 추가할 수 있습니다.
동적 중지, ATR 중지 또는 추적 중지에 따라 고려할 수 있습니다.
이동식 차단, 분기식 차단 등의 차단 전략을 최적화할 수 있습니다.
이 전략은 불린 반지 금분열선을 이용해서 평형 회귀 거래를 하고 거래 논리가 명확하고, 파라미터를 설정하는 것이 간단하고, 회수할 수 있는 등의 장점을 가지고 있다. 그러나 또한 특정한 위험이 존재하며, 더 많은 기술 지표 판단과 손해/정지 도구를 추가하여 더 많은 테스트와 최적화를 필요로 한다. 실제로 적용되기 전에.
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mohanee
//@version=4
strategy(title="Bollinger Band with Fib Golden Ratio (0.618)", shorttitle="Bollinger Band with Fib Golden Ratio" , overlay=true, pyramiding=1, default_qty_type=strategy.percent_of_equity, default_qty_value=20, initial_capital=10000, currency=currency.USD)
length = input(50,title="BB Length" , minval=1)
src1 = input(hlc3, title="Source")
//mult1 = input(1.33, minval=0.001, maxval=50)
mult = input(1.5,title="multplier", minval=0.001, maxval=50)
stopLoss=input(5,title="Stop Loss",minval=1)
basis = vwma(src1, length)
dev = mult * stdev(src1, length)
//dev3 = mult3 * stdev(src, length)
upper_618= basis + (0.618*dev)
lower_618= basis - (0.618*dev)
//lower_618_dev3= basis - (0.618*dev3)
plot_upper618= plot(upper_618, color=color.purple, linewidth=2, title="0.618")
plot(basis, color=color.purple,style=plot.style_circles, linewidth=2)
plot_lower618= plot(lower_618, color=color.purple, linewidth=2, title="0.618 entry")
//plot_lower618_dev3= plot(lower_618_dev3, color=color.red, linewidth=1, title="0.618 stop")
//plot_lower618= plot(lower_618, color=color.purple, linewidth=1, title="0.618 entry")
ema200=ema(close,200)
ema50=ema(close,50)
plot (ema200, title="ema200", color=color.orange, linewidth=2)
plot (ema50, title="ema50", color=color.blue , linewidth=2)
longCondition= ema50 > ema200
strategy.entry(id="BB_Fib618", long=true, when = longCondition and ( close < lower_618 or low <= lower_618) )
strategy.close(id="BB_Fib618", comment="points="+tostring(close - strategy.position_avg_price, "###.##") , when = strategy.position_size >= 1 and crossover(close,upper_618 ))
//stoploss exit
stopLossVal = strategy.position_size>=1 ? strategy.position_avg_price * ( 1 - (stopLoss/100) ) : 0.00
strategy.close(id="BB_Fib618", comment="SL="+tostring(close - strategy.position_avg_price, "###.##"), when=abs(strategy.position_size)>=1 and close < stopLossVal ) //and close > strategy.position_avg_price )