
یہ حکمت عملی ایک مکمل ٹریڈنگ سسٹم ہے جس میں ڈبل مساوی لائن کراس سگنل ، اسٹاپ اور نقصان کا انتظام اور وقت کی فلٹرنگ شامل ہے۔ حکمت عملی کا مرکز مارکیٹ کے رجحانات کو پکڑنے کے لئے تیز رفتار اور سست رفتار اشاریہ حرکت پذیر اوسط (ای ایم اے) کی کراسنگ پر مبنی ہے ، اور اسٹاپ (ٹیک پروفیٹ) اور اسٹاپ (سٹاپ لاس) کی ترتیب کے ذریعہ خطرے کو کنٹرول کرتا ہے۔ اس کے علاوہ ، حکمت عملی میں وقت کی فلٹرنگ کی خصوصیات بھی شامل ہیں ، جس سے تاجر کو مخصوص وقت کی حد میں تجارت کرنے کی اجازت ملتی ہے۔
حکمت عملی مندرجہ ذیل بنیادی میکانزم کی بنیاد پر کام کرتی ہے:
یہ ایک اچھی طرح سے ڈیزائن کیا گیا رجحان ٹریکنگ حکمت عملی ہے ، جس میں یکساں لائن سسٹم ، رسک مینجمنٹ اور ٹائم فلٹرنگ کو ملا کر تاجروں کو ایک مکمل تجارتی حل فراہم کیا گیا ہے۔ حکمت عملی کی تشکیل قابل ہے ، جو مختلف خطرے کی ترجیحات والے تاجروں کے لئے موزوں ہے۔ تجویز کردہ اصلاح کی سمت کے ذریعہ ، حکمت عملی میں مزید بہتری کی گنجائش ہے۔ پیرامیٹرز کو اصل مارکیٹ کی صورتحال اور انفرادی تجارتی اہداف کے مطابق ایڈجسٹ کرنے کی کلید ہے ، اور ہمیشہ سخت خطرے پر قابو رکھنا ہے۔
/*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)