ملٹی انڈیکیٹر کراس ٹرینڈ ٹریکنگ اور حجم اور قیمت کو یکجا کرنے والی موافقت پذیر تجارتی حکمت عملی

MACD RSI RVI EMA
تخلیق کی تاریخ: 2024-11-27 16:58:35 آخر میں ترمیم کریں: 2024-11-27 16:58:35
کاپی: 0 کلکس کی تعداد: 446
1
پر توجہ دیں
1617
پیروکار

ملٹی انڈیکیٹر کراس ٹرینڈ ٹریکنگ اور حجم اور قیمت کو یکجا کرنے والی موافقت پذیر تجارتی حکمت عملی

جائزہ

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

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

اس حکمت عملی میں ایک کثیر سطحی سگنل کی توثیق کا طریقہ کار استعمال کیا گیا ہے جس میں بنیادی طور پر درج ذیل کلیدی اجزاء شامل ہیں: سب سے پہلے ، 20 دوروں اور 200 دوروں پر مشتمل اشاریہ منتقل اوسط ((EMA) کا استعمال کرتے ہوئے مجموعی طور پر مارکیٹ کے رجحان کا تعین کیا جاتا ہے۔ دوسرا ، MACD اشارے ((12 ، 26 ، 9) کا استعمال کرتے ہوئے رجحان کے رخ کو پکڑنے کے لئے۔ تیسرا ، نسبتا strong مضبوط اشارے ((RSI) اور نسبتا oscillating اشارے ((RVI) کا استعمال کرتے ہوئے مارکیٹ میں زیادہ خرید و فروخت کی حیثیت کی تصدیق کی جاتی ہے۔ آخر میں ، لین دین کے اشارے کے ذریعہ تجارت کی تصدیق کی جاتی ہے۔ خریداری کی شرائط کو ایک ہی وقت میں پورا کرنے کی ضرورت ہے۔

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

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

اسٹریٹجک رسک

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

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-10-27 00:00:00
end: 2024-11-26 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("MACD/RSI/RVI/EMA20-200/Volume BTC Auto Trading Bot", overlay=true, margin_long=100, margin_short=100)

// Parámetros de EMA
ema20Length = input(20, title="EMA 20 Length")
ema200Length = input(200, title="EMA 200 Length")

// Parámetros de MACD
macdFastLength = input(12, title="MACD Fast Length")
macdSlowLength = input(26, title="MACD Slow Length")
macdSignalSmoothing = input(9, title="MACD Signal Smoothing")

// Parámetros de RSI y RVI
rsiLength = input(14, title="RSI Length")
rviLength = input(14, title="RVI Length")

// Volumen mínimo para operar
minVolume = input(100, title="Min Volume to Enter Trade")

// Rango de precios de BTC entre 60k y 80k
minPrice = 60000
maxPrice = 80000

// Rango de precios BTC
inPriceRange = close >= minPrice and close <= maxPrice

// Cálculo de las EMAs
ema20 = ta.ema(close, ema20Length)
ema200 = ta.ema(close, ema200Length)
plot(ema20, color=color.green, title="EMA 20")
plot(ema200, color=color.red, title="EMA 200")

// Cálculo del MACD
[macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalSmoothing)
macdHist = macdLine - signalLine
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.orange, title="Signal Line")
hline(0, "MACD Zero Line", color=color.gray)
plot(macdHist, style=plot.style_histogram, color=(macdHist >= 0 ? color.green : color.red), title="MACD Histogram")

// Cálculo del RSI
rsi = ta.rsi(close, rsiLength)
hline(70, "RSI Overbought", color=color.red)
hline(30, "RSI Oversold", color=color.green)
plot(rsi, color=color.purple, title="RSI")

// Cálculo del RVI
numerator = (close - open) + 2 * (close[1] - open[1]) + 2 * (close[2] - open[2]) + (close[3] - open[3])
denominator = (high - low) + 2 * (high[1] - low[1]) + 2 * (high[2] - low[2]) + (high[3] - low[3])
rvi = ta.sma(numerator / denominator, rviLength)
plot(rvi, color=color.blue, title="RVI")

// Volumen
volumeCondition = volume > minVolume

// Condiciones de compra
bullishCondition = ta.crossover(macdLine, signalLine) and rsi < 70 and rvi > 0 and close > ema20 and close > ema200 and inPriceRange and volumeCondition

// Condiciones de venta
bearishCondition = ta.crossunder(macdLine, signalLine) and rsi > 30 and rvi < 0 and close < ema20 and close < ema200 and inPriceRange and volumeCondition

// Configuración del trailing stop loss
trail_stop = input(true, title="Enable Trailing Stop")
trail_offset = input.float(0.5, title="Trailing Stop Offset (%)", step=0.1)

// Funciones para la gestión del Trailing Stop Loss
if (bullishCondition)
    strategy.entry("Buy", strategy.long)
    var float highestPrice = na
    highestPrice := na(highestPrice) ? high : math.max(high, highestPrice)
    strategy.exit("Trailing Stop", "Buy", stop=highestPrice * (1 - trail_offset / 100))

if (bearishCondition)
    strategy.entry("Sell", strategy.short)
    var float lowestPrice = na
    lowestPrice := na(lowestPrice) ? low : math.min(low, lowestPrice)
    strategy.exit("Trailing Stop", "Sell", stop=lowestPrice * (1 + trail_offset / 100))
plotshape(bullishCondition, title="Buy Signal", location=location.belowbar, color=color.new(color.green, 0), style=shape.labelup, text="BUY")
plotshape(bearishCondition, title="Sell Signal", location=location.abovebar, color=color.new(color.red, 0), style=shape.labeldown, text="SELL")