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

موٹیمم اشارے کے ساتھ کثیر ای ایم اے کراس اوور ٹریڈنگ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-12-05 16:37:24
ٹیگز:ای ایم اےآر ایس آئیایم اے سی ڈیSLٹی پی

img

جائزہ

یہ حکمت عملی ایک مقداری تجارتی نظام ہے جس میں متعدد تیزی سے چلنے والی اوسط (ای ایم اے) ، رشتہ دار طاقت انڈیکس (آر ایس آئی) ، اور چلنے والی اوسط کنورجنس تغیر (ایم اے سی ڈی) کو یکجا کیا گیا ہے۔ یہ حکمت عملی متعدد تکنیکی اشارے کے ہم آہنگی کے ذریعے ایک مکمل تجارتی فیصلے کا فریم ورک تشکیل دیتی ہے۔ یہ چار ای ایم اے لائنز (10, 20, 50, اور 100 دن) کو اہم رجحان فیصلے کے اوزار کے طور پر استعمال کرتی ہے ، جس میں آر ایس آئی اور ایم اے سی ڈی کے ساتھ مل کر معاون تصدیق کے اشارے کے طور پر شامل ہوتا ہے ، جبکہ خطرہ پر قابو پانے کے لئے اسٹاپ نقصان اور منافع حاصل کرنا۔

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

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

  1. چلتی اوسط نظام: رجحان فیصلے کے نظام کی تعمیر کے لئے 4 ای ایم اے (10/20/50/100) کا استعمال کرتا ہے ، جس میں 10 دن اور 20 دن سمیت قلیل مدتی ای ایم اے ، اور 50 دن اور 100 دن کے درمیانی اور طویل مدتی ای ایم اے شامل ہیں۔
  2. انٹری سگنل: لانگ پوزیشنز کے لیے طویل مدتی ای ایم اے کے اوپر مختصر مدت کے ای ایم اے، 50 سے اوپر آر ایس آئی اور سگنل لائن کے اوپر ایم اے سی ڈی لائن کراسنگ کی ضرورت ہوتی ہے۔ شارٹ پوزیشنز کے لیے مخالف شرائط کی ضرورت ہوتی ہے۔
  3. رسک مینجمنٹ: 1.5 فیصد سٹاپ نقصان اور 3 فیصد منافع لینے کے تناسب کا تعین کرتا ہے ، جو ایک مکمل منی مینجمنٹ میکانزم تشکیل دیتا ہے۔
  4. تصدیق کا نظام: تجارتی درستگی کو بہتر بنانے کے لئے رجحان کی تصدیق کے اوزار کے طور پر RSI اور MACD کا استعمال کرتا ہے۔

حکمت عملی کے فوائد

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

حکمت عملی کے خطرات

  1. ضمنی مارکیٹ کا خطرہ: رینج سے منسلک مارکیٹوں میں اکثر غلط سگنل پیدا کر سکتا ہے۔
  2. تاخیر کا خطرہ: چلتی اوسط سسٹم میں فطری تاخیر ہوتی ہے ، ممکنہ طور پر زیادہ سے زیادہ اندراج پوائنٹس کی کمی ہوتی ہے۔
  3. پیرامیٹر حساسیت: پیرامیٹر کے مختلف مجموعے کارکردگی میں نمایاں تغیرات کا باعث بن سکتے ہیں۔
  4. مارکیٹ کے ماحول پر انحصار: حکمت عملی رجحان سازی کی مارکیٹوں میں بہتر کارکردگی کا مظاہرہ کرتی ہے لیکن دیگر مارکیٹ کے حالات میں کم کارکردگی کا مظاہرہ کرسکتی ہے۔

اصلاح کی ہدایات

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

خلاصہ

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


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-04 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("4 EMA Strategy with RSI & MACD", shorttitle="4 EMA + RSI + MACD", overlay=true)

// Input EMA periods
ema1 = input(10, title="EMA 1")
ema2 = input(20, title="EMA 2")
ema3 = input(50, title="EMA 3")
ema4 = input(100, title="EMA 4")

// Input RSI & MACD settings
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(70, title="RSI Overbought")
rsiOversold = input(30, title="RSI Oversold")
macdFast = input(12, title="MACD Fast Length")
macdSlow = input(26, title="MACD Slow Length")
macdSignal = input(9, title="MACD Signal Length")

// Stop Loss and Take Profit Inputs
stopLossPct = input.float(1.5, title="Stop Loss %") / 100
takeProfitPct = input.float(3, title="Take Profit %") / 100

// Calculate EMAs
ema_1 = ta.ema(close, ema1)
ema_2 = ta.ema(close, ema2)
ema_3 = ta.ema(close, ema3)
ema_4 = ta.ema(close, ema4)

// Calculate RSI
rsi = ta.rsi(close, rsiLength)

// Calculate MACD
[macdLine, signalLine, _] = ta.macd(close, macdFast, macdSlow, macdSignal)

// Plot EMAs
plot(ema_1, color=color.blue, title="EMA 10")
plot(ema_2, color=color.green, title="EMA 20")
plot(ema_3, color=color.orange, title="EMA 50")
plot(ema_4, color=color.red, title="EMA 100")

// Entry Conditions
longCondition = ta.crossover(ema_1, ema_4) and ta.crossover(ema_2, ema_3) and rsi > 50 and macdLine > signalLine
shortCondition = ta.crossunder(ema_1, ema_4) and ta.crossunder(ema_2, ema_3) and rsi < 50 and macdLine < signalLine

// Declare Stop Loss and Take Profit Variables
var float stopLossPrice = na
var float takeProfitPrice = na
var line stopLossLine = na
var line takeProfitLine = na

// Long Trade
if (longCondition)
    strategy.entry("Buy", strategy.long)
    stopLossPrice := strategy.position_avg_price * (1 - stopLossPct)
    takeProfitPrice := strategy.position_avg_price * (1 + takeProfitPct)
    // stopLossLine := line.new(bar_index, stopLossPrice, bar_index + 1, stopLossPrice, color=color.red, width=2, style=line.style_dotted)
    // takeProfitLine := line.new(bar_index, takeProfitPrice, bar_index + 1, takeProfitPrice, color=color.green, width=2, style=line.style_dotted)

// Short Trade
if (shortCondition)
    strategy.entry("Sell", strategy.short)
    stopLossPrice := strategy.position_avg_price * (1 + stopLossPct)
    takeProfitPrice := strategy.position_avg_price * (1 - takeProfitPct)
    // stopLossLine := line.new(bar_index, stopLossPrice, bar_index + 1, stopLossPrice, color=color.red, width=2, style=line.style_dotted)
    // takeProfitLine := line.new(bar_index, takeProfitPrice, bar_index + 1, takeProfitPrice, color=color.green, width=2, style=line.style_dotted)

// Clear Lines on Trade Exit
// if (strategy.position_size == 0)
//     line.delete(stopLossLine)
//     line.delete(takeProfitLine)

// Exit Trades
if (strategy.position_size > 0)
    strategy.exit("Sell", from_entry="Buy", stop=stopLossPrice, limit=takeProfitPrice)

if (strategy.position_size < 0)
    strategy.exit("Cover", from_entry="Sell", stop=stopLossPrice, limit=takeProfitPrice)


متعلقہ

مزید