
यह एक ट्रेडिंग रणनीति है जो LazyBear के लहर प्रवृत्ति सूचक पर आधारित है। यह रणनीति कीमतों में उतार-चढ़ाव के लहर प्रवृत्ति की गणना करके बाजार में ओवरबॉय और ओवरसोल की स्थिति का आकलन करती है।
यह रणनीति मुख्य रूप से LazyBear के लहर प्रवृत्ति सूचक पर आधारित है। सबसे पहले कीमतों की औसत कीमतों की गणना की जाती है (एपी), फिर एपी के सूचकांक चलती औसत (ईएसए) और निरपेक्ष मूल्य परिवर्तन की सूचकांक चलती औसत (डी) की गणना की जाती है। इसके आधार पर, अस्थिरता सूचकांक (सीआई) की गणना की जाती है, फिर सीआई के सूचकांक चलती औसत की गणना की जाती है, जिससे लहर प्रवृत्ति रेखा (डब्ल्यूटी) प्राप्त होती है। डब्ल्यूटी के बाद में डब्ल्यूटी 1 और डब्ल्यूटी 2 का उत्पादन सरल चलती औसत के माध्यम से किया जाता है। जब डब्ल्यूटी 1 डब्ल्यूटी 2 को पार करता है, तो इसे सोने के रूप में क्रॉस करता है, अधिक; जब डब्ल्यूटी 1 डब्ल्यूटी 2 को पार करता है, तो क्रॉस के रूप में मर जाता है, शून्य।
यह एक बहुत ही सरल लेकिन बहुत ही व्यावहारिक ट्रेंड ट्रैकिंग रणनीति है। इसके मुख्य फायदे हैंः
इस रणनीति के कुछ जोखिम भी हैं:
मुख्य समाधान हैंः
इस रणनीति को और भी बेहतर बनाने के लिए जगह हैः
यह रणनीति एक बहुत ही सरल और व्यावहारिक तरंग प्रवृत्ति ट्रैकिंग रणनीति है। यह कीमतों में उतार-चढ़ाव की प्रवृत्ति की गणना करके, बाजार में ओवरबॉय और ओवरसोल की स्थिति की पहचान करके, डब्ल्यूटी लाइन के गोल्ड क्रॉस और डेथ क्रॉस का उपयोग करके एक व्यापार संकेत भेजता है। रणनीति संचालित करने के लिए सरल है और इसे लागू करना आसान है। लेकिन एक प्रवृत्ति रणनीति के रूप में, इसे शेयर की कीमतों की संवेदनशीलता और स्थिरता के लिए और अधिक अनुकूलन की आवश्यकता है, साथ ही साथ अन्य संकेतकों और तर्क के साथ संरेखित करने की आवश्यकता है ताकि गलत संकेतों से बचा जा सके। कुल मिलाकर, यह एक बहुत ही व्यावहारिक रणनीति टेम्पलेट है जिसमें अनुकूलन के लिए बहुत जगह है।
/*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)