
이 전략은 평행선의 돌파구를 추적하여 흔들리는 시장에서 지속적인 수익을 창출합니다.
이 전략은 주로 평평선의 돌파 원칙에 기초하여 포지션을 구축합니다. MA를 사용하여 다중 평평선을 집약하여 주평선을 형성합니다. 가격이 주평선을 돌파 할 때 거래 신호를 냅니다.
구체적으로, 이 전략은 60주기의 WMA 이중 이동 평균을 메인 평균선으로 사용합니다. 동시에, 가격의 실제 변동 범위를 계산하고, 상하 통로를 도출합니다. 가격이 상하를 돌파할 때 시상하고, 하하를 돌파할 때 시상합니다.
이 전략은 또한 RSI 지표와 EMA 지표를 도입하여 RSI> 50과 가격이 EMA보다 높을 때 더 많이하고 RSI <50과 가격이 EMA보다 낮을 때 더 많은 것을 요구하여 가짜 돌파구를 방지합니다.
또한, 전략은 삼중평균선의 강한 약점을 사용하여 포지션을 종료한다. 삼중평균선의 형식이 약점일 때 ((-1), 탈퇴 지점을 역으로 돌파 통로로 선택한다.
MA 주기 변수를 최적화하고, 삼중 평균선 설정을 조정하고, RSI 변수를 신중하게 사용함으로써 위험을 줄일 수 있다.
이 전략은 전체적으로 충격적인 상황에 매우 적합한 돌파 전략이다. 핵심 아이디어는 MA를 돌파한 포지션을 기반으로 하고, 트렌드 지표 필터링을 보조하며, 충격적인 상황에서 지속적인 수익을 낸다. 동시에 삼중 평행선 판단 역전시기를 조기 퇴출한다. 이 전략의 최적화 공간은 넓으며, 파라미터를 조정하거나, 현장 퇴출 등을 통해 최적화할 수 있으며, 충격적인 상황에서 더 나은 효과를 얻을 수 있다.
/*backtest
start: 2022-10-23 00:00:00
end: 2023-03-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
//exapple bot
strategy('RIPO BOT', shorttitle='RIPO BOT', overlay=true, process_orders_on_close=true, calc_on_order_fills=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
sl_inp = input(0.1, title='Stop Loss %') / 100
tp_inp = input(0.33, title='Take Profit %') / 100
length = input(defval=21)
upper = ta.highest(length)
lower = ta.lowest(length)
lengthChop = input.int(14, minval=1)
ci = 100 * math.log10(math.sum(ta.atr(1), lengthChop) / (ta.highest(lengthChop) - ta.lowest(lengthChop))) / math.log10(lengthChop)
offset = input.int(0, "Offset", minval = -500, maxval = 500)
plot(ci, "CHOP", color=#2962FF, offset = offset)
band1 = hline(61.8, "Upper Band", color=#787B86, linestyle=hline.style_dashed)
hline(50, "Middle Band", color=color.new(#787B86, 50))
band0 = hline(38.2, "Lower Band", color=#787B86, linestyle=hline.style_dashed)
fill(band1, band0, color = color.rgb(33, 150, 243, 90), title = "Background")
rsi = ta.rsi(close, 14)
var float entry_price = na
output = 100 * (close - upper) / (upper - lower)
ema = ta.ema(output, input(defval=13, title='EMA'))
ma(src, len) =>
ta.wma(2 * ta.wma(src, len / 2) - ta.wma(src, len), math.round(math.sqrt(len)))
BBMC = ma(close, 60)
rangema = ta.ema(ta.tr, 60)
upperk = BBMC + rangema * 0.2
lowerk = BBMC - rangema * 0.2
color_bar = close > upperk ? color.blue : close < lowerk ? color.fuchsia : color.gray
ExitHigh = ma(high, 15)
ExitLow = ma(low, 15)
Hlv3 = int(na)
Hlv3 := close > ExitHigh ? 1 : close < ExitLow ? -1 : Hlv3[1]
sslExit = Hlv3 < 0 ? ExitHigh : ExitLow
base_cross_Long = ta.crossover(close, sslExit)
base_cross_Short = ta.crossover(sslExit, close)
codiff = base_cross_Long ? 1 : base_cross_Short ? -1 : na
entry_long = false
entry_short = false
if ta.crossover(close, BBMC) and output > ema
entry_long := true
if ta.crossunder(close, BBMC) and output < ema
entry_short := true
if entry_long and strategy.position_size == 0
entry_price := close
strategy.entry('enter long', strategy.long, comment='ENTER-LONG_BYBIT_MATICUSDT_BOT-NAME_1M_85915e4dc80fb663')
if strategy.position_size > 0
strategy.exit('Stop Loss/TP long', 'enter long', limit=entry_price * (1 + tp_inp), stop = color_bar == color.fuchsia ? BBMC : na, comment='EXIT-LONG_BYBIT_MATICUSDT_BOT-NAME_1M_85915e4dc80fb663')
plot(entry_price * (1 + tp_inp), color=color.new(color.green, 0))
//if entry_short and strategy.position_size == 0
//entry_price := close
//strategy.entry('enter short', strategy.short, comment='ENTER-SHORT_BYBIT_MATICUSDT_BOT-NAME_1M_85915e4dc80fb663')
if strategy.position_size < 0
strategy.exit('Stop Loss/TP short', 'enter short', limit=entry_price * (1 - tp_inp), stop = color_bar == color.blue ? BBMC : na, comment='EXIT-SHORT_BYBIT_MATICUSDT_BOT-NAME_1M_85915e4dc80fb663')
plot(entry_price * (1 + tp_inp), color=color.new(color.green, 0))
// plot(entry_price * (1 - sl_inp), color=color.new(color.red, 0))
plot(rsi, color=color.yellow)
plot(output, title='%R', color=color.new(color.yellow, 0), linewidth=2)
plot(ema, title='EMA', color=color.new(color.aqua, 0), linewidth=2)
plotarrow(codiff, colorup=color.new(color.blue, 35), colordown=color.new(color.fuchsia, 35), title='Exit Arrows', maxheight=20, offset=0)
plot(BBMC, color=color_bar, linewidth=4, title='MA Trendline')