کیمریلا سپورٹ اور ریزسٹنس ٹرینڈ ٹریڈنگ سسٹم کے ساتھ مل کر ایک سے زیادہ متحرک اوسط کراس اوور

EMA CPR SR
تخلیق کی تاریخ: 2025-01-06 11:13:31 آخر میں ترمیم کریں: 2025-01-06 11:13:31
کاپی: 0 کلکس کی تعداد: 373
1
پر توجہ دیں
1617
پیروکار

کیمریلا سپورٹ اور ریزسٹنس ٹرینڈ ٹریڈنگ سسٹم کے ساتھ مل کر ایک سے زیادہ متحرک اوسط کراس اوور

جائزہ

یہ حکمت عملی ٹریڈنگ سسٹم کے بعد ایک رجحان ہے جو ایک سے زیادہ ایکسپونینشل موونگ ایوریجز (EMA)، کیمریلا سپورٹ اور ریزسٹنس لیولز، اور سنٹرل پیوٹل رینج (CPR) کو یکجا کرتی ہے۔ حکمت عملی متعدد متحرک اوسطوں اور قیمت کی اہم حدود کے سلسلے میں قیمت کا تجزیہ کرکے مارکیٹ کے رجحانات اور ممکنہ تجارتی مواقع کی نشاندہی کرتی ہے۔ یہ نظام سخت فنڈ مینجمنٹ اور رسک کنٹرول کے اقدامات کو اپناتا ہے، بشمول فیصد پوزیشن کا سائز اور متنوع ایگزٹ میکانزم۔

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

حکمت عملی مندرجہ ذیل بنیادی اجزاء پر مبنی ہے:

  1. ایک سے زیادہ موونگ ایوریج سسٹم (EMA20/50/100/200) رجحان کی سمت اور طاقت کی تصدیق کے لیے استعمال کیا جاتا ہے۔
  2. کیمریلا سپورٹ اور ریزسٹنس لیولز (R3/S3) کلیدی قیمت کی سطحوں کی شناخت کے لیے استعمال کیے جاتے ہیں۔
  3. مرکزی قیمت کی حد (CPR) کا استعمال انٹرا ڈے ٹریڈنگ رینج کا تعین کرنے کے لیے کیا جاتا ہے۔
  4. داخلے کے سگنل EMA200 کے ساتھ قیمت کے کراس اوور اور EMA20 کی تصدیق پر مبنی ہیں۔
  5. باہر نکلنے کی حکمت عملیوں میں فکسڈ پوائنٹس اور فی صد موومنٹ موڈز شامل ہیں۔
  6. فنڈ مینجمنٹ سسٹم متحرک طور پر اکاؤنٹ کے سائز کے مطابق پوزیشن کے سائز کو ایڈجسٹ کرتا ہے۔

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

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

اسٹریٹجک رسک

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

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2020-01-06 00:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Pradeep Crude oil Entry and Exit", overlay=true)

// Input settings for EMAs
ema20_period = input.int(20, title="EMA 20 Period")
ema50_period = input.int(50, title="EMA 50 Period")
ema100_period = input.int(100, title="EMA 100 Period")
ema200_period = input.int(200, title="EMA 200 Period")

// Fixed line width settings for EMAs
ema20_width = 2  // EMA 20 Line Width
ema50_width = 2  // EMA 50 Line Width
ema100_width = 3 // EMA 100 Line Width
ema200_width = 4 // EMA 200 Line Width

// Backtesting inputs
initial_capital = input.float(50000, title="Initial Capital", minval=100)
position_size_percent = input.float(100, title="Position Size (% of Capital)", minval=0.1, maxval=100)
exit_mode = input.string("Price Movement", title="Exit Mode", options=["Price Movement", "Percentage Movement"])
exit_points = input.int(20, title="Exit After X Points", minval=1)
exit_percentage = input.float(1.0, title="Exit After X% Movement", minval=0.1, step=0.1)

// Calculate EMAs
ema20 = ta.ema(close, ema20_period)
ema50 = ta.ema(close, ema50_period)
ema100 = ta.ema(close, ema100_period)
ema200 = ta.ema(close, ema200_period)

