ملٹی فیکٹر بیلنس آسکیلیٹر ٹریڈنگ حکمت عملی


تخلیق کی تاریخ: 2024-01-12 14:08:33 آخر میں ترمیم کریں: 2024-01-12 14:08:33
کاپی: 0 کلکس کی تعداد: 663
1
پر توجہ دیں
1617
پیروکار

ملٹی فیکٹر بیلنس آسکیلیٹر ٹریڈنگ حکمت عملی

جائزہ

ایک کثیر عنصر توازن oscillator ٹریڈنگ حکمت عملی ایک سے زیادہ تکنیکی اشارے سگنل کا استعمال کرتے ہوئے ایک جامع مقدار ٹریڈنگ حکمت عملی ہے. حکمت عملی کو ہوشیار طریقے سے تبدیلی کی شرح اشارے ((ROC) ، نسبتا مضبوط اشارے ((RSI) ، اجناس چینل اشارے ((CCI) ، ولیم اشارے ((% R) اور اوسط سمت اشارے ((ADX) کی توانائی کو یکجا کیا گیا ہے تاکہ ایک جامع اتار چڑھاؤ اشارے کا حساب کتاب کرکے مارکیٹ میں زیادہ سے زیادہ رجحانات کا اندازہ لگایا جاسکے اور تجارتی سگنل پیدا کیا جاسکے۔

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

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

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

  1. ہر ایک تکنیکی اشارے کی قدر کا حساب لگائیں: بشمول تبدیلی کی شرح اشارے ((ROC) ، رشتہ دار طاقت اشارے ((RSI) ، اجناس چینل اشارے ((CCI) ، ولیم اشارے ((%R) اور اوسط سمت اشارے ((ADX))

  2. مختلف تکنیکی اشارے کی اقدار کو 0 سے 1 کے درمیان معیاری بنائیں تاکہ موازنہ کیا جاسکے

  3. وزن والے اوسط کے ذہن کا استعمال کرتے ہوئے ، ایک جامع اتار چڑھاؤ کے اشارے کی قدر کا حساب لگائیں۔ ہر تکنیکی اشارے کا ایک ایڈجسٹ وزن ہوتا ہے ، جس میں ROC 2 ، RSI 0.5 ، CCI 2 ،٪ R 0.5 ، ADX 0.5 کو ڈیفالٹ کیا جاتا ہے۔ ہر معیاری اشارے کی قدر کو اس کے متعلقہ وزن سے ضرب دیں ، پھر جمع کریں ، اور پھر وزن کے مجموعی حصے پر تقسیم کریں ، جس سے آپ کو ایک جامع اتار چڑھاؤ کی قیمت مل جائے گی جو 0-1 کے درمیان ہے۔

  4. جب یہ جامع اتار چڑھاؤ مناسب طریقے سے قائم اوورلوڈ لائن اور اوورلوڈ لائن کو عبور کرتا ہے تو اس کے مطابق ٹریڈنگ سگنل پیدا ہوتا ہے

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

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

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

  1. معروضی ، نظام کے ساتھ مارکیٹ تجزیہ کے طریقوں کی فراہمی۔ متعدد تکنیکی اشارے کا استعمال کرتے ہوئے ، ایک ہی آلے کی خامیوں سے گریز کریں ، جبکہ مقداری طریقوں سے عملی تجارتی سگنل تیار کریں۔

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

  3. اونچائی کو اپنی مرضی کے مطابق ایڈجسٹ کیا جاسکتا ہے۔ انفرادی تجارتی طرز کے مطابق مختلف مارکیٹ کے حالات کے مطابق ہر اشارے کے وزن اور پیرامیٹرز کو ایڈجسٹ کیا جاسکتا ہے۔

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

  5. سخت ری سائیکلنگ اور اصلاح ریئل ڈسک سے پہلے ، تاریخی اعداد و شمار کی بھرپور ری سائیکلنگ کے ذریعے ، حکمت عملی کے پیرامیٹرز کا فیصلہ اور ان کو بہتر بنایا جاسکتا ہے ، جس سے عملی جنگ کی تاثیر میں اضافہ ہوتا ہے۔

اسٹریٹجک رسک

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

  1. پیرامیٹرز کو بہتر بنانے کا خطرہ۔ اگر اشارے کے وزن اور پیرامیٹرز کی ترتیب غلط ہو تو ، یہ اصل ڈسک کے اثر کو متاثر کرے گا۔ اس وقت زیادہ سے زیادہ ریٹرننگ کے ذریعے بہترین پیرامیٹرز تلاش کرنے کی ضرورت ہے۔

  2. اوور بیئر اوور سیل بینڈ سیٹنگ رسک۔ مختلف حالات میں اوور بیئر اوور سیل کا فیصلہ مختلف ہوتا ہے ، بینڈ سیٹنگ کو بڑے حالات پر غور کرنے کی ضرورت ہوتی ہے۔

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

  4. مقداری ماڈل کی حدود۔ کسی بھی مقداری ماڈل کو بعض حالات میں ناکام ہوسکتا ہے۔ آپریٹر کو ابھی بھی کافی خطرے سے آگاہ رہنے کی ضرورت ہے۔

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

اصلاح کی سمت

کثیر عنصر توازن oscillator کے ٹریڈنگ کی حکمت عملی کو مندرجہ ذیل پہلوؤں میں مزید بہتر بنایا جا سکتا ہے:

  1. ملٹی فیکٹر ماڈل کو مزید افزودہ کرنا۔ مزید مختلف قسم کے تکنیکی اشارے شامل کرنے پر غور کیا جاسکتا ہے ، تاکہ ماڈل کی فہم کو بہتر بنایا جاسکے۔

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

  3. بنیادی اور میکرو پہلوؤں کو ملا کر۔ اقتصادی اعداد و شمار ، کارکردگی کی رپورٹوں اور اس طرح کے بنیادی عوامل میں اضافہ کریں تاکہ مارکیٹ کی صورتحال کا اندازہ لگایا جاسکے۔

  4. مارکیٹ کے ماحول میں تبدیلی کے مطابق ، اشارے کے وزن اور پیرامیٹرز کو متحرک طور پر ایڈجسٹ کرنے کے لئے موافقت پذیر ایڈجسٹمنٹ کا استعمال کریں۔

  5. اسٹاپ نقصان کا طریقہ کار متعارف کرانا۔ معقول اسٹاپ نقصان کی حد طے کریں ، انفرادی نقصان کو فعال طور پر کنٹرول کریں۔

  6. انٹیگریٹڈ فنڈ مینجمنٹ۔ پوزیشن کے سائز کو انعقاد کے سائز کے مطابق ایڈجسٹ کریں ، تاکہ رقم کا انتظام کیا جاسکے۔

خلاصہ کریں۔

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

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

// © Julien_Eche

//@version=5
strategy("Ultimate Balance Oscillator Strategy", overlay=true)

// Indicator Weights
weightROC = input.float(2, "Rate of Change (ROC) Weight", group="Weightings")
weightRSI = input.float(0.5, "Relative Strength Index (RSI) Weight", group="Weightings")
weightCCI = input.float(2, "Commodity Channel Index (CCI) Weight", group="Weightings")
weightWilliamsR = input.float(0.5, "Williams %R Weight", group="Weightings")
weightADX = input.float(0.5, "Average Directional Index (ADX) Weight", group="Weightings")

// ROC Settings
rocLength = input.int(20, "Length", minval=1, group="ROC")

// RSI Settings
rsiLength = input.int(14, "Length", minval=1, group="RSI")

// CCI Settings
cciLength = input.int(20, "Length", minval=1, group="CCI")

// Williams %R Settings
williamsRLength = input.int(14, "Length", minval=1, group="Williams %R")

// ADX Settings
adxLength = input.int(14, "ADX Length", minval=1, group="ADX")
adxDiLength = input.int(14, "DI Length", minval=1, group="ADX")

// Source
source_options = input.string("hlc3", "Source", options=["open", "high", "low", "close", "hl2", "hlc3", "ohlc4"])

price_open = request.security(syminfo.tickerid, "D", open)
price_high = request.security(syminfo.tickerid, "D", high)
price_low = request.security(syminfo.tickerid, "D", low)
price_close = request.security(syminfo.tickerid, "D", close)
price_hl2 = request.security(syminfo.tickerid, "D", hl2)
price_hlc3 = request.security(syminfo.tickerid, "D", hlc3)
price_ohlc4 = request.security(syminfo.tickerid, "D", ohlc4)

get_source(source_option) =>
    price = price_close
    if source_option == "open"
        price := price_open
    else if source_option == "high"
        price := price_high
    else if source_option == "low"
        price := price_low
    else if source_option == "close"
        price := price_close
    else if source_option == "hl2"
        price := price_hl2
    else if source_option == "hlc3"
        price := price_hlc3
    else
        price := price_ohlc4
    price

src = get_source(source_options)

// Overbought/Oversold Levels
obLevel = input.float(0.75, "Overbought Level")
osLevel = input.float(0.25, "Oversold Level")

// Calculating the indicators
rocValue = ta.change(close, rocLength)
rsiValue = ta.rsi(close, rsiLength)
cciValue = (src - ta.sma(src, cciLength)) / (0.015 * ta.dev(src, cciLength))
williamsRValue = -100 * (ta.highest(high, williamsRLength) - close) / (ta.highest(high, williamsRLength) - ta.lowest(low, williamsRLength))

dirmov(len) =>
    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)
    truerange = ta.rma(ta.tr, len)
    plus = fixnan(100 * ta.rma(plusDM, len) / truerange)
    minus = fixnan(100 * ta.rma(minusDM, len) / truerange)
    [plus, minus]

adx(dilen, adxlen) =>
    [plus, minus] = dirmov(dilen)
    sum = plus + minus
    adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)

adxValue = adx(adxDiLength, adxLength)

// Normalizing the values
normalize(value, min, max) =>
    (value - min) / (max - min)

normalizedROC = normalize(rocValue, ta.lowest(rocValue, rocLength), ta.highest(rocValue, rocLength))
normalizedRSI = normalize(rsiValue, 0, 100)
normalizedCCI = normalize(cciValue, ta.lowest(cciValue, cciLength), ta.highest(cciValue, cciLength))
normalizedWilliamsR = normalize(williamsRValue, ta.lowest(williamsRValue, williamsRLength), ta.highest(williamsRValue, williamsRLength))
normalizedADX = normalize(adxValue, 0, 50)

// Calculating the combined oscillator line
oscillatorLine = (normalizedROC * weightROC + normalizedRSI * weightRSI + normalizedCCI * weightCCI + normalizedWilliamsR * weightWilliamsR + normalizedADX * weightADX) / (weightROC + weightRSI + weightCCI + weightWilliamsR + weightADX)

// Strategy conditions
enterLong = ta.crossover(oscillatorLine, obLevel)
exitLong = ta.crossunder(oscillatorLine, osLevel)

// Strategy orders
if (enterLong)
    strategy.entry("Buy", strategy.long)
if (exitLong)
    strategy.close("Buy")

// Alert conditions
if (enterLong)
    alert("Buy signal")
if (exitLong)
    alert("Exit signal")