یہ حکمت عملی ایک مکمل تجارتی نظام ہے جس میں دوہری ای ایم اے کراس اوور سگنل ، اسٹاپ نقصان / منافع حاصل کرنے کا انتظام ، اور وقت فلٹرنگ کو یکجا کیا گیا ہے۔ بنیادی حکمت عملی مارکیٹ کے رجحانات کو حاصل کرنے کے لئے تیز اور سست تیزی سے حرکت پذیر اوسط (ای ایم اے) کے کراس اوور پر مبنی ہے ، جس میں منافع اور نقصان کی روک تھام کی ترتیبات کے ذریعہ رسک کنٹرول ہے۔ اس کے علاوہ ، اس حکمت عملی میں وقت فلٹرنگ کی فعالیت شامل ہے جو تاجروں کو مخصوص وقت کی حدوں میں تجارت کو انجام دینے کی اجازت دیتی ہے۔
یہ حکمت عملی مندرجہ ذیل بنیادی طریقہ کار پر مبنی ہے:
یہ ایک اچھی طرح سے ڈیزائن کردہ رجحان کی پیروی کرنے والی حکمت عملی ہے جو ایک جامع تجارتی حل فراہم کرنے کے لئے ایک چلتی اوسط نظام ، رسک مینجمنٹ ، اور وقت فلٹرنگ کو جوڑتی ہے۔ حکمت عملی اعلی ترتیب کی پیش کش کرتی ہے ، جو مختلف رسک کی ترجیحات والے تاجروں کے لئے موزوں ہے۔ تجویز کردہ اصلاح کی سمتوں کے ذریعہ ، مزید بہتری کی گنجائش موجود ہے۔ کلید یہ ہے کہ مارکیٹ کے اصل حالات اور ذاتی تجارتی اہداف کی بنیاد پر پیرامیٹرز کو ایڈجسٹ کیا جائے جبکہ سخت رسک کنٹرول کو برقرار رکھا جائے۔
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Estrategia Cruce de EMAs con: Stop Loss, Take Profit, Días de Operación y Alertas (Modificables)", overlay=true, commission_value = 0.2, process_orders_on_close = true, initial_capital = 1000) // Parámetros de las EMAs emaRapidaLen = input.int(5, title="Periodo EMA rápida") emaLentaLen = input.int(21, title="Periodo EMA lenta") // Parámetros de Stop Loss y Take Profit stopLoss = input.float(3.0, title="Stop Loss (%)", step=0.1) / 100 takeProfit = input.float(6.0, title="Take Profit (%)", step=0.1) / 100 // Tipo de operación: Largo, Corto o Ambos operacion = input.string(title="Tipo de operación", defval="Largo", options=["Largo", "Corto", "Ambos"]) // Parámetros de la duración de la estrategia (días) diasInicio = input(timestamp("2009-01-03 00:00"), title="Fecha de inicio (YYYY-MM-DD HH:MM)") diasFin = input(timestamp("2024-09-11 00:00"), title="Fecha de fin (YYYY-MM-DD HH:MM)") // Comprobar si estamos dentro del rango de días definido dentroDeRango = true // Cálculo de las EMAs emaRapida = ta.ema(close, emaRapidaLen) emaLenta = ta.ema(close, emaLentaLen) // Condiciones para cruce de EMAs cruceAlcista = ta.crossover(emaRapida, emaLenta) cruceBajista = ta.crossunder(emaRapida, emaLenta) // Operaciones en Largo (solo si estamos en el rango de días definido) if dentroDeRango and (operacion == "Largo" or operacion == "Ambos") and cruceAlcista strategy.entry("Compra", strategy.long) alert("Posición larga abierta: Cruce alcista de EMAs", alert.freq_once_per_bar_close) // Operaciones en Corto (solo si estamos en el rango de días definido) if dentroDeRango and (operacion == "Corto" or operacion == "Ambos") and cruceBajista strategy.entry("Venta", strategy.short) alert("Posición corta abierta: Cruce bajista de EMAs", alert.freq_once_per_bar_close) // Cálculo del Stop Loss y Take Profit para largos if (strategy.position_size > 0 and strategy.opentrades.entry_id(strategy.opentrades - 1) == "Compra") strategy.exit("Cerrar Compra", "Compra", stop=strategy.position_avg_price * (1 - stopLoss), limit=strategy.position_avg_price * (1 + takeProfit)) alert("Posición larga cerrada: Alcanzado Stop Loss o Take Profit", alert.freq_once_per_bar_close) // Cálculo del Stop Loss y Take Profit para cortos if (strategy.position_size < 0 and strategy.opentrades.entry_id(strategy.opentrades - 1) == "Venta") strategy.exit("Cerrar Venta", "Venta", stop=strategy.position_avg_price * (1 + stopLoss), limit=strategy.position_avg_price * (1 - takeProfit)) alert("Posición corta cerrada: Alcanzado Stop Loss o Take Profit", alert.freq_once_per_bar_close) // Plot de las EMAs plot(emaRapida, color=color.blue, title="EMA rápida", linewidth = 2) plot(emaLenta, color=color.red, title="EMA lenta", linewidth = 2)