// Signal conditions
long_entry_condition = close > ema200 and close > ema20 and close[1] <= ema200
long_exit_condition = (exit_mode == "Price Movement" and close - strategy.position_avg_price >= exit_points * syminfo.mintick) or 
                      (exit_mode == "Percentage Movement" and (close - strategy.position_avg_price) / strategy.position_avg_price * 100 >= exit_percentage)
short_entry_condition = close < ema200 and close < ema20 and close[1] >= ema200
short_exit_condition = (exit_mode == "Price Movement" and strategy.position_avg_price - close >= exit_points * syminfo.mintick) or 
                       (exit_mode == "Percentage Movement" and (strategy.position_avg_price - close) / strategy.position_avg_price * 100 >= exit_percentage)

// Plot EMAs with specified line widths
plot(ema20, color=color.green, title="EMA 20", linewidth=ema20_width)
plot(ema50, color=color.aqua, title="EMA 50", linewidth=ema50_width)
plot(ema100, color=color.blue, title="EMA 100", linewidth=ema100_width)
plot(ema200, color=color.red, title="EMA 200", linewidth=ema200_width)

// Camarilla Pivot Calculation
prev_high = request.security(syminfo.tickerid, "D", high[1])
prev_low = request.security(syminfo.tickerid, "D", low[1])
prev_close = request.security(syminfo.tickerid, "D", close[1])

R3 = prev_close + (prev_high - prev_low) * 1.1 / 2
S3 = prev_close - (prev_high - prev_low) * 1.1 / 2

// Central Pivot Range (CPR) Calculation
pivot = (prev_high + prev_low + prev_close) / 3
upper_cpr = pivot + (prev_high - prev_low)
lower_cpr = pivot - (prev_high - prev_low)

// Plot Camarilla R3, S3 and CPR levels
plot(R3, color=color.purple, title="Camarilla R3", linewidth=2)
plot(S3, color=color.purple, title="Camarilla S3", linewidth=2)
plot(pivot, color=color.yellow, title="CPR Pivot", linewidth=2)
plot(upper_cpr, color=color.green, title="CPR Upper", linewidth=1)
plot(lower_cpr, color=color.red, title="CPR Lower", linewidth=1)

// Backtesting: Capital and position size
capital = initial_capital
risk_per_trade = (position_size_percent / 100) * capital

// Long positions
if long_entry_condition
    strategy.entry("Long", strategy.long, qty=risk_per_trade / close)
    // Display entry price label
    label.new(bar_index, close, text="Entry: " + str.tostring(close), color=color.green, style=label.style_label_up, yloc=yloc.belowbar)

if long_exit_condition
    strategy.close("Long")
    // Display exit price label
    label.new(bar_index, close, text="Exit: " + str.tostring(close), color=color.red, style=label.style_label_down, yloc=yloc.abovebar)

// Short positions
if short_entry_condition
    strategy.entry("Short", strategy.short, qty=risk_per_trade / close)
    // Display entry price label
    label.new(bar_index, close, text="Entry: " + str.tostring(close), color=color.red, style=label.style_label_down, yloc=yloc.abovebar)

if short_exit_condition
    strategy.close("Short")
    // Display exit price label
    label.new(bar_index, close, text="Exit: " + str.tostring(close), color=color.green, style=label.style_label_up, yloc=yloc.belowbar)

// Plot signals
plotshape(long_entry_condition, style=shape.triangleup, location=location.belowbar, color=color.new(color.green, 0), size=size.small, title="Long Entry")
plotshape(long_exit_condition, style=shape.triangledown, location=location.abovebar, color=color.new(color.red, 0), size=size.small, title="Long Exit")
plotshape(short_entry_condition, style=shape.triangledown, location=location.abovebar, color=color.new(color.red, 0), size=size.small, title="Short Entry")
plotshape(short_exit_condition, style=shape.triangleup, location=location.belowbar, color=color.new(color.green, 0), size=size.small, title="Short Exit")