
یہ حکمت عملی LazyBear کے کمپریشن کی متحرک اشارے پر مبنی ہے، جس میں ایک متحرک فلٹر شامل کیا گیا ہے، اعداد و شمار کے ذرائع کو تبدیل کر دیا گیا ہے، اور ایک خطرے کے انتظام کے نظام کو شامل کیا گیا ہے، جس میں ایک بار پھر وقت کی مدت کو اپنی مرضی کے مطابق کیا جاسکتا ہے.
اس حکمت عملی کا استعمال کرتے ہوئے برن بینڈ اشارے اور Keltner چینل اشارے قیمت چینل کا حساب لگانے کے لئے، جب قیمت ایک چینل کو توڑنے کے طور پر، بڑھتی ہوئی اتار چڑھاؤ کے لئے ایک سگنل کے طور پر. یہ LazyBear کی کمپریشن کی رفتار اشارے کے ساتھ مل کر، جس میں قیمت کی رفتار کی سمت کا تعین کرنے کے لئے لکیری رجعت کا استعمال کرتا ہے.
حکمت عملی میں ایک حرکیاتی فلٹر شامل کیا گیا ہے ، جو صرف اس وقت تجارت کا اشارہ کرتا ہے جب حرکیات کی مطلق قیمت حد سے تجاوز کر جاتی ہے۔ جب اتار چڑھاؤ کی کمپریشن ((چینل کے اندر سخت) ہوتی ہے ، اور جب حرکیاتی فلٹر گزر جاتا ہے تو ، حکمت عملی رجحان کی سمت کا فیصلہ کرتی ہے ، زیادہ کام کرتی ہے یا خالی کرتی ہے۔ اس کے ساتھ ہی خطرے کو کنٹرول کرنے کے لئے اسٹاپ نقصان ، اسٹاپ اسٹاپ اور ٹریکنگ اسٹاپ کو بھی ترتیب دیتی ہے۔
اس حکمت عملی میں متعدد اشارے کے فیصلے شامل ہیں ، جو زیادہ جامع ہیں۔ خطرے کے انتظام کے طریقہ کار کو شامل کیا گیا ہے ، جو انفرادی نقصانات کو محدود کرسکتا ہے۔ اتار چڑھاؤ کی کمپریشن کے بعد قیمت کے رجحان کی سمت کا وقت پر فیصلہ کرنے کے قابل ہے۔ پیرامیٹرز اپنی مرضی کے مطابق ہیں ، اور ان کی موافقت ہے۔
خطرہ بنیادی طور پر موجود ہے: جھوٹے توڑنے سے غلط فیصلہ ہوتا ہے۔ پیرامیٹرز کی ترتیب غلط ہے ، وقت پر ریورس کرنے میں ناکامی۔ اسٹاپ نقصان کو توڑنے سے ہونے والے نقصان میں توسیع ہوتی ہے۔ آپ ان خطرات کو کم کرنے کے لئے پیرامیٹرز کو بہتر بنا سکتے ہیں ، رسک مینجمنٹ پیرامیٹرز کو ایڈجسٹ کرسکتے ہیں ، مناسب قسم اور تجارت کے وقت کا انتخاب کرسکتے ہیں۔
دوسرے اشارے کے فلٹرنگ سگنل جیسے کہ حجم اشارے کے ساتھ مل کر غور کیا جاسکتا ہے۔ متحرک حجم کی کمی کو زیادہ درست طریقے سے ایڈجسٹ کریں۔ خطرے کو مزید کنٹرول کرنے کے لئے واپسی کی روک تھام کو ترتیب دیں۔ مزید اقسام کے اعداد و شمار کے اثرات کی جانچ کریں۔ یہ اصلاحات حکمت عملی کو زیادہ مستحکم اور عام بنا سکتی ہیں۔
اس حکمت عملی میں قیمتوں کے رجحانات اور اتار چڑھاؤ کا زیادہ جامع اندازہ ہے ، جس میں اعلی درجے کی انضمام ہے ، خطرے کے کنٹرول کے اقدامات بہتر ہیں ، جس میں اصلاح کی سمت کے مطابق مزید بہتری لائی جاسکتی ہے ، اور اتار چڑھاؤ کی کمپریشن کے بعد قیمتوں میں پھوٹ پڑنے کے لئے اس میں مضبوط موافقت ہے۔
/*backtest
start: 2024-01-05 00:00:00
end: 2024-02-04 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// @version=4
// Strategy based on LazyBear Squeeze Momentum Indicator
// © Bitduke
// All scripts: https://www.tradingview.com/u/Bitduke/#published-scripts
strategy(shorttitle="SMS", title="Squeeze Momentum Strategy", overlay=false )
length = input(12, title="BB Length")
mult = input(2.0, title="BB MultFactor")
lengthKC = input(16, title="KC Length")
mult_kc = input(1.5, title="KC MultFactor")
//FILTERS
useMomAverage = input(false, title="Filter for Momenutum value", type=input.bool)
MomentumMin = input(20, title="Min for momentum")
// Calculate BB
src = ohlc4
ma_1 = sma(src, length)
ma_2 = sma(src, lengthKC)
range_ma = sma(high - low, lengthKC)
dev = mult * stdev(src, length)
upper_bb = ma_1 + dev
lower_bb = ma_1 - dev
upper_kc = ma_2 + range_ma * mult_kc
lower_kc = ma_2 - range_ma * mult_kc
sqz_on = lower_bb > lower_kc and upper_bb < upper_kc
sqz_off = lower_bb < lower_kc and upper_bb > upper_kc
no_sqz = sqz_on == false and sqz_off == false
val = linreg(src - avg(avg(highest(hl2, lengthKC), lowest(low, lengthKC)), sma(hl2, lengthKC)), lengthKC, 0)
bcolor = iff(val > 0, iff(val > nz(val[1]), color.lime, color.green), iff(val < nz(val[1]), color.red, color.maroon))
scolor = no_sqz ? color.blue : sqz_on ? color.black : color.aqua
plot(val, color=bcolor, style=plot.style_histogram, linewidth=4)
plot(0, color=scolor, style=plot.style_cross, linewidth=2)
//LOGIC
//momentum filter
filterMom = useMomAverage ? abs(val) > MomentumMin / 100000 ? true : false : true
//standard condition
longCondition = scolor[1] != color.aqua and scolor == color.aqua and bcolor == color.lime and filterMom
exitLongCondition = bcolor == color.green
shortCondition = scolor[1] != color.aqua and scolor == color.aqua and bcolor == color.red and filterMom
exitShortCondition = bcolor == color.maroon
// Risk Management Sysyem
stop_loss = input(defval = 600, title="Stop Loss", minval = 0)
take_profit = input(defval = 1000, title="Take Profit", minval = 0)
trailing_stop = input(defval = 20, title="Trailing Stop", minval = 0)
// If the zero value is set for stop loss, take profit or trailing stop, then the function is disabled
s_loss = stop_loss >= 1 ? stop_loss : na
tk_profit = take_profit >= 1 ? take_profit : na
tr_stop = trailing_stop >= 1 ? trailing_stop : na
//STRATEGY
strategy.entry("SQ_Long", strategy.long, when=longCondition)
strategy.exit("Exit Long", from_entry = "SQ_Long", profit = take_profit, trail_points = trailing_stop, loss = s_loss)
strategy.close("SQ_Long", exitLongCondition)
strategy.entry("SQ_Short", strategy.short, when=shortCondition)
strategy.exit("Exit Short", from_entry = "SQ_Short", profit = take_profit, trail_points = trailing_stop, loss = s_loss )
strategy.close("SQ_Short", when=exitShortCondition)