متعلقہ حجم کی قیمت کی حکمت عملی


تخلیق کی تاریخ: 2023-12-28 17:54:44 آخر میں ترمیم کریں: 2023-12-28 17:54:44
کاپی: 0 کلکس کی تعداد: 623
1
پر توجہ دیں
1623
پیروکار

متعلقہ حجم کی قیمت کی حکمت عملی

جائزہ

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

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

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

سب سے پہلے ، ہم حالیہ 20 ادوار کے لئے تجارت کا ایک سادہ منتقل اوسط حساب کرتے ہیں ، جو تاریخی اوسط تجارت ہے۔ اس کے بعد ہم ایک ضرب پیرامیٹر (جیسے 1.5 گنا) مرتب کرتے ہیں ، جب موجودہ تجارت اوسط تجارت سے 1.5 گنا زیادہ ہوتی ہے تو ، ہم تجارت کو غیر معمولی سمجھتے ہیں ، اور اس کی نسبت سے حجم میں اضافہ ہوتا ہے۔

دوسرا، ہم نے اوسطاً 14 سائیکلوں کی اصل طول موج (ATR) کو قیمتوں میں اتار چڑھاؤ کی پیمائش کے طور پر شمار کیا ہے۔ اس کے ساتھ ساتھ اوسط طول موج کے معیاری فرق کو بھی شمار کیا گیا ہے۔ اگر موجودہ اصل طول موج اوسطاً منفی ایک معیاری فرق کے درمیان ہے تو ہم سمجھتے ہیں کہ قیمتوں میں اتار چڑھاؤ نسبتاً مستحکم ہے۔

جب مذکورہ بالا دونوں شرائط ایک ساتھ مل جاتی ہیں تو ، یہ ایک سے زیادہ سگنل جاری کرتا ہے ، زیادہ پوزیشن کھولتا ہے۔ پوزیشن رکھنے کے دوران ، زیادہ سے زیادہ کم سے کم دوگنا اے ٹی آر کو روکنے کی پوزیشن کے طور پر کم کریں ، زیادہ سے زیادہ سے کم سے دوگنا اے ٹی آر کو روکنے کی پوزیشن کے طور پر کم کریں۔

طاقت کا تجزیہ

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

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

خطرے کا تجزیہ

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

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

اصلاح کی سمت

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

  1. دوسرے اشارے کے فیصلے کو شامل کریں ، جیسے کہ اتار چڑھاؤ ، حجم وغیرہ ، تاکہ غیر معمولی سگنل کو زیادہ قابل اعتماد بنایا جاسکے۔

  2. اے ٹی آر پیرامیٹرز کو مختلف اسٹاک کے لئے بہتر بنایا جاسکتا ہے ، تاکہ قیمت کی استحکام کی حد کو زیادہ درست اندازہ لگایا جاسکے۔

  3. مشین لرننگ الگورتھم کو شامل کریں تاکہ تجارتی حجم کی غیر معمولی صورتحال کا مثبت اندازہ لگایا جاسکے ، نہ کہ صرف تاریخی اوسط سے آسان موازنہ کیا جاسکے۔

  4. گہری سیکھنے کے ماڈل کا استعمال کرتے ہوئے قیمتوں کے اتار چڑھاؤ کی پیش گوئی کریں ، نہ کہ صرف تاریخی اے ٹی آر پر۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2022-12-21 00:00:00
end: 2023-12-27 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/
// © DojiEmoji (kevinhhl)

//@version=4
strategy("[KL] Relative Volume + ATR Strategy",overlay=true,pyramiding=1)
ENUM_LONG = "Long"

// Timeframe {
backtest_timeframe_start = input(defval = timestamp("01 Apr 2016 13:30 +0000"), title = "Backtest Start Time", type = input.time)
USE_ENDTIME = input(false,title="Define backtest end-time (If false, will test up to most recent candle)")
backtest_timeframe_end = input(defval = timestamp("01 May 2021 19:30 +0000"), title = "Backtest End Time (if checked above)", type = input.time)
within_timeframe = true
// }
len_volat = input(14,title="Length of ATR to determine volatility")
ATR_volat = atr(len_volat)
avg_ATR_volat  = sma(ATR_volat, len_volat)
std_ATR_volat = stdev(ATR_volat, len_volat)
// }

// Trailing stop loss {
ATR_X2_TSL = atr(input(14,title="Length of ATR for trailing stop loss")) * input(2.0,title="ATR Multiplier for trailing stop loss",type=input.float)
TSL_source = low
var stop_loss_price = float(0)
TSL_line_color = color.green, TSL_transp = 100
if strategy.position_size == 0 or not within_timeframe
    TSL_line_color := color.black
    stop_loss_price := TSL_source - ATR_X2_TSL 
else if strategy.position_size > 0
    stop_loss_price := max(stop_loss_price, TSL_source - ATR_X2_TSL)
    TSL_transp := 0
plot(stop_loss_price, color=color.new(TSL_line_color, TSL_transp))
// }

// Signals for entry {
_avg_vol = sma(volume,input(20, title="SMA(volume) length (for relative comparison)"))
_relative_vol = _avg_vol * input(1.5,title="Multiple of avg vol to consider relative volume as being high",type=input.float)
__lowerOfOpenClose = min(open,close)
_wickRatio_lower = (__lowerOfOpenClose - low) / (high - low)
entry_signal1 = volume > _relative_vol
entry_signal2 = ATR_volat < avg_ATR_volat + std_ATR_volat and ATR_volat > avg_ATR_volat - std_ATR_volat
// }


alert_per_bar(msg)=>
    prefix = "[" + syminfo.root + "] "
    suffix = "(P=" + tostring(close) + "; atr=" + tostring(ATR_volat) + ")"
    alert(tostring(prefix) + tostring(msg) + tostring(suffix), alert.freq_once_per_bar)

// MAIN:
if within_timeframe
    if strategy.position_size > 0 and strategy.position_size[1] > 0 and (stop_loss_price/stop_loss_price[1]-1) > 0.005
        alert_per_bar("TSL raised to " + tostring(stop_loss_price))

    // EXIT ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::    // placed before entry, will re-enter if stopped out
	exit_msg = close <= strategy.position_avg_price ? "stop loss" : "take profit"
	if strategy.position_size > 0 and TSL_source <= stop_loss_price
        strategy.close(ENUM_LONG, comment=exit_msg)

    // ENTRY :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
	if entry_signal1 and entry_signal2// and entry_signal3
		entry_msg = strategy.position_size > 0 ? "adding" : "initial"
		strategy.entry(ENUM_LONG, strategy.long, comment=entry_msg)

// CLEAN UP:
if strategy.position_size == 0
	stop_loss_price := float(0)