가격 채널 로봇 화이트 박스 전략은 가격 채널 지표에 기반한 간단한 기계적 거래 전략이다. 이 전략은 진입점과 출구점을 결정하기 위해 가격 채널의 상부 및 하부 한계를 사용합니다. 이 전략은 상승 추세에 길고 하락 추세에 짧습니다.
가격 채널 로봇 화이트 박스 전략의 핵심 논리는 다음과 같습니다.
전략은 또한 몇 가지 구성 가능한 매개 변수를 가지고 있습니다:
이러한 매개 변수를 조정함으로써 전략은 다른 제품과 시장 환경에 더 잘 적응할 수 있습니다.
가격 채널 로봇 화이트 박스 전략은 다음과 같은 장점을 가지고 있습니다.
요약하자면, 그것은 단순하면서도 실용적인 트렌드 다음 전략입니다.
가격 채널 로봇 화이트 박스 전략은 또한 몇 가지 위험을 가지고 있습니다:
이러한 위험을 줄이기 위해서는 다음과 같은 측면에서의 최적화가 필요합니다.
가격 채널 로봇 화이트 박스 전략의 추가 최적화에 대한 여지가 있습니다:
이러한 최적화 기술은 전략의 안정성과 수익성을 더욱 향상시키는 데 도움이 될 수 있습니다.
가격 채널 로봇 화이트 박스 전략은 간단하면서도 실용적인 트렌드 다음 전략이다. 거래 결정을 내리기 위해 가격 채널 지표를 사용하여 트렌드 방향과 반전 지점을 식별합니다. 전략은 이해하기 쉽고 구현 할 수 있으며 매개 변수 조정 후 적당한 수익을 얻을 수 있습니다. 또한 매개 변수 최적화 및 스톱 로스를 통해 완화해야하는 특정 위험이 있습니다. 전반적으로 전략은 광범위한 응용 전망과 최적화 잠재력을 가지고 있으며 탐색하고 연습할 가치가 있습니다.
/*backtest start: 2023-02-21 00:00:00 end: 2024-02-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //@version=4 strategy(title = "Robot WhiteBox Channel", shorttitle = "Robot WhiteBox Channel", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_value = 0.1) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") needstop = input(true, defval = true, title = "Stop-loss") lotsize = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %") len = input(50, minval = 1, title = "Price Channel Length") showll = input(true, defval = true, title = "Show lines") showbg = input(false, defval = false, title = "Show Background") fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //Price Channel h = highest(high, len) l = lowest(low, len) center = (h + l) / 2 //Lines pccol = showll ? color.black : na slcol = showll ? color.red : na plot(h, offset = 1, color = pccol) plot(center, offset = 1, color = slcol) plot(l, offset = 1, color = pccol) //Background size = strategy.position_size bgcol = showbg == false ? na : size > 0 ? color.lime : size < 0 ? color.red : na bgcolor(bgcol, transp = 70) //Trading truetime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59) lot = 0.0 lot := size != size[1] ? strategy.equity / close * lotsize / 100 : lot[1] if h > 0 strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = h, when = strategy.position_size <= 0 and truetime) strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = l, when = strategy.position_size >= 0 and truetime) strategy.entry("S Stop", strategy.long, 0, stop = center, when = strategy.position_size[1] <= 0 and needstop) strategy.entry("L Stop", strategy.short, 0, stop = center, when = strategy.position_size[1] >= 0 and needstop) if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all() strategy.cancel("Long") strategy.cancel("Short")