یہ حکمت عملی متعدد تکنیکی اشارے پر مبنی ایک جامع تجارتی نظام ہے ، جو رجحان اور الٹ جانے کے مواقع دونوں کو حاصل کرنے کے لئے ایم اے سی ڈی ، آر ایس آئی ، بولنگر بینڈ اور اے ٹی آر کو یکجا کرتا ہے۔ یہ حکمت عملی متحرک اسٹاپ نقصان اور منافع لینے کے طریقہ کار کو استعمال کرتی ہے ، جو مارکیٹ کی اتار چڑھاؤ کے مطابق تجارتی پیرامیٹرز کو موزوں کرتی ہے جبکہ خطرات کو مؤثر طریقے سے کنٹرول کرتی ہے۔ بیک ٹیسٹنگ کے نتائج میں تین ماہ کی جانچ کی مدت میں 676.27٪ واپسی ظاہر ہوتی ہے ، جو مارکیٹ کی اچھی موافقت کو ظاہر کرتی ہے۔
حکمت عملی میں ایک کثیر پرت والا تکنیکی اشارے کی توثیق کا نظام استعمال کیا گیا ہے ، جس میں شامل ہیں:
ٹریڈنگ منطق رجحان کی پیروی اور الٹ ٹریڈنگ کی حکمت عملی دونوں کو یکجا کرتی ہے ، متعدد توثیق کے ذریعے درستگی کو بہتر بناتی ہے۔ نظام خود بخود اسٹاپ نقصان اور منافع کی سطح کو ریئل ٹائم مارکیٹ میں اتار چڑھاؤ کی بنیاد پر ایڈجسٹ کرتا ہے ، جو خطرے کے انتظام کو متحرک طور پر بہتر بناتا ہے۔
خطرے کے کنٹرول کی سفارشات:
پیرامیٹر کی اصلاح:
سگنل سسٹم میں بہتری:
خطرے کے انتظام میں بہتری:
تکنیکی بہتری:
یہ حکمت عملی متعدد تکنیکی اشارے اور متحرک رسک مینجمنٹ سسٹم کے امتزاج کے ذریعے اچھے تجارتی نتائج حاصل کرتی ہے۔ اگرچہ ڈراؤونگ کے خطرات موجود ہیں ، لیکن اس حکمت عملی میں سخت رسک کنٹرول اور مسلسل اصلاح کے ذریعے مارکیٹ کی اچھی موافقت اور استحکام کا مظاہرہ کیا گیا ہے۔ تاجروں کو مشورہ دیا جاتا ہے کہ وہ اس حکمت عملی کا استعمال کرتے وقت رسک مینجمنٹ پروٹوکول کو سختی سے نافذ کریں اور مارکیٹ میں ہونے والی تبدیلیوں کے مطابق پیرامیٹرز کو ایڈجسٹ کریں۔
/*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)