ڈوئل ویو وائبریشن فلٹر ٹریڈنگ کی حکمت عملی


تخلیق کی تاریخ: 2023-11-13 10:38:20 آخر میں ترمیم کریں: 2023-11-13 10:38:20
کاپی: 1 کلکس کی تعداد: 2569
1
پر توجہ دیں
1617
پیروکار

ڈوئل ویو وائبریشن فلٹر ٹریڈنگ کی حکمت عملی

جائزہ

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

حکمت عملی کا اصول

اس حکمت عملی میں دو مختلف دورانیے کی لمبائی کے ہموار اتار چڑھاؤ کی حد کے اشارے استعمال کیے جاتے ہیں: تیز اتار چڑھاؤ کی حد اشارے ((ڈیفالٹ دورانیہ 27) اور آہستہ اتار چڑھاؤ کی حد اشارے ((ڈیفالٹ دورانیہ 55)) ۔ اتار چڑھاؤ کی حد کے اشارے کے حساب کتاب کا فارمولا یہ ہے: موجودہ دورانیے کی قیمت میں اتار چڑھاؤ کی شدت کی اشاریہ منتقل اوسط کا ایک ضرب ((جیسے 1.6)) ۔

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

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

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

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

اسٹریٹجک فوائد

ڈبل ویو شاک فلٹرنگ حکمت عملی کے فوائد:

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

  2. دوہری لہر کی حد کے اشارے میں مختلف وقت کی لمبائی شامل ہے۔ تیز رفتار اشارے قلیل مدتی کامیابی کے مواقع کو پکڑتے ہیں ، اور سست رفتار اشارے طویل مدتی رجحانات کو مدنظر رکھتے ہیں۔

  3. قیمت کی سمت فلٹرنگ کی شرائط کو شامل کرنے سے قلیل مدتی اتار چڑھاؤ کی وجہ سے غلط سگنل کم ہوسکتے ہیں۔

  4. ٹریڈنگ کی منطق سادہ اور واضح ہے، آسانی سے سمجھنے کے لئے لاگو کیا جاتا ہے، اور مقدار کی تجارت کے لئے مناسب ہے.

اسٹریٹجک رسک

ڈبل ویو کمپن فلٹرنگ کی حکمت عملی میں کچھ خطرات بھی ہیں جن کے بارے میں آگاہ ہونا ضروری ہے:

  1. اس کے علاوہ، یہ ایک غیر مستحکم مارکیٹ میں بہت کم اثر انداز ہوسکتا ہے، جو اس کی عدم استحکام پر منحصر ہے.

  2. اتار چڑھاؤ کی حد کے پیرامیٹرز کو مختلف اقسام کے ل adjust ایڈجسٹ اور بہتر بنانے کی ضرورت ہے ، ورنہ تجارتی مواقع سے محروم ہوجائیں گے یا غلط سگنل پیدا ہوں گے۔

  3. قیمتوں میں اتار چڑھاؤ کی شرح سے انحراف کو مدنظر نہیں رکھا گیا ہے۔ جب قیمتوں میں اضافے کی شرح میں اضافہ ہوتا ہے اور قیمتوں میں اضافہ نہیں ہوتا ہے تو ، غلط سگنل جاری کیا جاسکتا ہے۔

  4. اعلی اتار چڑھاؤ والے ماحول میں ، اسٹاپ پوائنٹ کی ترتیب کو ایڈجسٹ کرنے کی ضرورت پڑسکتی ہے۔ انتہائی شدت پسند اسٹاپ اکثر بند ہوجاتے ہیں۔

حکمت عملی کی اصلاح

اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:

  1. اتار چڑھاؤ کی حد کے پیرامیٹرز کی جانچ اور اصلاح کریں تاکہ مختلف نسلوں کے مختلف ادوار کے لئے بہترین پیرامیٹرز کا مجموعہ تلاش کیا جاسکے۔

  2. اسٹاپ نقصان کی حکمت عملی کو بہتر بنانے کے لئے اسٹاپ نقصان کی پوزیشن کو حالیہ اتار چڑھاو کی رفتار کے مطابق ایڈجسٹ کرنے کے طریقہ کار میں شامل ہوں۔

  3. غلط سگنل سے بچنے کے لئے قیمت اور اتار چڑھاؤ کے انحراف پر مبنی فلٹرنگ شرائط شامل کریں۔

  4. دوسرے اشارے کے ساتھ مل کر ، جیسے تجارت کے حجم میں تبدیلی ، داخلے کی یقین دہانی میں اضافہ کرتی ہے۔

  5. حکمت عملی کے مطابق اسٹاپ آؤٹ میکانزم کی جانچ اور ان میں شمولیت۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-11-05 00:00:00
end: 2023-11-12 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © colinmck, greenmask9

//@version=4

strategy(title="Twin Range Filter Algo", overlay=true)

source = input(defval=close, title="Source")

// Smooth Average Range

per1 = input(defval=27, minval=1, title="Fast period")
mult1 = input(defval=1.6, minval=0.1, title="Fast range")

per2 = input(defval=55, minval=1, title="Slow period")
mult2 = input(defval=2, minval=0.1, title="Slow range")

smoothrng(x, t, m) =>
    wper = t * 2 - 1
    avrng = ema(abs(x - x[1]), t)
    smoothrng = ema(avrng, wper) * m
    smoothrng
smrng1 = smoothrng(source, per1, mult1)
smrng2 = smoothrng(source, per2, mult2)
smrng = (smrng1 + smrng2) / 2

// Range Filter

rngfilt(x, r) =>
    rngfilt = x
    rngfilt := x > nz(rngfilt[1]) ? x - r < nz(rngfilt[1]) ? nz(rngfilt[1]) : x - r : 
       x + r > nz(rngfilt[1]) ? nz(rngfilt[1]) : x + r
    rngfilt
filt = rngfilt(source, smrng)

upward = 0.0
upward := filt > filt[1] ? nz(upward[1]) + 1 : filt < filt[1] ? 0 : nz(upward[1])
downward = 0.0
downward := filt < filt[1] ? nz(downward[1]) + 1 : filt > filt[1] ? 0 : nz(downward[1])

hband = filt + smrng
lband = filt - smrng

longCond = bool(na)
shortCond = bool(na)
longCond := source > filt and source > source[1] and upward > 0 or source > filt and source < source[1] and upward > 0
shortCond := source < filt and source < source[1] and downward > 0 or source < filt and source > source[1] and downward > 0

CondIni = 0
CondIni := longCond ? 1 : shortCond ? -1 : CondIni[1]

long = longCond and CondIni[1] == -1
short = shortCond and CondIni[1] == 1

// Plotting

// Strategy
// From this part on, programmer is greenmaks9
//
Separator = input(title="Following conditions and backtest algorithm are added by @greenmask9 🎯, original script is written by @colinmck 👍. Read both of their's release notes for more info on how this script works.", type=input.bool, defval=false)
disabler = input(title="Disable greenmask9's ATR conditions", type=input.bool, defval=false)

//second
l2 = input(title="ATR1", defval=32, minval=1)
s2 = input(title="Smoothing", defval="SMA", options=["RMA", "SMA", "EMA", "WMA"])
atr2(source, l2) => 
    if s2 == "SMA"
        sma(source, l2)
    else
        if s2 == "RMA"
            rma(source, l2)
        else
            if s2 == "EMA"
                ema(source, l2)
            else
                wma(source, l2)

//third
l3 = input(title="ATR2", defval=64, minval=1)
s3 = input(title="Smoothing", defval="RMA", options=["RMA", "SMA", "EMA", "WMA"])
atr3(source, l3) => 
    if s3 == "RMA"
        rma(source, l3)
    else
        if s3 == "SMA"
            sma(source, l3)
        else
            if s3 == "EMA"
                ema(source, l3)
            else
                wma(source, l3)

atr20=atr2(tr(true), l2)
atr30=atr3(tr(true), l3)
strategy.initial_capital = 50000
ordersize=floor(strategy.initial_capital/close)
profit = input(title="Ticks profit", type=input.integer, defval=900)
stop = input(title="Ticks stoploss", type=input.integer, defval=300)
maxcandles_till_close = input(title="Time stoploss", type=input.integer, defval=17)


bull = long and (atr20<atr30 or disabler)
bear = short and (atr20<atr30 or disabler)

bullclock = barssince(bull)
bearclock = barssince(bear)

if (bull)
    strategy.entry("Twin Long", strategy.long, ordersize)
    strategy.exit("Exit", from_entry =  "Twin Long", profit = profit, loss = stop)

if (bear)
    strategy.entry("Twin Short", strategy.short, ordersize)
    strategy.exit("Exit", from_entry = "Twin Short", profit = profit, loss = stop)

//time stoploss
strategy.close("Twin Long", when = bullclock == maxcandles_till_close, comment = "Timed out")
strategy.close("Twin Short", when = bearclock == maxcandles_till_close, comment = "Timed out")