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

لکیری MACD ٹریڈنگ میں لکیری رجعت کا جادو کھول رہا ہےView

مصنف:چاؤ ژانگ، تاریخ: 2023-12-15 10:22:50
ٹیگز:

img

حکمت عملی کا نام: رفتار پر مبنی لکیری MACD حکمت عملی

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

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

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

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

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

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

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

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


/*backtest
start: 2023-12-07 00:00:00
end: 2023-12-14 00:00:00
period: 1m
basePeriod: 1m
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/
// © stocktechbot

//@version=5
strategy("Linear On MACD", overlay=true, margin_long=100, margin_short=100)



fast_length = input(title="Fast Length", defval=12)
slow_length = input(title="Slow Length", defval=26)
tolerance = input.string(title="Risk tolerance", defval = "LOW", options=["LOW", "HIGH"])

chng = 0
obv = ta.cum(math.sign(ta.change(close)) * volume)
if close < close[1] and (open < close)
    chng := 1
else if close > close[1]
    chng := 1
else
    chng := -1
obvalt = ta.cum(math.sign(chng) * volume)
//src = input(title="Source", defval=close)
src = obvalt
signal_length = input.int(title="Signal Smoothing",  minval = 1, maxval = 50, defval = 9)
sma_source = input.string(title="Oscillator MA Type",  defval="EMA", options=["SMA", "EMA"])
sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"])

// Calculating
fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
hist = macd - signal
//hline(0, "Zero Line", color=color.new(#787B86, 50))
//plot(hist, title="Histogram", style=plot.style_columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below)))
//plot(macd, title="MACD", color=col_macd)
//plot(signal, title="Signal", color=col_signal)
[macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9)

//Linear Regression

vol = volume

// Function to calculate linear regression
linregs(y, x, len) =>
    ybar = math.sum(y, len)/len
    xbar = math.sum(x, len)/len
    b = math.sum((x - xbar)*(y - ybar),len)/math.sum((x - xbar)*(x - xbar),len)
    a = ybar - b*xbar
    [a, b]

// Historical stock price data
price = close

// Length of linear regression
len = input(defval = 21, title = 'Lookback')

// Calculate linear regression for stock price based on volume
[a, b] = linregs(price, vol, len)

// Predicted stock price based on volume
predicted_price = a + b*vol

// Check if predicted price is between open and close
is_between = open < predicted_price and predicted_price < close


// Plot predicted stock price
plot(predicted_price, color=color.rgb(218, 27, 132), linewidth=2, title="Predicted Stock Price")
plot(ta.vwma(predicted_price,len), color=color.rgb(199, 43, 64), linewidth=2, title="Predicted Stock Price")

//BUY Signal
lincrossunder = close > predicted_price
macdrise = ta.rising(macd,2)
//macdvollong = ta.crossover(macd, signal)
//macdlong = ta.crossover(macdLine, signalLine)
macdvollong = macd > signal
macdlong = macdLine > signalLine
longCondition=false
if macdlong and macdvollong and is_between and ta.rising(predicted_price,1)
    longCondition := true

if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)
//Sell Signal
lincrossover = close < predicted_price
macdfall = ta.falling(macd,1)
macdsell = macd < signal
shortCondition = false
risklevel = predicted_price
if (tolerance == "HIGH")
    risklevel := ta.vwma(predicted_price,len)


if macdfall and macdsell and (macdLine < signalLine) and (close < risklevel)
    shortCondition := true


if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)


مزید