Die Price Channel Robot White Box Strategy ist eine einfache mechanische Handelsstrategie, die auf dem Preiskanalindikator basiert. Sie verwendet die oberen und unteren Grenzen des Preiskanals, um Ein- und Ausstiegspunkte zu bestimmen.
Die Kernlogik der Preiskanal-Roboter-White-Box-Strategie ist:
Die Strategie hat auch einige konfigurierbare Parameter:
Durch die Anpassung dieser Parameter kann die Strategie besser an verschiedene Produkte und Marktumgebungen angepasst werden.
Die White Box-Strategie für den Preiskanal-Roboter hat folgende Vorteile:
Zusammenfassend kann gesagt werden, daß es sich um eine einfache, aber praktische Trendstrategie handelt, die nach Parameter-Tuning gute Ergebnisse erzielen kann.
Die Strategie der "White Box"-Price-Channel-Roboter beinhaltet ebenfalls einige Risiken:
Um diese Risiken zu verringern, müssen die folgenden Aspekte optimiert werden:
Es besteht Raum für eine weitere Optimierung der Strategie der "White Box"-Roboter für den Preiskanal:
Diese Optimierungstechniken könnten dazu beitragen, die Stabilität und Rentabilität der Strategie weiter zu verbessern.
Die Price Channel Robot White Box Strategy ist eine einfache, aber praktische Trendfolgestrategie. Sie identifiziert Trendrichtung und Umkehrpunkte, indem sie den Preiskanalindikator verwendet, um Handelsentscheidungen zu treffen. Die Strategie ist leicht zu verstehen und umzusetzen und kann nach Parameter-Tuning anständige Renditen erzielen. Es gibt auch bestimmte Risiken, die durch Optimierung von Parametern und Stop-Loss gemildert werden müssen. Insgesamt hat die Strategie breite Anwendungsperspektiven und Optimierungspotenzial, die es wert sind, erforscht und praktiziert zu werden.
/*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")