
এই কৌশলটি 300-চক্রের সূচকীয় চলমান গড় (ইএমএ) এর উপর ভিত্তি করে নির্মিত একটি ওভারল্যাপিং ট্রেডিং সিস্টেম। এই কৌশলটি মূলত দাম এবং ওভারল্যাপিং ব্যান্ডের ক্রস দ্বারা একটি ট্রেডিং সিগন্যাল উত্পন্ন করে এবং শতাংশ ভিত্তিক স্টপ শর্তগুলি সেট করে।
কৌশলটির মূল বিষয় হল ৩০০ চক্রের ইএমএর মাধ্যমে মূল্য কেন্দ্র স্থাপন করা, এবং স্ট্যান্ডার্ড ডিফারেনশিয়াল ব্যবহার করে উত্থান-পতনের ব্যান্ড তৈরি করা। যখন দাম নীচের ট্র্যাকটি ভেঙে যায় তখন ওভারসেল হিসাবে গণ্য করা হয় এবং যখন এটি ট্র্যাকটি ভেঙে যায় তখন ওভারসেল হিসাবে গণ্য করা হয়। নিম্নলিখিতগুলির মধ্যে রয়েছেঃ
এই কৌশলটি ইএমএ ওভারব্যান্ডের মাধ্যমে বাজার ওভারবয় ওভারসেলের সুযোগকে ক্যাপচার করে, লেনদেনের নিয়মগুলি স্পষ্ট, অপারেশনটি সহজ। তবে বাস্তব প্রয়োগে ঝুঁকি নিয়ন্ত্রণে মনোযোগ দেওয়া দরকার, সহায়ক সূচক যুক্ত করা, প্যারামিটার সেটিং অপ্টিমাইজ করা ইত্যাদির মাধ্যমে কৌশল স্থিতিশীলতা বাড়ানোর পরামর্শ দেওয়া হয়। কৌশলটি সামগ্রিকভাবে যুক্তিসঙ্গতভাবে ডিজাইন করা হয়েছে, ভাল ব্যবহারিক মূল্য এবং অপ্টিমাইজেশনের জায়গা রয়েছে।
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Estrategia de Compra/Venta en Bandas de EMA 300", overlay=true)
// Definir el período de la EMA
periodo = input.int(300, title="Período de la EMA")
// Calcular la EMA de 300
ema_300 = ta.ema(close, periodo)
// Definir el número de desviaciones estándar
num_desviaciones = input.float(2, title="Número de Desviaciones Estándar")
// Calcular la desviación estándar de la EMA de 300
desviacion = ta.stdev(close, periodo)
// Calcular los límites superior e inferior de las bandas
banda_superior = ema_300 + desviacion * num_desviaciones
banda_inferior = ema_300 - desviacion * num_desviaciones
// Definir el porcentaje para las señales de compra y venta
porcentaje = input.float(0.98, title="Porcentaje de Salida de Banda")
// Definir señales de compra y venta
compra = ta.crossover(close, banda_inferior)
venta = ta.crossunder(close, banda_superior)
// Calcular el precio de salida para las señales de compra y venta
precio_salida_compra = close * (1 + porcentaje / 100)
precio_salida_venta = close * (1 - porcentaje / 100)
// Plotear las bandas
plot(banda_superior, color=color.blue, linewidth=2, title="Banda Superior")
plot(banda_inferior, color=color.red, linewidth=2, title="Banda Inferior")
// Plotear las señales de compra y venta
plotshape(compra, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Compra")
plotshape(venta, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Venta")
// Simular operaciones
if (compra)
strategy.entry("Compra", strategy.long)
if (venta)
strategy.entry("Venta", strategy.short)
// Definir reglas de salida
if (strategy.position_size > 0)
strategy.exit("Exit Long", from_entry="Compra", limit=precio_salida_compra)
if (strategy.position_size < 0)
strategy.exit("Exit Short", from_entry="Venta", limit=precio_salida_venta)
// Crear alertas
alertcondition(compra, title="Alerta de Compra", message="¡Señal de Compra Detectada!")
alertcondition(venta, title="Alerta de Venta", message="¡Señal de Venta Detectada!")
// Mostrar alertas en el gráfico
if (compra)
label.new(bar_index, low, text="Compra", style=label.style_label_up, color=color.green, textcolor=color.white)
if (venta)
label.new(bar_index, high, text="Venta", style=label.style_label_down, color=color.red, textcolor=color.white)