وسائل لوڈ ہو رہے ہیں... لوڈنگ...

دباؤ مومنٹم بریک آؤٹ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-01-30 17:33:49
ٹیگز:

img

جائزہ

یہ ایک مقداری تجارتی حکمت عملی ہے جو لیزی بیئر کے مومنٹم سکیز اشارے کی بنیاد پر تیار کی گئی ہے۔ یہ حکمت عملی متعدد تکنیکی اشارے کے امتزاج کے ذریعے اعلی جیت کی شرح کے مومنٹم بریکآؤٹ ٹریڈنگ کو حاصل کرنے کے لئے بولنگر بینڈ ، کیلٹنر چینلز ، اور مومنٹم اشارے کو مربوط کرتی ہے۔

حکمت عملی منطق

اس حکمت عملی کا بنیادی اشارے لیزی بیئر کا مومنٹم سکیز اشارے ہے۔ یہ اشارے اس بات کا تعین کرتا ہے کہ کیا بولنگر بینڈ کو کیلٹنر چینلز سکیڑ رہے ہیں۔ جب سکیڑ ہوتا ہے تو ، اس سے یہ ظاہر ہوتا ہے کہ مارکیٹ ایک ممکنہ پھیلنے والے مقام پر داخل ہوچکی ہے۔ مومنٹم اشارے کی سمت کو جوڑ کر ، تجارت کی جاسکتی ہے جب مارکیٹ پھیلنے کو پکڑنے کے لئے سکیڑ جاری ہوجاتا ہے۔

خاص طور پر ، حکمت عملی سب سے پہلے قیمت کی 2 معیاری انحراف کی چوڑائی کے ساتھ 21 پیریڈ بولنگر بینڈز کا حساب لگاتی ہے۔ اسی وقت ، یہ قیمت کی طول و عرض سے 1.5 گنا کی چوڑائی کے ساتھ 20 پیریڈ کیلٹنر چینلز کا حساب لگاتی ہے۔ جب بولنگر بینڈ کو کیلٹنر چینلز کے ذریعہ سکیڑا جاتا ہے تو ، ایک سکڑنے کا سگنل ٹرگر ہوجاتا ہے۔ اس کے علاوہ ، حکمت عملی وقت کی ایک مدت میں اپنے ہی قیمت چینل کے وسط نقطہ کے سلسلے میں قیمت کی رفتار کا حساب بھی لگاتی ہے۔ جب سکڑنا ہوتا ہے تو ، رفتار اشارے کی سمت کے ساتھ مل کر ، یہ طے کرتا ہے کہ خریدنا ہے یا بیچنا ہے۔

باہر نکلنے کے لئے، جب رفتار اشارے کا رنگ سرمئی میں بدل جاتا ہے، تو یہ اس بات کی نمائندگی کرتا ہے کہ دباؤ کی حالت ختم ہوگئی ہے اور رجحان الٹ سکتا ہے.

فوائد

  1. درستگی کو بہتر بنانے کے لئے متعدد تکنیکی اشارے کو ضم کرتا ہے

ان اشارے کے مابین مجموعی تعلقات کا اندازہ لگاتے ہوئے ، تجارتی فیصلوں کی درستگی کو بہتر بنایا جاسکتا ہے اور غلط تجارت کا امکان کم ہوسکتا ہے۔

  1. اعلی منافع کی صلاحیت کے ساتھ عین مطابق رفتار سکڑنے والے مقامات

مومنٹم سکڑنے کی حکمت عملی اہم نکات کو پکڑ سکتی ہے جہاں مارکیٹ میں پھوٹ پڑنے کا امکان ہے۔ یہ نکات اکثر موڑ کے نکات ہوتے ہیں جہاں مارکیٹ اہم سمت کے فیصلے کرتی ہے۔ اگر صحیح طریقے سے فیصلہ کیا جائے تو ، مارکیٹ کی اگلی حرکت نسبتا long لمبی ہوگی ، لہذا حکمت عملی کی ممکنہ منافع کی جگہ بہت بڑی ہے۔

  1. اعلی کامیابی کی شرح کے ساتھ بریک آؤٹ ٹریڈنگ حاصل کریں

بے ترتیب بریکآؤٹ ٹریڈنگ کے مقابلے میں ، اس حکمت عملی کے ذریعہ منتخب کردہ انٹری پوائنٹ بولنگر بینڈ اور کیلٹنر چینلز کے مابین سکڑنے والے مقام پر ہے۔ مربوط اشارے کے فیصلے کے ذریعے ، تجارت کی کامیابی کی شرح بہت زیادہ ہے۔

خطرات

  1. پیرامیٹرز کی غلط ترتیب کا خطرہ

بولنگر بینڈ اور کیلٹنر چینلز کے سائیکل پیرامیٹرز اور بینڈوڈتھ پیرامیٹرز کا تجارتی نتائج پر بہت اثر پڑتا ہے۔ اگر پیرامیٹرز کو غلط طریقے سے ترتیب دیا جاتا ہے تو غلط فہمیاں پیدا ہوسکتی ہیں۔ اس کے لئے بہت سارے بیک ٹیسٹنگ کے ذریعے زیادہ سے زیادہ پیرامیٹرز تلاش کرنے کی ضرورت ہے۔

  1. بریک آؤٹ کی ناکامی کا خطرہ

ہمیشہ یہ خطرہ رہتا ہے کہ اس حکمت عملی کے ذریعہ منتخب کردہ نقطہ کو توڑنے کے بعد قیمت واپس آسکتی ہے ، جس سے نقصان ہوتا ہے۔ نقصانات پر قابو پانے کے لئے اس کو سختی سے روکنے کی ضرورت ہے۔

  1. رجحان کی تبدیلی کا خطرہ

جب دباؤ کی حالت ختم ہوجاتی ہے تو ، یہ حکمت عملی تمام پوزیشنوں کو بند کردے گی۔ تاہم ، بعض اوقات قیمت کا رجحان ابھی بھی جاری رہ سکتا ہے ، جس سے قبل از وقت باہر نکلنے کا خطرہ پیدا ہوتا ہے۔ باہر نکلنے کی منطق کو بہتر بنانے کی ضرورت ہے۔

اصلاح کی ہدایات

  1. پیرامیٹر کی ترتیبات کو بہتر بنائیں

زیادہ بیک ٹیسٹنگ ڈیٹا ٹرائلز کے ذریعے ، بہتر سائیکل اور بینڈوتھ پیرامیٹر کی ترتیبات کو حکمت عملی کی کارکردگی کو بہتر بنانے کے لئے پایا جاسکتا ہے۔

  1. سٹاپ نقصان کی حکمت عملی شامل کریں

جب قیمتیں الٹ جائیں تو تیزی سے نقصانات کو کم کرنے کے لئے حرکت پذیر یا نوساناتی رکاوٹیں مرتب کریں۔

  1. دوبارہ داخلے کی شرائط شامل کریں

جب حکمت عملی پوزیشنوں سے باہر نکلتی ہے تو، اگر رجحان جاری رہتا ہے تو مارکیٹ میں دوبارہ داخل ہونے کے لئے کچھ دوبارہ داخلے کی شرائط مقرر کی جا سکتی ہیں.

  1. مزید اشارے شامل کریں

مختلف اقسام کے زیادہ سے زیادہ اشارے شامل کرنے کی کوشش کریں ، جیسے دیگر اتار چڑھاؤ کے اشارے ، حجم کے اشارے ، وغیرہ ، تاکہ فیصلوں کی درستگی کو بہتر بنانے کے ل 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")

مزید