Estrategia de reversión de ruptura de corto plazo de cruce EMA 5


Fecha de creación: 2024-01-30 15:30:19 Última modificación: 2024-01-30 15:30:19
Copiar: 0 Número de Visitas: 677
1
Seguir
1617
Seguidores

Estrategia de reversión de ruptura de corto plazo de cruce EMA 5

Este artículo presenta una estrategia de inversión de ruptura de la línea corta basada en el indicador 5EMA. La estrategia utiliza principalmente el indicador 5EMA para determinar la tendencia de los precios y realizar una inversión de ruptura de los precios cuando se rompe el EMA.

Descripción general de la estrategia

La estrategia es una estrategia de cuantificación de línea corta, utilizada principalmente para el comercio de alta frecuencia. La estrategia juzgará las señales de tijeras y tijeras al mismo tiempo, y se puede negociar en dos direcciones. Se genera una señal de negociación cuando el precio rompe el indicador 5EMA y se entra en una posición de venta o ventaja según la dirección de la ruptura.

La ventaja de la estrategia consiste en capturar las oportunidades de reversión de precios en la línea corta y entrar rápidamente en el campo. El riesgo proviene principalmente de las pérdidas causadas por la falsa ruptura. Se puede reducir el riesgo de pérdidas mediante la optimización de los parámetros.

Principio de estrategia

  1. Utiliza el indicador de EMA de 5 ciclos para determinar la tendencia a corto plazo de los precios

  2. Determina si el precio ha roto el indicador EMA

  3. Cuando el precio sube hacia abajo y rompe la EMA, genera una señal de venta

  4. Cuando el precio rompe el EMA de abajo hacia arriba, genera una señal de compra

  5. Establezca puntos de parada y parada para limitar las pérdidas individuales

Debido a que el indicador EMA es capaz de juzgar con eficacia las tendencias a corto plazo, puede capturar rápidamente las oportunidades de negociación cuando los precios se invierten claramente. Los parámetros de 5EMA son más flexibles, reaccionan rápidamente al mercado y son adecuados para el comercio de alta frecuencia.

Ventajas estratégicas

  • La respuesta rápida es adecuada para capturar oportunidades de comercio en línea corta de alta frecuencia
  • El comercio bidireccional, que permite hacer más caídas al mismo tiempo.
  • La barra de detención de pérdidas está configurada de forma razonable, con un límite de pérdidas individuales
  • Ajuste de parámetros sencillo para una optimización de la estrategia fácil

Riesgos estratégicos y soluciones

  • El riesgo de una falsa brecha con pérdidas innecesarias
    • Optimización de los parámetros del ciclo EMA para asegurar la estabilidad del indicador
  • La frecuencia de las transacciones es demasiado alta para que se produzca una caída.
    • Limitar el número máximo de transacciones por día

Dirección de optimización de la estrategia

  • Optimización de los parámetros del indicador EMA para encontrar la combinación de ciclos óptima
  • Aumentar el filtro para reducir la probabilidad de falsos avances
  • Limitar el número máximo de transacciones por día
  • Indicadores de tendencias en combinación con otros indicadores

Resumir

En general, esta estrategia es una estrategia de brecha de línea corta muy práctica. El uso del indicador EMA para determinar la reversión de precios es muy simple y efectivo, y es una herramienta importante para la cuantificación de la negociación. Se recomienda aumentar considerablemente la probabilidad de victoria de la estrategia mediante la optimización de los parámetros y la configuración de control de viento.

Código Fuente de la Estrategia
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © samscripter

//@version=5
strategy("5 ema strategy",overlay = true,process_orders_on_close = true)

// Choose trade direction

t_dir = input.string("Both", title="Trade Direction",options=["Long", "Short", "Both"],group = 'Trade Direction Set')

long_side  = t_dir == "Long" or t_dir == "Both"
short_side = t_dir == "Short" or t_dir == "Both"

// number of trade
mx_num =input.int(4,title = 'number Of trade',group = 'Maximum Number Of Trade')
var hi =0.0
var lo =0.0

var group_ma1="Ema Set"

//Ema 1
on_ma=input.bool(true,"Enable EMa 1 Plot On/Off"  ,group =group_ma1)
ma_len= input.int(5, minval=1, title="Ema Length",group =group_ma1)
ma_src = input.source(close, title="Ema Source"   ,group = group_ma1)
ma_out = ta.ema(ma_src, ma_len)

// buy and sell ema condition  
plot(on_ma?ma_out:na, color=color.white, title="MA")


if close>ma_out and open>ma_out and low>ma_out and high>ma_out
    lo:=low

if close<ma_out and open<ma_out and low<ma_out and high<ma_out
    hi:=high
    
// condition when price is crossunder lo take sell and when price crossoing hi take buy 
var buyp_sl =float(na)
var sellp_sl =float(na)

//count number trade since day stra
var count_buysell=0

if  close>hi[1] 
    if strategy.position_size==0 and count_buysell<mx_num and long_side
        strategy.entry('El',strategy.long,comment = 'Long')
        count_buysell:=count_buysell+1
        buyp_sl:=math.min(low,low[1])
    hi:=na
if  close<lo[1]
    if strategy.position_size==0 and count_buysell<mx_num and short_side
        strategy.entry('Es',strategy.short,comment = 'short')
        count_buysell:=count_buysell+1
        sellp_sl:=math.max(high,high[1])
    lo:=na

//take profit multiply 

tpnew = input.float(title="take profit", step=0.1, defval=1.5, group='Tp/SL')


//stop loss previous candle high and previous candle low
buy_sl = ta.valuewhen(strategy.position_size != 0 and strategy.position_size[1] == 0,buyp_sl , 0)
sell_sl= ta.valuewhen(strategy.position_size != 0 and strategy.position_size[1] == 0,sellp_sl, 0)

//take profit
takeProfit_buy = strategy.position_avg_price - ((buy_sl - strategy.position_avg_price) *tpnew)
takeProfit_sell = strategy.position_avg_price - ((sell_sl - strategy.position_avg_price) *tpnew)


//  Submit exit orders
if strategy.position_size > 0
    strategy.exit(id='XL', stop=buy_sl,limit=takeProfit_buy,comment_loss = 'Long Sl',comment_profit = 'Long Tp')

if strategy.position_size < 0
    strategy.exit(id='XS', stop=sell_sl,limit=takeProfit_sell,comment_loss = 'Short Sl',comment_profit = 'Short Tp')
    
//plot data
plot(series=strategy.position_size < 0 ?sell_sl : na, style=plot.style_circles, color=color.red, linewidth=2, title="St red Stop")
plot(series=strategy.position_size > 0 ?buy_sl  : na, style=plot.style_circles, color=color.green, linewidth=2, title="St green Stop")


// plot take profit
plot(series=strategy.position_size < 0 ? takeProfit_sell : na, style=plot.style_circles, color=color.orange, linewidth=2, title="take profit sell")
plot(series=strategy.position_size > 0 ? takeProfit_buy: na, style=plot.style_circles, color=color.blue, linewidth=2, title="take profit buy")

if ta.change(time('D'))
    count_buysell:=0