کوانٹ لائٹس اسٹوکاسٹک اشارے اور او ٹی ٹی اشارے کا استعمال کرتے ہوئے ایک مشترکہ حکمت عملی ہے۔ یہ حکمت عملی اسٹوکاسٹک اشارے کو خرید و فروخت کے سگنل پیدا کرنے کے لئے استعمال کرتی ہے ، اور انہیں او ٹی ٹی اشارے کے ساتھ مل کر سگنل کو فلٹر کرنے کے لئے ، بڑے رجحان کو پکڑنے اور غلط اشاروں کا سبب بننے والے مارکیٹ میں اتار چڑھاؤ کے اثرات کو کم کرنے کی کوشش کرتی ہے۔ یہ مضمون حکمت عملی کا تفصیلی اندازہ کرے گا۔
حکمت عملی کا بنیادی خیال سگنل فلٹرنگ کے لئے او ٹی ٹی اشارے کو اسٹوکاسٹک اشارے پر لگانا ہے۔ اسٹوکاسٹک اشارے قیمت کا موازنہ مخصوص وقت کی مدت میں سب سے زیادہ اور سب سے کم قیمتوں کے ساتھ کرتا ہے تاکہ یہ فیصلہ کیا جاسکے کہ آیا قیمت انتہائی علاقے میں ہے۔ او ٹی ٹی اشارے میں رجحانات کو ٹریک کرنے کے لئے حرکت پذیر اوسط اور متحرک رک جاتا ہے۔
اس کوڈ میں اسٹوکاسٹک کی اعلی سطح 1080 اور کم سطح 1020 پر طے کی گئی ہے۔ جب اسٹوکاسٹک کی قیمت ان کے درمیان ہوتی ہے تو ، یہ ایک رینج سے منسلک علاقہ ہوتا ہے۔ جب اسٹوکاسٹک خرید / فروخت کے سگنل تیار کرتا ہے تو ، کوڈ او ٹی ٹی اشارے کی بنیاد پر سگنل کی صداقت کا تعین کرے گا۔ اگر قیمت او ٹی ٹی اوسط لائن سے تجاوز کرتی ہے تو ، خرید کا سگنل جاری کیا جاتا ہے۔ اگر قیمت او ٹی ٹی اوسط لائن سے نیچے عبور کرتی ہے تو ، فروخت کا سگنل جاری کیا جاتا ہے۔
یہ مجموعہ اسٹوکاسٹک کا فائدہ اٹھاتا ہے تاکہ زیادہ خریدنے اور زیادہ فروخت ہونے والے حالات کا تعین کیا جاسکے اور انٹری سگنل پیدا کیے جاسکیں ، جبکہ او ٹی ٹی رجحانات کو ٹریک کرنے اور مارکیٹ میں حد سے زیادہ اتار چڑھاؤ کی وجہ سے غلط سگنل کو فلٹر کرنے کے لئے اسٹاپ کا استعمال کرنے کے لئے ذمہ دار ہے ، اس طرح سگنل کی درستگی اور اتار چڑھاؤ کو بہتر بناتا ہے۔
حکمت عملی میں مندرجہ ذیل پہلوؤں کو بہتر بنانے کے لئے اسٹوکاسٹک اور او ٹی ٹی اشارے کو یکجا کیا گیا ہے:
خلاصہ یہ کہ اسٹوکاسٹک سگنلز کو فلٹر کرنے کے لئے او ٹی ٹی کا استعمال کرتے ہوئے ، حکمت عملی سگنل کے معیار اور سرمایہ کاری کی واپسی کو مؤثر طریقے سے بہتر بناتی ہے ، جبکہ ٹرانزیکشنز کی تعداد اور حکمت عملی کی اتار چڑھاؤ کو کم کرتی ہے ، جس سے کم خطرہ ، اعلی منافع اور رجحانات کی قریب سے نگرانی کا اثر حاصل ہوتا ہے۔
مذکورہ بالا خطرات کے حوالے سے مندرجہ ذیل اقدامات کئے جاسکتے ہیں:
اسٹریٹیجی کو مندرجہ ذیل پہلوؤں میں مزید بہتر بنایا جاسکتا ہے:
مختلف مارکیٹوں اور اسٹاک کی اقسام کے مطابق پیرامیٹر کی ترتیبات کو ایڈجسٹ کریں۔ موجودہ ڈیفالٹ اقدار عالمگیر ہیں اور پیرامیٹر کے بہترین مجموعے کو تلاش کرنے کے لئے مختلف اسٹاک کے لئے الگ الگ جانچ کی جاسکتی ہے۔
منافع لینے اور متحرک اسٹاپ میکانزم متعارف کروائیں۔ فی الحال متحرک فکسڈ اسٹاپ کا استعمال کرتے ہوئے نقصانات اور منافع کو متحرک طور پر ٹریک کرنے کے قابل نہیں ہے۔ مزید خطرہ اور منافع پر قابو پانے کے لئے متحرک اسٹاپ اور منافع لینے کے تعارف کی جانچ کی جاسکتی ہے۔
سگنل کے فیصلے کی منطق کو بہتر بنائیں۔ موجودہ فیصلے کی منطق نسبتا simple آسان ہے ، جب قیمتیں ٹوٹ جاتی ہیں یا نیچے آتی ہیں تو براہ راست خرید و فروخت کے سگنل کو نشان زد کرتی ہے۔ سگنل کی وشوسنییتا کو یقینی بنانے کے لئے مزید اشارے اور قیمت کے نمونوں کو شامل کیا جاسکتا ہے۔
کھلی پوزیشن کی شرائط اور فلٹرنگ کے طریقہ کار کو بڑھانا۔ موجودہ حکمت عملی ہر سگنل کو بلا امتیاز پروسیس کرتی ہے۔ حجم کے اشارے ، تجارتی حجم کے اشارے اور کھلی پوزیشن کی دیگر شرائط کو متعارف کرایا جاسکتا ہے ، نیز جھوٹے سگنل کو فلٹر کرنے کے لئے ایک خاص سگنل ٹائم ونڈو۔
او ٹی ٹی کے ساتھ مختلف اشارے کے امتزاج کی جانچ کریں۔ فی الحال اسٹوکاسٹک اور او ٹی ٹی کے امتزاج کا استعمال کرتے ہوئے۔ او ٹی ٹی کے ساتھ دوسرے اشارے جیسے ایم اے سی ڈی اور آر ایس آئی کو جوڑنے کی تاثیر کی جانچ کی جاسکتی ہے۔
دارالحکومت کے انتظام اور پوزیشن سائزنگ ماڈیولز کو مربوط کریں۔ فی الحال دارالحکومت کے انتظام اور پوزیشن کنٹرول کے کوئی طریقہ کار موجود نہیں ہیں ، جو مکمل طور پر اسٹاپ پر انحصار کرتے ہیں۔ انفرادی اور مجموعی خطرات کو مزید کنٹرول کرنے کے لئے مختلف قسم کے دارالحکومت کے انتظام اور پوزیشن سائزنگ کے طریقوں کا تجربہ کیا جاسکتا ہے۔
کوانٹ لائٹس ایک مقداری حکمت عملی ہے جو اسٹوکاسٹک اشارے کو او ٹی ٹی اشارے کے ساتھ نامیاتی طور پر جوڑتی ہے۔ یہ سگنل کی درستگی کو بہتر بنانے اور خطرات کو کم کرتے ہوئے بڑے رجحانات کو مؤثر طریقے سے پکڑنے کے لئے دونوں اشارے کی تکمیلی طاقتوں کا استعمال کرتی ہے۔
اس حکمت عملی کے فوائد میں غلطی کی کم شرح ، واضح سگنل ، اور چھوٹی اتار چڑھاؤ شامل ہیں۔ اس سے سگنل کی وشوسنییتا میں اضافہ ہوتا ہے ، اسٹاپ کی سطح کو بہتر بناتا ہے ، تجارتی تعدد کو کم کرتا ہے ، اور یہ ایک تجویز کردہ مقداری حکمت عملی ہے۔
اسی وقت ، اس حکمت عملی میں ابھی بھی بہتری کی گنجائش ہے۔ پیرامیٹر کی اصلاح ، اسٹاپ میکانزم کی بہتری ، سگنلز اور فلٹرنگ میکانزم کو بڑھانے وغیرہ کے ذریعے ، حکمت عملی کو زیادہ مستحکم ، خودکار اور ذہین سمت کی طرف ترقی دی جاسکتی ہے۔ یہ بھی ہمارے پیروی کے کام کا مقصد ہے۔
/*backtest start: 2023-12-27 00:00:00 end: 2024-01-03 00:00:00 period: 3m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © KivancOzbilgic //created by: @Anil_Ozeksi //developer: ANIL ÖZEKŞİ //author: @kivancozbilgic strategy(title="Stochastic Optimized Trend Tracker", shorttitle="SOTT", format=format.price, precision=2) periodK = input(250, title="%K Length", minval=1) smoothK = input(50, title="%K Smoothing", minval=1) src1 = input(close, title="Source") length=input(3, "OTT Period", minval=1) percent=input(0.618, "OTT Percent", type=input.float, step=0.1, minval=0) showsupport = input(title="Show Support Line?", type=input.bool, defval=false) showsignalsc = input(title="Show Stochastic/OTT Crossing Signals?", type=input.bool, defval=false) Var_Func1(src1,length)=> valpha1=2/(length+1) vud11=src1>src1[1] ? src1-src1[1] : 0 vdd11=src1<src1[1] ? src1[1]-src1 : 0 vUD1=sum(vud11,9) vDD1=sum(vdd11,9) vCMO1=nz((vUD1-vDD1)/(vUD1+vDD1)) VAR1=0.0 VAR1:=nz(valpha1*abs(vCMO1)*src1)+(1-valpha1*abs(vCMO1))*nz(VAR1[1]) VAR1=Var_Func1(src1,length) k = Var_Func1(stoch(close, high, low, periodK), smoothK) src=k+1000 Var_Func(src,length)=> valpha=2/(length+1) vud1=src>src[1] ? src-src[1] : 0 vdd1=src<src[1] ? src[1]-src : 0 vUD=sum(vud1,9) vDD=sum(vdd1,9) vCMO=nz((vUD-vDD)/(vUD+vDD)) VAR=0.0 VAR:=nz(valpha*abs(vCMO)*src)+(1-valpha*abs(vCMO))*nz(VAR[1]) VAR=Var_Func(src,length) h0 = hline(1080, "Upper Band", color=#606060) h1 = hline(1020, "Lower Band", color=#606060) fill(h0, h1, color=#9915FF, transp=80, title="Background") plot(k+1000, title="%K", color=#0094FF) MAvg=Var_Func(src, length) fark=MAvg*percent*0.01 longStop = MAvg - fark longStopPrev = nz(longStop[1], longStop) longStop := MAvg > longStopPrev ? max(longStop, longStopPrev) : longStop shortStop = MAvg + fark shortStopPrev = nz(shortStop[1], shortStop) shortStop := MAvg < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop dir = 1 dir := nz(dir[1], dir) dir := dir == -1 and MAvg > shortStopPrev ? 1 : dir == 1 and MAvg < longStopPrev ? -1 : dir MT = dir==1 ? longStop: shortStop OTT=MAvg>MT ? MT*(200+percent)/200 : MT*(200-percent)/200 plot(showsupport ? MAvg : na, color=#0585E1, linewidth=2, title="Support Line") OTTC = #B800D9 pALL=plot(nz(OTT[2]), color=OTTC, linewidth=2, title="OTT", transp=0) alertcondition(cross(src, OTT[2]), title="Price Cross Alert", message="OTT - Price Crossing!") alertcondition(crossover(src, OTT[2]), title="Price Crossover Alarm", message="PRICE OVER OTT - BUY SIGNAL!") alertcondition(crossunder(src, OTT[2]), title="Price Crossunder Alarm", message="PRICE UNDER OTT - SELL SIGNAL!") buySignalc = crossover(src, OTT[2]) plotshape(buySignalc and showsignalsc ? OTT*0.995 : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0) sellSignallc = crossunder(src, OTT[2]) plotshape(sellSignallc and showsignalsc ? OTT*1.005 : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0) dummy0 = input(true, title = "=Backtest Inputs=") FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromYear = input(defval = 2005, title = "From Year", minval = 2005) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToYear = input(defval = 9999, title = "To Year", minval = 2006) Start = timestamp(FromYear, FromMonth, FromDay, 00, 00) Finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) Timerange() => time >= Start and time <= Finish ? true : false if buySignalc strategy.entry("Long", strategy.long,when=Timerange()) if sellSignallc strategy.entry("Short", strategy.short,when=Timerange())