دوہری OTT رجحان کی پیروی کرنے والی حکمت عملی


تخلیق کی تاریخ: 2023-10-08 15:10:31 آخر میں ترمیم کریں: 2023-10-08 15:10:31
کاپی: 0 کلکس کی تعداد: 912
1
پر توجہ دیں
1617
پیروکار

جائزہ

ڈبل او ٹی ٹی ٹرینڈ ٹریکنگ حکمت عملی ایک بہتر او ٹی ٹی حکمت عملی ہے ، جو مارکیٹ کو درست کرنے کے وقت جعلی سگنل کا بہتر جواب دینے کے لئے ڈبل او ٹی ٹی لائنوں اور فیکٹرز کو جوڑتی ہے۔ یہ حکمت عملی ترک تاجر انیل اوزیکی نے تیار کی ہے ، جس نے اپنے ویڈیو ٹیوٹوریل میں اس حکمت عملی کے ڈیزائن کے بارے میں تفصیل سے وضاحت کی ہے۔

اصول

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

اس حکمت عملی میں دو اصلاحات کی گئی ہیں تاکہ مارکیٹ کو درست کرنے کے جھوٹے اشاروں سے نمٹا جا سکے۔

  1. دو عمودی طور پر منتقل شدہ او ٹی ٹی لائنیں شامل کی گئیں ، OTTup اور OTTdn ، جو او ٹی ٹی کی معمولی شفٹ اور شفٹ ہیں۔ حقیقی تجارت کا اشارہ صرف اس وقت پیدا ہوتا ہے جب قیمت ان دو شفٹ لائنوں کو توڑ دیتی ہے۔

  2. ایک چھوٹا سا کوفیکٹر متعارف کرایا گیا ہے جو مارکیٹ کو زیادہ درست طریقے سے ایڈجسٹ کرنے کے لئے دو ڈیجیٹل او ٹی ٹی لائنوں کو ٹھیک کرنے کے لئے استعمال کیا جاتا ہے۔

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

فوائد

  • دوہری او ٹی ٹی لائن ڈیزائن کا استعمال کرتے ہوئے ، جعلی سگنل کو مؤثر طریقے سے فلٹر کیا جاسکتا ہے ، جس سے حکمت عملی میں استحکام پیدا ہوتا ہے۔
  • اضافہ شدہ کوفیشن کوفیشن OTT لائنوں کو مارکیٹ کے ردعمل کے قریب لاتا ہے
  • مصنف Anıl Özekşi نے اس ویڈیو میں حکمت عملی کے بارے میں تفصیلات بیان کی ہیں اور اس کو آسانی سے سمجھنے اور اس پر قابو پانے میں مدد ملی ہے۔
  • جامع ای ایم اے ، اسٹاپ نقصان کی لائن اور دیگر متعدد تکنیکی اشارے مارکیٹ کے رجحانات کا تعین کرتے ہیں
  • مصنف: Anıl Özekşi ایک معروف ترک تاجر ہیں جن کی پیشہ ورانہ شہرت ہے۔

خطرات

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

ردعمل:

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

اصلاح کی سمت

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

مجموعی طور پر ، ڈبل او ٹی ٹی حکمت عملی نے انیل Özekşi کے او ٹی پی تجربے کو مکمل طور پر استعمال کیا اور اس میں جدت طرازی کی گئی۔ یہ ایک قابل اعتماد ، مرضی کے مطابق رجحانات کی پیروی کرنے والی حکمت عملی کا فریم ورک بننے کا امکان ہے۔

خلاصہ کریں۔

