یہ ایک مقداری تجارتی حکمت عملی ہے جو لیزی بیئر
اس حکمت عملی کا بنیادی اشارے لیزی بیئر
خاص طور پر ، حکمت عملی سب سے پہلے قیمت کی 2 معیاری انحراف کی چوڑائی کے ساتھ 21 پیریڈ بولنگر بینڈز کا حساب لگاتی ہے۔ اسی وقت ، یہ قیمت کی طول و عرض سے 1.5 گنا کی چوڑائی کے ساتھ 20 پیریڈ کیلٹنر چینلز کا حساب لگاتی ہے۔ جب بولنگر بینڈ کو کیلٹنر چینلز کے ذریعہ
باہر نکلنے کے لئے، جب رفتار اشارے کا رنگ سرمئی میں بدل جاتا ہے، تو یہ اس بات کی نمائندگی کرتا ہے کہ دباؤ کی حالت ختم ہوگئی ہے اور رجحان الٹ سکتا ہے.
ان اشارے کے مابین مجموعی تعلقات کا اندازہ لگاتے ہوئے ، تجارتی فیصلوں کی درستگی کو بہتر بنایا جاسکتا ہے اور غلط تجارت کا امکان کم ہوسکتا ہے۔
مومنٹم سکڑنے کی حکمت عملی اہم نکات کو پکڑ سکتی ہے جہاں مارکیٹ میں پھوٹ پڑنے کا امکان ہے۔ یہ نکات اکثر موڑ کے نکات ہوتے ہیں جہاں مارکیٹ اہم سمت کے فیصلے کرتی ہے۔ اگر صحیح طریقے سے فیصلہ کیا جائے تو ، مارکیٹ کی اگلی حرکت نسبتا long لمبی ہوگی ، لہذا حکمت عملی کی ممکنہ منافع کی جگہ بہت بڑی ہے۔
بے ترتیب بریکآؤٹ ٹریڈنگ کے مقابلے میں ، اس حکمت عملی کے ذریعہ منتخب کردہ انٹری پوائنٹ بولنگر بینڈ اور کیلٹنر چینلز کے مابین سکڑنے والے مقام پر ہے۔ مربوط اشارے کے فیصلے کے ذریعے ، تجارت کی کامیابی کی شرح بہت زیادہ ہے۔
بولنگر بینڈ اور کیلٹنر چینلز کے سائیکل پیرامیٹرز اور بینڈوڈتھ پیرامیٹرز کا تجارتی نتائج پر بہت اثر پڑتا ہے۔ اگر پیرامیٹرز کو غلط طریقے سے ترتیب دیا جاتا ہے تو غلط فہمیاں پیدا ہوسکتی ہیں۔ اس کے لئے بہت سارے بیک ٹیسٹنگ کے ذریعے زیادہ سے زیادہ پیرامیٹرز تلاش کرنے کی ضرورت ہے۔
ہمیشہ یہ خطرہ رہتا ہے کہ اس حکمت عملی کے ذریعہ منتخب کردہ نقطہ کو توڑنے کے بعد قیمت واپس آسکتی ہے ، جس سے نقصان ہوتا ہے۔ نقصانات پر قابو پانے کے لئے اس کو سختی سے روکنے کی ضرورت ہے۔
جب دباؤ کی حالت ختم ہوجاتی ہے تو ، یہ حکمت عملی تمام پوزیشنوں کو بند کردے گی۔ تاہم ، بعض اوقات قیمت کا رجحان ابھی بھی جاری رہ سکتا ہے ، جس سے قبل از وقت باہر نکلنے کا خطرہ پیدا ہوتا ہے۔ باہر نکلنے کی منطق کو بہتر بنانے کی ضرورت ہے۔
زیادہ بیک ٹیسٹنگ ڈیٹا ٹرائلز کے ذریعے ، بہتر سائیکل اور بینڈوتھ پیرامیٹر کی ترتیبات کو حکمت عملی کی کارکردگی کو بہتر بنانے کے لئے پایا جاسکتا ہے۔
جب قیمتیں الٹ جائیں تو تیزی سے نقصانات کو کم کرنے کے لئے حرکت پذیر یا نوساناتی رکاوٹیں مرتب کریں۔
جب حکمت عملی پوزیشنوں سے باہر نکلتی ہے تو، اگر رجحان جاری رہتا ہے تو مارکیٹ میں دوبارہ داخل ہونے کے لئے کچھ دوبارہ داخلے کی شرائط مقرر کی جا سکتی ہیں.
مختلف اقسام کے زیادہ سے زیادہ اشارے شامل کرنے کی کوشش کریں ، جیسے دیگر اتار چڑھاؤ کے اشارے ، حجم کے اشارے ، وغیرہ ، تاکہ فیصلوں کی درستگی کو بہتر بنانے کے ل indicator اشارے کے انضمام کی ایک جامع حکمت عملی مرتب کی جاسکے۔
اس حکمت عملی میں بولنگر بینڈ ، کیلٹنر چینلز اور رفتار کے اشارے شامل ہیں۔ ان اشارے کے مابین تعلقات کا جائزہ لینے سے ، یہ کامیابی کی شرح کے اعلی نقطوں پر داخل ہوتا ہے۔ حکمت عملی کی کارکردگی کو مزید بہتر بنانے کے لئے پیرامیٹر کی اصلاح ، اسٹاپ نقصان کی حکمت عملی ، دوبارہ داخلے کی شرائط ، اور جامع اشارے کے انضمام جیسے بہت سے پہلوؤں میں اصلاح کی جگہیں ہیں۔
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //All credits to LazyBear. All I did was turn it into a strategy! strategy(title = "SQZMOM STRAT", overlay=false) // --- GENERAL INPUTS --- FromMonth = input(defval = 4, title = "From Month", minval = 1, maxval = 12) FromYear = input(defval = 2020, title = "From Year", minval = 2012) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToYear = input(defval = 9999, title = "To Year", minval = 2017) FromDay = 1 ToDay = 1 start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => true get_round(value, precision) => round(value * (pow(10, precision))) / pow(10, precision) trade_leverage = input(1, title = "Trade - Leverage", step = 0.25) trade_risk = input(100, title = "Trade - Risk Percent", type = input.float, step = 0.1, minval = 0.1, maxval = 100) tradeType = input("LONG", title="What trades should be taken : ", options=["LONG", "SHORT", "BOTH"]) // --- SQZMOM CODE length = input(21, title="BB Length") mult = input(2.0,title="BB MultFactor") lengthKC=input(20, title="KC Length") multKC = input(1.5, title="KC MultFactor") useTrueRange = input(true, title="Use TrueRange (KC)", type=input.bool) // Calculate BB source = close basis = sma(source, length) dev = multKC * stdev(source, length) upperBB = basis + dev lowerBB = basis - dev // Calculate KC ma = sma(source, lengthKC) range = useTrueRange ? tr : (high - low) rangema = sma(range, lengthKC) upperKC = ma + rangema * multKC lowerKC = ma - rangema * multKC sqzOn = (lowerBB > lowerKC) and (upperBB < upperKC) sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC) noSqz = (sqzOn == false) and (sqzOff == false) val = linreg(source - avg(avg(highest(high, lengthKC), lowest(low, lengthKC)),sma(close,lengthKC)), lengthKC,0) bcolor = color.gray if (val > 0 and val > nz(val[1])) bcolor := color.green if (val < 0 and val < nz(val[1])) bcolor := color.red scolor = noSqz ? color.blue : sqzOn ? color.black : color.gray plot(val, color=bcolor, style=plot.style_histogram, linewidth=4) plot(0, color=scolor, style=plot.style_cross, linewidth=2) // --- VWMA CODE --- useVWMA = input(false, title = "Use VWMA to selectively long/short?", type = input.bool) lengthVWMA=input(42, title = "VWMA Length", step = 1, minval = 1) useCV=input(false, type=input.bool, title="Use Cumulative Volume for VWMA?") nbfs = useCV ? cum(volume) : sum(volume, lengthVWMA) medianSrc=close calc_evwma(price, lengthVWMA, nb_floating_shares) => data = (nz(close[1]) * (nb_floating_shares - volume)/nb_floating_shares) + (volume*price/nb_floating_shares) m=calc_evwma(medianSrc, lengthVWMA, nbfs) // ---STRATEGY--- if ((tradeType == "LONG" or tradeType == "BOTH") and (m>0 or useVWMA == false)) longCondition = (val > 0 and noSqz == 0 and sqzOn == 0 and sqzOn[1] == 1) if (longCondition) contracts = get_round((strategy.equity * trade_leverage / close) * (trade_risk / 100), 4) strategy.entry("LONG", strategy.long, qty = contracts, when = window()) if((tradeType == "SHORT" or tradeType == "BOTH") and (m<0 or useVWMA == false)) shortCondition = (val < 0 and noSqz == 0 and sqzOn == 0 and sqzOn[1] == 1) if (shortCondition) contracts = get_round((strategy.equity * trade_leverage / close) * (trade_risk / 100), 4) strategy.entry("SHORT", strategy.short, qty = contracts, when = window()) if (bcolor == color.gray) strategy.close("LONG") strategy.close("SHORT")