SRSI اور MACD ذہین رسک کنٹرول سسٹم کے ساتھ مل کر متحرک اڈاپٹیو ملٹی انڈیکیٹر کراس اوور حکمت عملی

RSI SRSI MACD ATR
تخلیق کی تاریخ: 2025-02-20 13:07:37 آخر میں ترمیم کریں: 2025-02-27 17:44:09
کاپی: 1 کلکس کی تعداد: 329
2
پر توجہ دیں
319
پیروکار

SRSI اور MACD ذہین رسک کنٹرول سسٹم کے ساتھ مل کر متحرک اڈاپٹیو ملٹی انڈیکیٹر کراس اوور حکمت عملی SRSI اور MACD ذہین رسک کنٹرول سسٹم کے ساتھ مل کر متحرک اڈاپٹیو ملٹی انڈیکیٹر کراس اوور حکمت عملی

جائزہ

یہ حکمت عملی ایک متحرک تجارتی نظام ہے جس میں بے ترتیب نسبتا weak مضبوط اشارے ((SRSI) اور متحرک اوسط رجحان / پھیلاؤ اشارے ((MACD) کا امتزاج ہے۔ اس نے اے ٹی آر اشارے کے ذریعہ اسٹاپ نقصان اور اسٹاپ پوائنٹس کو متحرک طور پر ایڈجسٹ کیا ہے ، جس سے خطرے کا ذہین انتظام ممکن ہے۔ اس حکمت عملی کا بنیادی مقصد متعدد تکنیکی اشارے کی کراس تصدیق کے ذریعہ تجارتی سگنل پیدا کرنا ہے ، جبکہ مارکیٹ میں اتار چڑھاؤ کے ساتھ پوزیشن مینجمنٹ کرنا ہے۔

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

اس حکمت عملی کا کام مندرجہ ذیل بنیادی طریقہ کار پر مبنی ہے:

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

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

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

اسٹریٹجک رسک

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

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-09-01 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy(title="SRSI + MACD Strategy with Dynamic Stop-Loss and Take-Profit", shorttitle="SRSI + MACD Strategy", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// User Inputs
smoothK = input.int(3, "K", minval=1) 
smoothD = input.int(3, "D", minval=1) 
lengthRSI = input.int(16, "RSI Length", minval=1) 
lengthStoch = input.int(16, "Stochastic Length", minval=1) 
src = input(close, title="RSI Source") 
enableStopLoss = input.bool(true, "Enable Stop-Loss")  
enableTakeProfit = input.bool(true, "Enable Take-Profit")  
riskFactor = input.float(2.5, "Risk Factor", minval=0.1, step=1)  

// Calculate K and D lines
rsi1 = ta.rsi(src, lengthRSI) 
k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) 
d = ta.sma(k, smoothD) 
differenceKD = k - d 

// Calculate MACD and normalization
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9) 
lowestK = ta.lowest(k, lengthRSI) 
highestK = ta.highest(k, lengthRSI) 
normalizedMacd = (macdLine - ta.lowest(macdLine, lengthRSI)) / (ta.highest(macdLine, lengthRSI) - ta.lowest(macdLine, lengthRSI)) * (highestK - lowestK) + lowestK 
differenceKMacd = k - normalizedMacd 

// Sum both differences for a unique display
differenceTotal = (differenceKD + differenceKMacd) / 2

// Check if MACD is falling or rising
isMacdFalling = ta.falling(macdLine, 1)  
isMacdRising = ta.rising(macdLine, 1)  

// Check if K is falling or rising
isKFalling = ta.falling(k, 1)  
isKdRising = ta.rising(k, 1)  

// Calculate ATR and dynamic levels
atrValue = ta.atr(14)  
stopLossDistance = atrValue * riskFactor  
takeProfitDistance = atrValue * riskFactor  

// Variables for stop-loss and take-profit levels
var float longStopPrice = na
var float longTakeProfitPrice = na

// Buy and sell conditions with differenceKD added
buyCondition = ((differenceTotal > 0 or differenceKD > 0) and (isKdRising or isMacdRising) and k < 20 )  
sellCondition = ((differenceTotal <= 0 or differenceKD <= 0) and (isKFalling or isMacdFalling) and k > 80)  

// Execute strategy orders with conditional stop-loss and take-profit
if buyCondition and strategy.position_size == 0
    strategy.entry("Buy", strategy.long)

if strategy.position_size > 0
    longStopPrice := strategy.position_avg_price - stopLossDistance  
    longTakeProfitPrice := strategy.position_avg_price + takeProfitDistance  

    if enableStopLoss or enableTakeProfit
        strategy.exit("Sell/Exit", "Buy", stop=(enableStopLoss ? longStopPrice : na), limit=(enableTakeProfit ? longTakeProfitPrice : na))

if sellCondition
    strategy.close("Buy")  

// Hide lines when position is closed
stopLossToPlot = strategy.position_size > 0 ? longStopPrice : na
takeProfitToPlot = strategy.position_size > 0 ? longTakeProfitPrice : na

// Plot stop-loss and take-profit lines only when long positions are active
plot(enableStopLoss ? stopLossToPlot : na, title="Stop-Loss", color=color.yellow, linewidth=1, style=plot.style_linebr, offset=0, force_overlay=true) 
plot(enableTakeProfit ? takeProfitToPlot : na, title="Take-Profit", color=color.yellow, linewidth=1, style=plot.style_linebr, offset=0, force_overlay=true)

// Plot the MACD and candles

plot(normalizedMacd, "Normalized MACD", color=color.new(color.purple, 0), linewidth=1, display=display.all)

h0 = hline(80, "Upper Band", color=#787B86) 
hline(50, "Middle Band", color=color.new(#787B86, 50)) 
h1 = hline(20, "Lower Band", color=#787B86) 
fill(h0, h1, color=color.rgb(33, 150, 243, 90), title="Background")

// New candle based on the sum of differences
plotcandle(open=0, high=differenceTotal, low=0, close=differenceTotal, color=(differenceTotal > 0 ? color.new(color.green, 60) : color.new(color.red, 60)), title="K-D + MACD Candles")