Estrategia de trading de ruptura de alta probabilidad y equilibrio de presión


Fecha de creación: 2023-11-13 11:40:53 Última modificación: 2023-11-13 11:40:53
Copiar: 2 Número de Visitas: 669
1
Seguir
1621
Seguidores

Estrategia de trading de ruptura de alta probabilidad y equilibrio de presión

Descripción general

Esta estrategia utiliza una combinación de indicadores para determinar la dirección de la tendencia y el momento de negociar, y utiliza un método de equilibrio de presión para aumentar la probabilidad de ganar las operaciones. Se utilizan principalmente los tres indicadores MACD, PSAR y EMA para juzgar, combinados con los paros de stop loss para obtener ganancias eficientes.

Principio de estrategia

  1. Utiliza la EMA para calcular la línea media y determinar la dirección de la tendencia general. Los valores más altos de EMA representan que se encuentra en una tendencia ascendente, mientras que los valores más bajos representan que se encuentra en una tendencia descendente.

  2. Utilizando el MACD para calcular el diferencial entre la línea rápida y la línea lenta, cuando el diferencial es mayor que 0 significa que se encuentra actualmente en una tendencia ascendente, y cuando el diferencial es menor que 0 significa que se encuentra actualmente en una tendencia descendente.

  3. Utiliza el PSAR para calcular los puntos de cambio continuos, cuando los valores más altos del PSAR representan que se encuentra actualmente en una tendencia descendente, y cuando los valores más bajos del PSAR representan que se encuentra actualmente en una tendencia ascendente.

  4. La combinación de los tres indicadores anteriores determina la consistencia de la tendencia. Cuando los resultados de los tres indicadores coinciden, la tendencia es más clara y se puede comprar o vender.

  5. Abrir posiciones de acuerdo con las condiciones de compra y venta, y establecer un punto de parada de pérdidas, cerrar las posiciones cuando se alcanzan las condiciones de parada de pérdidas o de parada, y obtener ganancias.

  6. Las reglas de operación son las siguientes:

    • Condiciones de compra: no al alza, MACD menor a 0, precio de cierre por encima de la media EMA
    • Condiciones de venta: tendencia al alza, MACD más de 0 y cierre por debajo de la línea media EMA
    • Condiciones de deterioro: el precio alcanza el siguiente valor de PSAR
    • Condiciones de frenado: alcanzar el porcentaje de frenado establecido

Ventajas estratégicas

  1. El uso de varios indicadores para juzgar tendencias mejora la precisión de los juicios.

  2. El equilibrio de la presión se utiliza para abrir posiciones cuando la tendencia es clara y aumentar la probabilidad de obtener ganancias.

  3. Establezca un punto de parada de pérdidas para limitar las pérdidas y bloquear los beneficios.

  4. Un sistema de reglas claras de transacción, adecuado para transacciones programadas.

  5. Se puede optimizar mediante parámetros y adaptarse a diferentes variedades y ciclos de negociación.

Riesgo estratégico

  1. La probabilidad de error en el análisis de tendencias puede conducir a la apertura de posiciones erróneas.

  2. En el caso de un mercado que se mueve con fuerza, los indicadores pueden emitir señales falsas.

  3. El punto de parada es demasiado grande para detenerlo a tiempo.

  4. Los parámetros están mal configurados, lo que hace que las transacciones sean demasiado frecuentes o que no se pueda abrir la posición a tiempo.

  5. La liquidez de la variedad de comercio es insuficiente y no se puede detener el paro de pérdidas según lo planeado.

  6. Se puede reducir el riesgo optimizando los parámetros, ajustando el punto de parada y seleccionando variedades de operaciones con buena liquidez.

