حجم فرق ڈیلٹا سائیکل آسکیلیٹر ٹریڈنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-10-30 11:45:42
ٹیگز:

img

جائزہ

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

تجارتی منطق

  1. حجم تبدیلی کی تبدیلی کی شرح کا حساب لگائیں (حجم فرق اشارے کی تبدیلی کی شرح) ، حجم رفتار پر مبنی اشارے کے نتیجے کو حاصل کرنے کے لئے.

  2. نتائج کے بولنگر بینڈ کا حساب لگائیں تاکہ bbr حاصل کیا جاسکے جو حجم کی رفتار کے معیاری انحراف کی نمائندگی کرتا ہے۔

  3. قیمت کے معیاری انحراف کی نمائندگی کرنے والے bbr1 حاصل کرنے کے لئے قریبی قیمت کے بولنگر بینڈ کا حساب لگائیں.

  4. ان دونوں کے درمیان فرق کا حساب لگائیں، جو حجم کی رفتار کے معیاری انحراف کو قیمت کے معیاری انحراف کو کم کر کے، حتمی اشارے کے طور پر ہے.

  5. جب ہسٹ 0 سے اوپر جاتا ہے تو یہ مختصر انٹری سگنل ہے، اور جب 0 سے نیچے گزرتا ہے تو یہ طویل انٹری سگنل ہے.

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

فوائد

  1. یہ حکمت عملی حجم اور قیمت میں تغیر کی حکمت عملی ہے جو حجم میں تبدیلی کی شرح پر مبنی ہے ، جو قیمتوں کے رجحانات کے اہم نکات کو پہلے سے ظاہر کرسکتی ہے۔

  2. حجم کی تبدیلی کی شرح کے حساب سے قیمت پر حجم کی تبدیلی کے اہم اثر کو تقویت ملتی ہے ، جس کے نتیجے میں بہتر تجارتی کارکردگی ہوتی ہے۔

  3. قیمت کے بولنگر بینڈ کے ساتھ حجم کی رفتار کے اشارے کا امتزاج ٹریڈنگ سگنل کو زیادہ قابل اعتماد بناتا ہے۔

  4. ہسٹ ڈیٹا پر ٹرپل ایکسپونینشل ہموار کرنے کا استعمال سگنل کو زیادہ درست اور ہموار بناتا ہے۔

  5. زیادہ خریدے گئے / زیادہ فروخت شدہ لائنوں اور طویل / مختصر سٹاپ نقصان / منافع لینے کے احکامات کو مؤثر طریقے سے خطرات کو کنٹرول کرنے میں مدد ملتی ہے.

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

خطرات

  1. حجم کے اعداد و شمار مارکیٹ ٹریڈنگ کو صحیح طور پر ظاہر نہیں کرسکتے ہیں اور ان میں ہیرا پھیری ہوسکتی ہے۔

  2. حجم کی قیمتوں میں فرق برقرار نہیں رہ سکتا اور قیمتوں میں تبدیلی کے بغیر خرابی ہوسکتی ہے۔

  3. پیرامیٹر کی غلط ترتیبات سے زیادہ تجارت یا غلط سگنل پیدا ہوسکتے ہیں۔

  4. غیر معمولی حجم کے اعداد و شمار سے غلط سگنل سے خبردار رہیں.

  5. جب رجحان مضبوط ہو تو الٹی سگنل سے گریز کیا جانا چاہئے۔

خطرات کو پیرامیٹرز کو بہتر بنانے، دیگر فلٹرز کو شامل کرنے، اور سٹاپ نقصان / منافع لینے کی ترتیب سے کم کیا جا سکتا ہے.

بہتر مواقع

  1. زیادہ مستحکم سگنل کے لئے بولنگر بینڈ پیرامیٹرز کو بہتر بنائیں.

  2. رجحان کے خلاف تجارت سے بچنے کے لئے رجحان فلٹر شامل کریں.

  3. سگنل کی تصدیق کے لئے MACD جیسے دیگر اشارے شامل کریں.

  4. اے آئی کا استعمال پیرامیٹرز کو خود بخود بہتر بنانے کے لیے کریں۔

  5. خطرہ مینجمنٹ کو بہتر بنانے کے لئے متحرک سٹاپ نقصان / منافع لے لو شامل کریں.

  6. اعلی سگنل کے معیار کے لئے حجم-قیمت کے فرق کی کامیابی کی شرح کا تعین کرنے کے لئے مشین لرننگ کا اطلاق کریں۔

نتیجہ

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


