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

کثیر تکنیکی اشارے متحرک موافقت پذیر تجارتی حکمت عملی (MTDAT)

مصنف:چاؤ ژانگ، تاریخ: 2024-11-29 14:54:57
ٹیگز:ایم اے سی ڈیآر ایس آئیبی بیاے ٹی آرایس ایم اےایس ڈی

img

جائزہ

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

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

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

  1. ایم اے سی ڈی ((12,26,9) رفتار شفٹ سگنلز کو پکڑنے کے لئے ، جب ایم اے سی ڈی لائن سگنل لائن کے اوپر عبور کرتی ہے تو خرید سگنل تیار کرتی ہے اور جب سگنل لائن کے نیچے عبور کرتی ہے تو سگنل فروخت کرتی ہے
  2. آر ایس آئی ((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)


متعلقہ

مزید