Dirección de optimización de la estrategia

  1. Ajuste de los parámetros de los ciclos EMA para optimizar la precisión de las tendencias.

  2. Ajuste los parámetros de ciclo de línea rápida y lenta de MACD para optimizar la sensibilidad de los indicadores MACD.

  3. Ajuste los parámetros de la proporción de la parada de pérdida para obtener el equilibrio óptimo de la parada de pérdida.

  4. Añadir otros indicadores auxiliares para mejorar la precisión de la selección de la hora de abrir una posición.

  5. Optimizar la selección de variedades de comercio, elegir variedades con buena liquidez y mayor volatilidad.

  6. Ajustar el ciclo de tiempo de las transacciones a las características del mercado de las diferentes variedades.

Resumir

Esta estrategia utiliza una variedad de indicadores para determinar la tendencia, abrir posiciones cuando la tendencia es clara y establecer un stop-loss para capturar eficazmente el movimiento del mercado y obtener un rendimiento más ideal con la garantía de una cierta ganancia. Mediante la optimización de los parámetros y la adición de otros indicadores auxiliares, se puede mejorar aún más la estabilidad y el nivel de ganancia de la estrategia.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux99

//@version=4
strategy(title = "Crypto Scalper", overlay = true,  pyramiding=1,initial_capital = 100, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.03)
len = input(60, minval=1, title="Length EMA")
src = input(close, title="Source")
out = ema(src, len)
//
fast_length = input(title="Fast Length MACD", type=input.integer, defval=12)
slow_length = input(title="Slow Length MACD", type=input.integer, defval=26)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Oscillator MA Type MACD", type=input.string, defval="EMA", options=["SMA", "EMA"])
sma_signal = input(title="Signal Line MA Type MACD", type=input.string, defval="EMA", options=["SMA", "EMA"])

// Calculating
fast_ma = sma_source == "SMA" ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source == "SMA" ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal


start = input(0.02)
increment = input(0.02)
maximum = input(0.2)
var bool uptrend = na
var float EP = na
var float SAR = na
var float AF = start
var float nextBarSAR = na
if bar_index > 0
	firstTrendBar = false
	SAR := nextBarSAR
	if bar_index == 1
		float prevSAR = na
		float prevEP = na
		lowPrev = low[1]
		highPrev = high[1]
		closeCur = close
		closePrev = close[1]
		if closeCur > closePrev
			uptrend := true
			EP := high
			prevSAR := lowPrev
			prevEP := high
		else
			uptrend := false
			EP := low
			prevSAR := highPrev
			prevEP := low
		firstTrendBar := true
		SAR := prevSAR + start * (prevEP - prevSAR)
	if uptrend
		if SAR > low
			firstTrendBar := true
			uptrend := false
			SAR := max(EP, high)
			EP := low
			AF := start
	else
		if SAR < high
			firstTrendBar := true
			uptrend := true
			SAR := min(EP, low)
			EP := high
			AF := start
	if not firstTrendBar
		if uptrend
			if high > EP
				EP := high
				AF := min(AF + increment, maximum)
		else
			if low < EP
				EP := low
				AF := min(AF + increment, maximum)
	if uptrend
		SAR := min(SAR, low[1])
		if bar_index > 1
			SAR := min(SAR, low[2])
	else
		SAR := max(SAR, high[1])
		if bar_index > 1
			SAR := max(SAR, high[2])
	nextBarSAR := SAR + AF * (EP - SAR)

tplong=input(0.245, step=0.005)
sllong=input(1.0, step=0.005)
tpshort=input(0.055, step=0.005)
slshort=input(0.03, step=0.005)

if (uptrend and hist >0 and close < out)
	strategy.entry("short", strategy.short, stop=nextBarSAR, comment="short")
	strategy.exit("short_tp/sl", "short", profit=close * tpshort / syminfo.mintick, loss=close * slshort / syminfo.mintick, comment='SHORT EXIT',  alert_message = 'closeshort')
if (not uptrend and hist <0 and close > out)
	strategy.entry("long", strategy.long, stop=nextBarSAR, comment="long")
	strategy.exit("short_tp/sl", "long", profit=close * tplong / syminfo.mintick, loss=close * sllong / syminfo.mintick, comment='LONG EXIT',  alert_message = 'closelong')