ملٹی ٹیکنیکل انڈیکیٹر ڈائنامک اڈاپٹیو ٹریڈنگ اسٹریٹیجی (MTDAT)

MACD RSI BB ATR SMA SD
تخلیق کی تاریخ: 2024-11-29 14:54:57 آخر میں ترمیم کریں: 2024-11-29 14:54:57
کاپی: 0 کلکس کی تعداد: 506
1
پر توجہ دیں
1617
پیروکار

ملٹی ٹیکنیکل انڈیکیٹر ڈائنامک اڈاپٹیو ٹریڈنگ اسٹریٹیجی (MTDAT)

جائزہ

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

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

اس حکمت عملی میں متعدد سطحوں پر مشتمل تکنیکی اشارے کی توثیق کا نظام شامل ہے ، بشمول:

  1. MACD ((12 ، 26 ، 9)) حرکیات کو تبدیل کرنے کے سگنل کو پکڑنے کے لئے استعمال کیا جاتا ہے ، جب MACD لائن پر سگنل لائن سے گزرتے ہیں تو خرید سگنل پیدا ہوتا ہے ، اور جب نیچے سے گزرتے ہیں تو فروخت سگنل پیدا ہوتا ہے
  2. RSI ((14) ایک ثانوی فلٹر کے طور پر ، 35 سے نیچے کو اوور سیل زون سمجھا جاتا ہے ، 65 سے اوپر کو اوور بل زون سمجھا جاتا ہے
  3. برن بینڈ ((20،2) قیمتوں کے اتار چڑھاو کی حد کی شناخت کے لئے استعمال کیا جاتا ہے ، جب قیمت نیچے کی راہ کو چھوتی ہے تو خریدنے پر غور کریں ، جب اوپر کی راہ کو چھوتی ہے تو فروخت پر غور کریں
  4. اے ٹی آر کو اسٹاپ نقصان اور منافع کی سطح کو متحرک طور پر طے کرنے کے لئے استعمال کیا جاتا ہے ، جس میں اسٹاپ نقصان 3x اے ٹی آر اور منافع کا ہدف 5x اے ٹی آر ہے

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

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

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

اسٹریٹجک رسک

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

رسک کنٹرول کی تجاویز:

  • فنڈ مینجمنٹ پلان پر سختی سے عمل کریں
  • پیرامیٹرز کو باقاعدگی سے چیک کریں اور ایڈجسٹ کریں
  • اہم اعداد و شمار کے اجراء کے دوران تجارت معطل کرنا
  • روزانہ زیادہ سے زیادہ نقصان کی حد مقرر کریں

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

  1. پیرامیٹرز کو بہتر بنائیں:

    • انڈیکیٹر پیرامیٹرز کو ایڈجسٹمنٹ سائیکل کا استعمال کرتے ہوئے غور کریں
    • اے ٹی آر ضارب کی ترتیبات کو بہتر بنائیں اور منافع کی شرح کو بہتر بنائیں
  2. سگنلنگ سسٹم میں بہتری:

    • ٹرانزیکشن اشارے کی توثیق شامل کریں
    • مارکیٹ کے جذبات کے اشارے متعارف کرانے
  3. رسک مینجمنٹ آپٹیمائزیشن:

    • متحرک پوزیشن مینجمنٹ کا احساس کریں۔
    • وقت کا فلٹر شامل کریں
  4. تکنیکی بہتری:

    • مارکیٹ میں اتار چڑھاؤ کے فلٹر شامل کریں
    • ٹائمنگ کے فیصلے کو بہتر بنائیں

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-11-21 00:00:00
end: 2024-11-28 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("XAUUSD STRATEGY 10MIN", overlay=true)

// Spread Adjustment (38-point spread)
spread = 38 * syminfo.mintick       

// MACD Calculation
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
macdBuy = ta.crossover(macdLine, signalLine)
macdSell = ta.crossunder(macdLine, signalLine)

// RSI Calculation
rsi = ta.rsi(close, 14)
rsiOverbought = rsi > 65
rsiOversold = rsi < 35

// Bollinger Bands Calculation
basis = ta.sma(close, 20)
dev = 2 * ta.stdev(close, 20)
upperBand = basis + dev
lowerBand = basis - dev

// ATR Calculation for Volatility-Based Stop Loss and Take Profit
atr = ta.atr(14)
stopLoss = 3 * atr
takeProfit = 5 * atr

// Variables to track entry price and line
var line entryLine = na
var int tradeNumber = 0
var string tradeType = ""
var string tradeSignalComment = ""

// Buy Condition
buyCondition = (macdBuy or rsiOversold or close < lowerBand)

// Sell Condition
sellCondition = (macdSell or rsiOverbought or close > upperBand)

// Strategy Entry and Alerts
if (buyCondition and strategy.opentrades == 0)  // Open a new buy trade
    // Remove the previous entry line if it exists
    // if not na(entryLine)
    //     line.delete(entryLine)
    
    // Adjust the entry price by adding the spread (ask price)
    buyPrice = close + spread

    // Enter a new buy trade at the ask price, and close it with the bid price
    strategy.entry("Buy", strategy.long, stop=buyPrice - stopLoss, limit=buyPrice + takeProfit, comment="Enter buy $" + str.tostring(buyPrice))
    tradeNumber := tradeNumber + 1  // Increment trade number
    tradeType := "Entry Long"
    tradeSignalComment := "Enter buy trade"
    
    // Plot new dotted entry line for the current trade
    // entryLine := line.new(bar_index, buyPrice, bar_index + 50, buyPrice, width=1, color=color.green, style=line.style_dotted)
    
    // Send alert for the buy entry
    alert("Trade No: " + str.tostring(tradeNumber) + "\n" +
          "Signal: " + tradeType + " - " + tradeSignalComment + "\n" +
          "Date/Time: " + str.format("{0,date,dd-MM-yyyy HH:mm}", time) + "\n" +
          "Price: " + str.tostring(buyPrice), alert.freq_once_per_bar_close)

if (sellCondition and strategy.opentrades == 0)  // Open a new sell trade
    // Remove the previous entry line if it exists
    // if not na(entryLine)
    //     line.delete(entryLine)
    
    // Adjust the entry price by subtracting the spread (bid price)
    sellPrice = close - spread

    // Enter a new sell trade at the bid price, and close it with the ask price
    strategy.entry("Sell", strategy.short, stop=sellPrice + stopLoss, limit=sellPrice - takeProfit, comment="Enter sell $" + str.tostring(sellPrice))
    tradeNumber := tradeNumber + 1  // Increment trade number
    tradeType := "Entry Short"
    tradeSignalComment := "Enter sell trade"
    
    // Plot new dotted entry line for the current trade
    // entryLine := line.new(bar_index, sellPrice, bar_index + 50, sellPrice, width=1, color=color.red, style=line.style_dotted)
    
    // Send alert for the sell entry
    alert("Trade No: " + str.tostring(tradeNumber) + "\n" +
          "Signal: " + tradeType + " - " + tradeSignalComment + "\n" +
          "Date/Time: " + str.format("{0,date,dd-MM-yyyy HH:mm}", time) + "\n" +
          "Price: " + str.tostring(sellPrice), alert.freq_once_per_bar_close)

// Exit conditions and alerts
if (strategy.position_size > 0 and sellCondition)  // Close buy when sell conditions met
    // Adjust the exit price by subtracting the spread (bid price)
    exitPrice = close - spread
    strategy.close("Buy", comment="Exit buy $" + str.tostring(exitPrice))
    
    // Remove the entry line when the trade is closed
    // if not na(entryLine)
    //     line.delete(entryLine)
    
    // Send alert for the buy exit
    tradeType := "Exit Long"
    tradeSignalComment := "Exit buy trade"
    alert("Trade No: " + str.tostring(tradeNumber) + "\n" +
          "Signal: " + tradeType + " - "  + tradeSignalComment + "\n" +
          "Date/Time: " + str.format("{0,date,dd-MM-yyyy HH:mm}", time) + "\n" +
          "Price: " + str.tostring(exitPrice), alert.freq_once_per_bar_close)

if (strategy.position_size < 0 and buyCondition)  // Close sell when buy conditions met
    // Adjust the exit price by adding the spread (ask price)
    exitPrice = close + spread
    strategy.close("Sell", comment="Exit sell $" + str.tostring(exitPrice))
    
    // Remove the entry line when the trade is closed
    // if not na(entryLine)
    //     line.delete(entryLine)
    
    // Send alert for the sell exit
    tradeType := "Exit Short"
    tradeSignalComment := "Exit sell trade"
    alert("Trade No: " + str.tostring(tradeNumber) + "\n" +
          "Signal: " + tradeType + " - " + tradeSignalComment + "\n" +
          "Date/Time: " + str.format("{0,date,dd-MM-yyyy HH:mm}", time) + "\n" +
          "Price: " + str.tostring(exitPrice), alert.freq_once_per_bar_close)

// Plot Indicators
plot(upperBand, title="Upper Bollinger Band", color=color.blue)
plot(lowerBand, title="Lower Bollinger Band", color=color.blue)