وسائل لوڈ ہو رہے ہیں... لوڈنگ...

رشتہ دار حجم کی قیمت کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-12-28 17:54:44
ٹیگز:

img

جائزہ

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

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

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

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

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

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

فوائد کا تجزیہ

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

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

خطرے کا تجزیہ

اس حکمت عملی کا سب سے بڑا خطرہ یہ ہے کہ تجارتی حجم کے اشارے میں نئے رجحانات کا 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)


مزید