یہ حکمت عملی 110 دن اور 200 دن کی تیزی سے چلنے والی اوسط (ای ایم اے) کے کراس اوور پر مبنی ایک رجحان کی پیروی کرنے والا تجارتی نظام ہے۔ یہ قلیل مدتی اور طویل مدتی ای ایم اے کے تقاطع کے ذریعے مارکیٹ کے رجحانات کی نشاندہی کرتا ہے ، جس میں رسک کنٹرول کے لئے اسٹاپ نقصان اور منافع لینے کے طریقہ کار شامل ہیں۔ یہ نظام رجحان کی تصدیق پر خود بخود لمبی اور مختصر پوزیشنوں کو انجام دیتا ہے جبکہ پوزیشن کے خطرے کی مسلسل نگرانی کرتا ہے۔
بنیادی منطق قیمت کے رجحانات کے تسلسل پر انحصار کرتی ہے ، جس میں رجحانات کے الٹ سگنلز کو پکڑنے کے لئے ای ایم اے 110 اور ای ایم اے 200 کراس اوورز کا استعمال کیا جاتا ہے۔ جب قلیل مدتی حرکت پذیر اوسط (ای ایم اے 110) طویل مدتی حرکت پذیر اوسط (ای ایم اے 200) سے تجاوز کرتا ہے تو ، یہ ایک اپ ٹرینڈ فارمیشن کی نشاندہی کرتا ہے ، جس سے لمبی پوزیشن شروع ہوتی ہے۔ اس کے برعکس ، جب قلیل مدتی حرکت پذیر اوسط طویل مدتی حرکت پذیر اوسط سے نیچے عبور کرتا ہے تو ، یہ نیچے کی طرف رجحان کی تشکیل کی نشاندہی کرتا ہے ، جس سے مختصر پوزیشن شروع ہوتی ہے۔ رسک مینجمنٹ کے لئے ، حکمت عملی منافع کو بچانے اور ممکنہ نقصانات کو محدود کرنے کے لئے ہر پوزیشن کے لئے 1٪ اسٹاپ نقصان اور 0.5 take منافع کی سطح طے کرتی ہے۔
یہ حکمت عملی اسٹاپ نقصان اور منافع لینے کے طریقہ کار کے ذریعہ خطرے کا انتظام کرتے ہوئے ، موزوں ڈیزائن اور منطقی سختی کا مظاہرہ کرتے ہوئے ، اوسطاً کراس اوور کے ذریعے رجحانات کو حاصل کرتی ہے۔ اگرچہ یہ مختلف مارکیٹوں میں کم کارکردگی کا مظاہرہ کرسکتا ہے ، لیکن تجویز کردہ اصلاحات حکمت عملی کے استحکام اور منافع کو مزید بڑھا سکتی ہیں۔ یہ حکمت عملی مستحکم منافع کی تلاش میں درمیانے اور طویل مدتی سرمایہ کاروں کے لئے موزوں ہے۔
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-18 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA110/200 Cross with Stop-Loss and Take-Profit", overlay=true) // 定义EMA110和EMA200 ema110 = ta.ema(close, 110) ema200 = ta.ema(close, 250) // 画出EMA plot(ema110, color=color.blue, title="EMA110") plot(ema200, color=color.red, title="EMA200") // 计算交叉信号 longCondition = ta.crossover(ema110, ema200) // EMA110上穿EMA200,做多 shortCondition = ta.crossunder(ema110, ema200) // EMA110下穿EMA200,做空 // 设置止损和止盈 stopLoss = 0.01 // 止损1% takeProfit = 0.005 // 止盈0.5% // 判断是否已有仓位 isLong = strategy.position_size > 0 // 当前是否为多头仓位 isShort = strategy.position_size < 0 // 当前是否为空头仓位 // 执行策略:做多时平空,做空时平多 if (longCondition and not isLong) // 如果满足做多条件并且当前没有多头仓位 if (isShort) // 如果当前是空头仓位,先平空 strategy.close("Short") strategy.entry("Long", strategy.long) // 执行做多 strategy.exit("Take Profit/Stop Loss", "Long", stop=close * (1 - stopLoss), limit=close * (1 + takeProfit)) if (shortCondition and not isShort) // 如果满足做空条件并且当前没有空头仓位 if (isLong) // 如果当前是多头仓位,先平多 strategy.close("Long") strategy.entry("Short", strategy.short) // 执行做空 strategy.exit("Take Profit/Stop Loss", "Short", stop=close * (1 + stopLoss), limit=close * (1 - takeProfit)) // 在表格中显示信号 var table myTable = table.new(position.top_right, 1, 1) if (longCondition and not isLong) table.cell(myTable, 0, 0, "Buy Signal", text_color=color.green) if (shortCondition and not isShort) table.cell(myTable, 0, 0, "Sell Signal", text_color=color.red)