Dies ist eine Handelsstrategie, die auf dem Wave Trend-Indikator von LazyBear basiert. Die Strategie identifiziert die Marktstimmung durch Berechnung des Wellentrends von Kursschwankungen und trifft entsprechend lange und kurze Entscheidungen.
Der Kern dieser Strategie ist der Wellen-Trend-Indikator von LazyBear. Er berechnet zuerst den durchschnittlichen Preis (AP), dann den exponentiellen gleitenden Durchschnitt von AP (ESA) und die absolute Preisbewegung (D). Basierend auf ESA und D berechnet die Strategie den Volatilitätsindex (CI), der dann in einen exponentiellen gleitenden Durchschnitt eingespeist wird, um die Wellen-Trendlinie (WT) zu erzeugen. WT wird weiter in WT1 und WT2 verarbeitet, indem einfache gleitende Durchschnitte verwendet werden. Wenn WT1 über WT2 kreuzt, löst es das goldene Kreuz aus und geht lang. Wenn WT1 unter WT2 geht, löst es das Todeskreuz aus und geht kurz.
Dies ist ein sehr einfacher, aber praktischer Trend, der der Strategie folgt.
Diese Strategie birgt einige Risiken:
Die wichtigsten Lösungen sind:
Es gibt Raum für weitere Optimierungen:
Zusammenfassend ist dies eine sehr einfache und praktische Wellen-Trend-Following-Strategie. Durch die Modellierung des Wellentrends von Kursschwankungen identifiziert sie überkaufte und überverkaufte Marktbedingungen, um Handelssignale mit WT
/*backtest start: 2023-11-18 00:00:00 end: 2023-12-18 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // // @author LazyBear // // If you use this code in its original/modified form, do drop me a note. // //@version=4 // === INPUT BACKTEST RANGE === fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12) fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31) fromYear = input(defval = 2021, title = "From Year", type = input.integer, minval = 1970) thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12) thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31) thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970) // === INPUT SHOW PLOT === showDate = input(defval = true, title = "Show Date Range", type = input.bool) // === FUNCTION EXAMPLE === start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => true // create function "within window of time" n1 = input(10, "Channel Length") n2 = input(21, "Average Length") obLevel1 = input(60, "Over Bought Level 1") obLevel2 = input(53, "Over Bought Level 2") osLevel1 = input(-60, "Over Sold Level 1") osLevel2 = input(-53, "Over Sold Level 2") ap = hlc3 esa = ema(ap, n1) d = ema(abs(ap - esa), n1) ci = (ap - esa) / (0.015 * d) tci = ema(ci, n2) wt1 = tci wt2 = sma(wt1,4) plot(0, color=color.gray) plot(obLevel1, color=color.red) plot(osLevel1, color=color.green) plot(obLevel2, color=color.red, style=3) plot(osLevel2, color=color.green, style=3) plot(wt1, color=color.white) plot(wt2, color=color.fuchsia) plot(wt1-wt2, color=color.new(color.blue, 80), style=plot.style_area) //Strategy strategy(title="T!M - Wave Trend Strategy", overlay = false, precision = 8, max_bars_back = 200, pyramiding = 0, initial_capital = 1000, currency = currency.NONE, default_qty_type = strategy.cash, default_qty_value = 1000, commission_type = "percent", commission_value = 0.1, calc_on_every_tick=false, process_orders_on_close=true) longCondition = crossover(wt1, wt2) shortCondition = crossunder(wt1, wt2) strategy.entry(id="Long Entry", comment="buy", long=true, when=longCondition and window()) strategy.close("Long Entry", comment="sell", when=shortCondition and window()) //strategy.entry(id="Short Entry", long=false, when=shortCondition)