رفتار اور رجحان پر مبنی VWMA-ADX بٹ کوائن طویل حکمت عملی

VWMA ADX DMI SMA EMA RMA WMA HMA SMMA
تخلیق کی تاریخ: 2024-04-03 17:47:49 آخر میں ترمیم کریں: 2024-04-03 17:47:49
کاپی: 8 کلکس کی تعداد: 951
1
پر توجہ دیں
1617
پیروکار

رفتار اور رجحان پر مبنی VWMA-ADX بٹ کوائن طویل حکمت عملی

جائزہ

یہ حکمت عملی متعدد متحرک اوسطوں (VWMA) ، اوسط سمت اشاریہ (ADX) ، اور متحرک اشارے (DMI) کا استعمال کرتی ہے تاکہ وہ بٹ کوائن مارکیٹ میں متعدد مواقع پر قبضہ کرسکے۔ قیمت کی نقل و حرکت ، رجحان کی سمت اور تجارت کے حجم جیسے متعدد تکنیکی اشارے کو یکجا کرکے ، اس حکمت عملی کا مقصد اعلی رجحانات کے لئے مضبوط اور کافی مقدار میں داخل ہونے کے مقامات کو تلاش کرنا ہے ، جبکہ خطرے کو سختی سے کنٹرول کرنا ہے۔

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

  1. 9 ویں اور 14 ویں وی ڈبلیو ایم اے کا استعمال کرتے ہوئے کثیر سر رجحان کا تعین کریں ، کثیر سر سگنل پیدا ہوتا ہے جب قلیل مدتی اوسط طویل مدتی اوسط سے ٹکرا جاتا ہے۔
  2. 89 دن کی اونچائی اور کم قیمت VWMA کی طرف سے تعمیر کردہ ایک خود کار طریقے سے اوسط لائن کو رجحان فلٹر کے طور پر متعارف کرایا گیا ہے، صرف اس صورت میں جب بند ہونے والی قیمت یا کھلنے والی قیمت اس اوسط لائن سے زیادہ ہے تو پوزیشن کھولنے پر غور کریں.
  3. ADX اور DMI اشارے کے ذریعہ رجحان کی طاقت کی تصدیق کرنے کے لئے ، رجحان کو صرف اس وقت کافی مضبوط سمجھا جاتا ہے جب ADX 18 سے زیادہ ہو اور + DI اور -DI کا فرق 15 سے زیادہ ہو۔
  4. ٹرانزیکشن فیصد فنکشن کا استعمال کرتے ہوئے 60٪ سے 95٪ کے درمیان ٹرانزیکشن کو فلٹر کریں اور ٹرانزیکشن کے بہت کم وقت سے بچیں.
  5. سٹاپ نقصان 0.96 سے 0.99 گنا پہلے کے لائن کی اونچائی پر واقع ہے اور خطرے کو کنٹرول کرنے کے لئے وقت کے فریم میں اضافہ کے ساتھ کم ہوتا ہے۔
  6. جب پوزیشن رکھنے کا طے شدہ وقت پورا ہوجائے یا قیمت خود بخود اوسط لائن سے نیچے آجائے تو پوزیشن کو صاف کریں۔

طاقت کا تجزیہ

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

خطرے کا تجزیہ

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

اصلاح کی سمت

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Q_D_Nam_N_96

//@version=5
strategy("Long BTC Strategy", overlay=true, 
     default_qty_type = strategy.percent_of_equity, 
     default_qty_value = 100, initial_capital = 1000, currency = currency.USD)

Volume_Quartile(vol) =>
    qvol1 = ta.percentile_linear_interpolation(vol, 60,15)
    qvol2 = ta.percentile_linear_interpolation(vol, 60,95)
    vol > qvol1 and vol < qvol2

smma(src, length) =>
	smma =  0.0
	smma := na(smma[1]) ? ta.sma(src, length) : (smma[1] * (length - 1) + src) / length
	smma

ma(source, length, type) =>
    switch type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "RMA" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)
        "HMA" => ta.hma(source, length)
        "SMMA" => smma(source, length)

DMI(len, lensig) =>
    up = ta.change(high)
    down = -ta.change(low)
    plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
    minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
    trur = ta.rma(ta.tr, len)
    plus = fixnan(100 * ta.rma(plusDM, len) / trur)+11
    minus = fixnan(100 * ta.rma(minusDM, len) / trur)-11
    sum = plus + minus
    adx = 100 * ta.vwma(math.abs(plus - minus-11) / (sum == 0 ? 1 : sum), lensig)

    [adx, plus, minus]

cond1 = Volume_Quartile(volume*hlcc4)

ma1 = ma(close,9, "VWMA")
// plot(ma1, color = color.blue)
ma2 = ma(close,14, "VWMA")
// plot(ma2, color = color.orange)

n = switch timeframe.period
    "240" => 0.997
    => 0.995

ma3 = (0.1*ma(ta.highest(close,89),89, "VWMA") + 
     0.9*ma(ta.lowest(close,89),89, "VWMA"))*n

plot(ma3, color = color.white)

[adx, plus, minus] = DMI(7, 10)


cond2 = adx > 18 and plus - math.abs(minus) > 15

var int count = 0

if barstate.isconfirmed and strategy.position_size != 0
    count += 1
else
    count := 0

p_roc = 0
if timeframe.period == '240'
    p_roc := 14
else
    p_roc := 10

longCondition = ta.crossover(ma1, ma2) and (close > open ? close > ma3 : open > ma3) and ((ma3 - ma3[1])*100/ma3[1] >= -0.2) and ((close-close[p_roc])*100/close[p_roc] > -2.0)
float alpha = 0.0
float sl_src = high[1]
if (longCondition and cond1 and cond2 and strategy.position_size == 0)
    strategy.entry("buy", strategy.long)
    if timeframe.period == '240'
        alpha := 0.96
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+5, sl_src*alpha, width = 2, color = color.white)
    else if timeframe.period == '30'
        alpha := 0.985
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+20, sl_src*alpha, width = 2, color = color.white)
    else if timeframe.period == '45'
        alpha := 0.985
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+20, sl_src*alpha, width = 2, color = color.white)
    else if timeframe.period == '60'
        alpha := 0.98
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+20, sl_src*alpha, width = 2, color = color.white)
    else if timeframe.period == '120'
        alpha := 0.97
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+20, sl_src*alpha, width = 2, color = color.white)
    else if timeframe.period == '180'
        alpha := 0.96
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+20, sl_src*alpha, width = 2, color = color.white)
    else if timeframe.period == 'D'
        alpha := 0.95
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+20, sl_src*alpha, width = 2, color = color.white)
    else 
        alpha := 0.93
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+20, sl_src*alpha, width = 2, color = color.white)

period = switch timeframe.period
    "240" => 90
    "180" => 59
    "120" => 35
    "30" => 64
    "45" => 40
    "60" => 66
    "D" => 22
    => 64

if (count > period or close < ma3)
    strategy.close('buy', immediately = true)