یہ حکمت عملی دوہری حرکت پذیر اوسط کراس اوورز پر مبنی ایک ذہین تجارتی نظام ہے ، جس میں بنیادی اشارے کے طور پر 9 پیریڈ اور 21 پیریڈ ایکسپونینشل موونگ اوسط (ای ایم اے) کا استعمال کیا جاتا ہے۔ اس حکمت عملی میں متحرک اسٹاپ نقصان اور منافع لینے کا طریقہ کار شامل ہے ، جو حقیقی وقت میں ای ایم اے کراس اوور سگنلز کی نگرانی کرکے خود بخود ٹریڈنگ آرڈرز کو انجام دیتا ہے۔ یہ نظام فیصد پر مبنی ٹریلنگ اسٹاپس اور فکسڈ تناسب لے منافع کی سطحوں کو استعمال کرتا ہے ، جس سے تجارتی حفاظت اور منافع کی صلاحیت دونوں کو یقینی بنایا جاسکتا ہے۔
بنیادی منطق تیز EMA (9-period) اور سست EMA (21-period) کے درمیان کراس اوور تعلقات پر کام کرتی ہے۔ جب تیز لائن سست لائن سے اوپر عبور کرتی ہے تو ، سسٹم ایک تیزی سے سگنل کو پہچانتا ہے ، خود بخود کسی بھی مختصر پوزیشن کو بند کرتا ہے اور لمبی پوزیشن کھولتا ہے۔ جب تیز لائن سست لائن سے نیچے عبور کرتی ہے تو ، سسٹم bearish سگنل کی نشاندہی کرتا ہے ، کسی بھی لمبی پوزیشن کو بند کرتا ہے اور مختصر پوزیشنیں کھولتا ہے۔ اس کے علاوہ ، سسٹم متحرک اسٹاپ نقصان اور منافع لینے کے طریقہ کار کو نافذ کرتا ہے۔ لمبی پوزیشنوں کے لئے ، اسٹاپ نقصان داخلہ قیمت سے 5٪ نیچے اور منافع حاصل کرنے کے 10٪ سے اوپر مقرر کیا جاتا ہے۔ مختصر پوزیشنوں کے لئے ، اسٹاپ نقصان داخلہ قیمت سے 5٪ اوپر اور منافع حاصل کرنے کے 10٪ سے نیچے مقرر کیا جاتا ہے۔
یہ حکمت عملی ایک مکمل اور منطقی طور پر صحت مند خودکار تجارتی نظام کی نمائندگی کرتی ہے۔ متحرک اسٹاپ نقصان اور منافع لینے کے طریقہ کار کے ساتھ مل کر ای ایم اے کراس اوور سگنلز کے ذریعے ، یہ رجحان سازی کی منڈیوں میں اچھی کارکردگی کا مظاہرہ کرسکتا ہے۔ تاہم ، صارفین کو مارکیٹ کے حالات کی نگرانی ، پیرامیٹرز کو اس کے مطابق ایڈجسٹ کرنے ، اور مناسب رسک کنٹرول برقرار رکھنے کی ضرورت ہے۔ مسلسل اصلاح اور اصلاح کے ذریعے ، اس حکمت عملی میں مستحکم اور قابل اعتماد تجارتی آلہ بننے کی صلاحیت ہے۔
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-28 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Cross Strategy", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // 添加策略参数设置 var showLabels = input.bool(true, "显示标签") var stopLossPercent = input.float(5.0, "止损百分比", minval=0.1, maxval=20.0, step=0.1) var takeProfitPercent = input.float(10.0, "止盈百分比", minval=0.1, maxval=50.0, step=0.1) // 计算EMA ema9 = ta.ema(close, 9) ema21 = ta.ema(close, 21) // 绘制EMA线 plot(ema9, "EMA9", color=color.blue, linewidth=2) plot(ema21, "EMA21", color=color.red, linewidth=2) // 检测交叉 crossOver = ta.crossover(ema9, ema21) crossUnder = ta.crossunder(ema9, ema21) // 格式化时间显示 (UTC+8) utc8Time = time + 8 * 60 * 60 * 1000 timeStr = str.format("{0,date,MM-dd HH:mm}", utc8Time) // 计算止损止盈价格 longStopLoss = strategy.position_avg_price * (1 - stopLossPercent / 100) longTakeProfit = strategy.position_avg_price * (1 + takeProfitPercent / 100) shortStopLoss = strategy.position_avg_price * (1 + stopLossPercent / 100) shortTakeProfit = strategy.position_avg_price * (1 - takeProfitPercent / 100) // 交易逻辑 if crossOver if strategy.position_size < 0 // 如果持有空仓 strategy.close("做空") // 先平掉空仓 strategy.entry("做多", strategy.long) // 开多仓 if showLabels label.new(bar_index, high, text="做多入场\n" + timeStr, color=color.green, textcolor=color.white, style=label.style_label_down, yloc=yloc.abovebar) if crossUnder if strategy.position_size > 0 // 如果持有多仓 strategy.close("做多") // 先平掉多仓 strategy.entry("做空", strategy.short) // 开空仓 if showLabels label.new(bar_index, low, text="做空入场\n" + timeStr, color=color.red, textcolor=color.white, style=label.style_label_up, yloc=yloc.belowbar) // 设置止损止盈 if strategy.position_size > 0 // 多仓止损止盈 strategy.exit("多仓止损止盈", "做多", stop=longStopLoss, limit=longTakeProfit) if strategy.position_size < 0 // 空仓止损止盈 strategy.exit("空仓止损止盈", "做空", stop=shortStopLoss, limit=shortTakeProfit)