ڈبل او ٹی ٹی حکمت عملی دوہری اصلاحی رجحان ٹریکنگ لائن اور ٹھیک ایڈجسٹمنٹ فیکٹر کے ذریعہ مارکیٹ کو درست کرنے کے غلط سگنل کے مسئلے کا مؤثر جواب دیتی ہے۔ یہ متحرک ٹریکنگ رجحان کو روکنے کے لئے معاون لائنوں کے ساتھ متحرک ٹریکنگ رجحان کا معقول استعمال کرتا ہے۔ یہ حکمت عملی آسان اور عملی ہے ، جو معروف تاجروں کے ذاتی تجربے سے حاصل کی گئی ہے ، اس کا گہرائی سے مطالعہ کرنے کے قابل ہے۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-09-07 00:00:00
end: 2023-10-07 00:00:00
period: 4h
basePeriod: 15m
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("Twin Optimized Trend Tracker","TOTT", overlay=true)
src = input(close, title="Source")
length=input(40, "OTT Period", minval=1)
percent=input(1, "Optimization Constant", type=input.float, step=0.1, minval=0)
coeff=input(0.001, "Twin OTT Coefficient", type=input.float, step=0.001, minval=0)
showsupport = input(title="Show Support Line?", type=input.bool, defval=true)
showsignalsk = input(title="Show Signals?", type=input.bool, defval=true)
mav = input(title="Moving Average Type", defval="VAR", options=["SMA", "EMA", "WMA", "TMA", "VAR", "WWMA", "ZLEMA", "TSF"])
highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true)
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)
Wwma_Func(src,length)=>
    wwalpha = 1/ length
    WWMA = 0.0
    WWMA := wwalpha*src + (1-wwalpha)*nz(WWMA[1])
WWMA=Wwma_Func(src,length)
Zlema_Func(src,length)=>
    zxLag = length/2==round(length/2) ? length/2 : (length - 1) / 2
    zxEMAData = (src + (src - src[zxLag]))
    ZLEMA = ema(zxEMAData, length)
ZLEMA=Zlema_Func(src,length)
Tsf_Func(src,length)=>
    lrc = linreg(src, length, 0)
    lrc1 = linreg(src,length,1)
    lrs = (lrc-lrc1)
    TSF = linreg(src, length, 0)+lrs
TSF=Tsf_Func(src,length)
getMA(src, length) =>
    ma = 0.0
    if mav == "SMA"
        ma := sma(src, length)
        ma

    if mav == "EMA"
        ma := ema(src, length)
        ma

    if mav == "WMA"
        ma := wma(src, length)
        ma

    if mav == "TMA"
        ma := sma(sma(src, ceil(length / 2)), floor(length / 2) + 1)
        ma

    if mav == "VAR"
        ma := VAR
        ma

    if mav == "WWMA"
        ma := WWMA
        ma

    if mav == "ZLEMA"
        ma := ZLEMA
        ma

    if mav == "TSF"
        ma := TSF
        ma
    ma
    
MAvg=getMA(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 
OTTup=OTT*(1+coeff)
OTTdn=OTT*(1-coeff)

PPLOT=plot(showsupport ? MAvg : na, color=#0585E1, linewidth=2, title="Support Line")

pALLup=plot(nz(OTTup[2]), color=color.green, linewidth=2, title="OTTup", transp=0)
pALLdn=plot(nz(OTTdn[2]), color=color.red, linewidth=2, title="OTTdown", transp=0)

buySignalk = crossover(MAvg, OTTup[2])
sellSignalk = crossunder(MAvg, OTTdn[2])
K1=barssince(buySignalk)
K2=barssince(sellSignalk)
O1=barssince(buySignalk[1])
O2=barssince(sellSignalk[1])

plotshape(buySignalk and showsignalsk and O1>K2 ? min(low-abs(roc(low,1)),OTTdn-abs(roc(low,1))) : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0)
plotshape(sellSignalk and showsignalsk and O2>K1 ? max(high+abs(roc(high,1)),OTTup+abs(roc(high,1))) : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0)
mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0,display=display.none)
longFillColor = highlighting ? (O2>K1 ? color.green : na) : na
shortFillColor = highlighting ? (O1>K2 ? color.red : na) : na
fill(mPlot, PPLOT, title="UpTrend Highligter", color=longFillColor,transp=90)
fill(mPlot, PPLOT, title="DownTrend Highligter", color=shortFillColor,transp=90)
fill(pALLup, pALLdn, title="Flat Zone Highligter", color=color.blue,transp=90)



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 buySignalk
    strategy.entry("Long", strategy.long)
if sellSignalk
    strategy.entry("Short", strategy.short)