এটি LazyBear
এই কৌশলটির মূলটি হ'ল লেজিবিয়ারের ওয়েভ ট্রেন্ড সূচক। এটি প্রথমে গড় মূল্য (এপি), তারপরে এপি (ইএসএ) এর এক্সপোনেনশিয়াল চলমান গড় এবং পরম মূল্য চলাচল (ডি) গণনা করে। ইএসএ এবং ডি এর উপর ভিত্তি করে কৌশলটি ভোলাটিলিটি সূচক (সিআই) গণনা করে, যা তারপরে ওয়েভ ট্রেন্ড লাইন (ডাব্লুটি) তৈরি করতে একটি এক্সপোনেনশিয়াল চলমান গড়কে খাওয়ায়। ডাব্লুটিটি আরও সহজ চলমান গড় ব্যবহার করে ডাব্লুটি 1 এবং ডাব্লুটি 2 তে প্রক্রিয়াজাত করা হয়। যখন ডাব্লুটি 1 ডাব্লুটি 2 এর উপরে অতিক্রম করে, এটি সোনার ক্রসটি ট্রিগার করে এবং দীর্ঘ যায়। যখন ডাব্লুটি 1 ডাব্লুটি 2 এর নীচে অতিক্রম করে, এটি মৃত্যুর ক্রসটি ট্রিগার করে এবং সংক্ষিপ্ত হয়।
এটি একটি খুব সহজ কিন্তু ব্যবহারিক প্রবণতা অনুসরণকারী কৌশল। প্রধান সুবিধাগুলি হলঃ
এই কৌশলটির কিছু ঝুঁকি রয়েছেঃ
প্রধান সমাধানগুলি হলঃ
আরও অপ্টিমাইজেশনের সুযোগ রয়েছেঃ
সংক্ষেপে, এটি একটি খুব সহজ এবং ব্যবহারিক তরঙ্গ প্রবণতা অনুসরণকারী কৌশল। দামের ওঠানামা এর তরঙ্গ প্রবণতা মডেলিং দ্বারা, এটি 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)