Ini adalah strategi perdagangan berdasarkan indikator Trend Wave LazyBear. Strategi ini mengidentifikasi sentimen pasar melalui perhitungan tren gelombang fluktuasi harga, dan membuat keputusan panjang dan pendek sesuai.
Inti dari strategi ini adalah indikator Trend Wave LazyBear
Ini adalah tren yang sangat sederhana namun praktis mengikuti strategi.
Ada beberapa risiko untuk strategi ini:
Solusi utama adalah:
Ada ruang untuk optimasi lebih lanjut:
Singkatnya, ini adalah strategi wave following yang sangat sederhana dan praktis. Dengan memodelkan tren wave dari fluktuasi harga, ini mengidentifikasi kondisi pasar overbought dan oversold untuk menghasilkan sinyal perdagangan menggunakan 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)