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

EMA RSI MACD SL TP
تخلیق کی تاریخ: 2024-12-05 16:37:24 آخر میں ترمیم کریں: 2024-12-05 16:37:24
کاپی: 0 کلکس کی تعداد: 511
1
پر توجہ دیں
1617
پیروکار

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

جائزہ

یہ حکمت عملی ایک مقداری تجارتی نظام ہے جس میں ایک سے زیادہ اشاریہ چلتی اوسط ((EMA) ، نسبتا strong مضبوط اشاریہ ((RSI) ، اور ایک چلتی اوسط رجحانات کے متفرق اشارے ((MACD) شامل ہیں۔ یہ حکمت عملی ایک سے زیادہ تکنیکی اشارے کے ہم آہنگی سے کام کرتی ہے ، جس سے ایک مکمل تجارتی فیصلہ سازی کا فریم ورک تشکیل دیا جاتا ہے۔ حکمت عملی میں 10 ، 20 ، 50 اور 100 دن کی چار EMA مساوی لائنیں اہم رجحانات کے فیصلے کے لئے استعمال کی جاتی ہیں ، اور RSI اور MACD کو معاون تصدیق کے اشارے کے طور پر جوڑ دیا جاتا ہے ، جبکہ خطرے کو کنٹرول کرنے کے لئے روکنے اور روکنے کے اشارے مرتب کیے جاتے ہیں۔

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

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

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

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

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

اسٹریٹجک رسک

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

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

  1. متحرک پیرامیٹرز ایڈجسٹمنٹ: مارکیٹ میں اتار چڑھاؤ کی شرح کی متحرک ایڈجسٹمنٹ کے مطابق میڈین لائن کا دورانیہ اور RSI کی حد کو ایڈجسٹ کیا جاسکتا ہے۔
  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)