/*backtest
start: 2022-10-23 00:00:00
end: 2023-10-29 00:00:00
period: 1d
basePeriod: 1h
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/
// © tathal and special thanks to oakwhiz for his porting of my custom volume indicator

//@version=5
strategy('Volume Difference Delta Cycle Oscillator', 'VDDC Osc', default_qty_type=strategy.percent_of_equity, default_qty_value=100, max_bars_back=5000)

startDate = input.int(title='Start Date', defval=1, minval=1, maxval=31)
startMonth = input.int(title='Start Month', defval=1, minval=1, maxval=12)
startYear = input.int(title='Start Year', defval=2010, minval=1800, maxval=2100)

endDate = input.int(title='End Date', defval=31, minval=1, maxval=31)
endMonth = input.int(title='End Month', defval=12, minval=1, maxval=12)
endYear = input.int(title='End Year', defval=2021, minval=1800, maxval=2100)

// Normalize Function
normalize(_src, _min, _max) =>
    // Normalizes series with unknown min/max using historical min/max.
    // _src      : series to rescale.
    // _min, _min: min/max values of rescaled series.
    var _historicMin = 10e10
    var _historicMax = -10e10
    _historicMin := math.min(nz(_src, _historicMin), _historicMin)
    _historicMax := math.max(nz(_src, _historicMax), _historicMax)
    _min + (_max - _min) * (_src - _historicMin) / math.max(_historicMax - _historicMin, 10e-10)


// STEP 2:
// Look if the close time of the current bar
// falls inside the date range
inDateRange = true

// Stop loss & Take Profit Section     
l_sl_inp = input(2.0, title='Long Stop Loss %') / 100
l_tp_inp = input(4.0, title='Long Take Profit %') / 100

l_stop_level = strategy.position_avg_price * (1 - l_sl_inp)
l_take_level = strategy.position_avg_price * (1 + l_tp_inp)

s_sl_inp = input(2.0, title='Short Stop Loss %') / 100
s_tp_inp = input(4.0, title='Short Take Profit %') / 100

s_stop_level = strategy.position_avg_price * (1 + s_sl_inp)
s_take_level = strategy.position_avg_price * (1 - s_tp_inp)

src = close

//  Volume Differnce Indicator Delta

float change_src = ta.change(src)
float i_obv = ta.cum(change_src > 0 ? volume : change_src < 0 ? -volume : 0 * volume)
float i_pvt = ta.pvt

float result = ta.change(i_obv - i_pvt)

float nresult = ta.ema(normalize(result, -1, 1), 20)


// Volume Differnce Indicator Delta %B
length = input.int(20, minval=1, title='Volume Bands Length')
mult = input.float(2.0, minval=0.001, maxval=50, title='Volume Bands StdDev')
basis = ta.ema(nresult, length)
dev = mult * ta.stdev(nresult, length)
upper = basis + dev
lower = basis - dev
bbr = (nresult - lower) / (upper - lower)

// Normal %B, Based on close

l1 = input.int(20, minval=1, title='Bollinger Bands Length')
src2 = close
mult1 = input.float(2.0, minval=0.001, maxval=50, title='Bollinger Bands StdDev')
basis1 = ta.sma(src2, l1)
dev1 = mult1 * ta.stdev(src2, l1)
upper1 = basis1 + dev1
lower1 = basis1 - dev1
bbr1 = (src - lower1) / (upper1 - lower1)

/// Final Output Line

hist = ta.ema(ta.ema(ta.ema(bbr1 - bbr, input(2, title='Hist Smoothing Factor #1')), input(2, title='Hist Smoothing Factor #2')), input(2, title='Hist Smoothing Factor #3'))

/// Overbought / Oversold Line Creation
oversold = input(-.1)
overbought = input(.4)
hline(oversold, linewidth=2, color=color.new(#81c784, 62))
hline(overbought, linewidth=2, color=color.new(#c2185b, 38))

/// Long & Short Conditions

short = hist > overbought
long = hist < oversold

/// Colors & Plotting
histColor = hist >= 0 ? hist[1] < hist ? #26A69A : #B2DFDB : hist[1] < hist ? #FFCDD2 : #EF5350
plot(hist, title='Histogram', style=plot.style_columns, color=color.new(histColor, 0))

CrossBgColor = long ? color.new(#81c784, 62) : short ? color.new(#c2185b, 38) : na
bgcolor(color.new(CrossBgColor, 90))

/// Strategy Methodology

if inDateRange
    strategy.entry('long', strategy.long, when=long, stop=l_stop_level, limit=l_take_level)

if inDateRange and strategy.position_size > 0
    strategy.close_all(when=short)

if inDateRange
    strategy.entry('short', strategy.short, when=short, stop=s_stop_level, limit=s_take_level)

if inDateRange and strategy.position_size < 0
    strategy.close_all(when=long)



مزید