Estrategia de trading con cruces dorados de medias móviles


Fecha de creación: 2023-11-06 16:38:22 Última modificación: 2023-11-06 16:38:22
Copiar: 0 Número de Visitas: 704
1
Seguir
1617
Seguidores

Estrategia de trading con cruces dorados de medias móviles

Descripción general

La estrategia se basa en el principio de la horca de oro de los promedios móviles. La estrategia utiliza dos promedios móviles, que generan una señal de compra cuando el promedio móvil a corto plazo rompe el promedio móvil a largo plazo desde la parte inferior.

Principio de estrategia

La estrategia utiliza los períodos de promedio móvil de corto plazo, promedio móvil de largo plazo, promedio móvil de salida y las formas de cálculo de las promedias móviles personalizadas por el usuario.

Cuando las medias móviles a corto plazo se cruzan con las medias móviles a largo plazo desde abajo, se genera una señal de compra. Esto significa que la tendencia a corto plazo se convierte en una tendencia alcista y se puede comprar.

Cuando el precio de cierre cae por debajo de la salida de la media móvil, se genera una señal de venta. Esto significa que la tendencia se invierte y se debe salir de la posición.

Por lo tanto, la señal de negociación de la estrategia proviene de la intersección de las medias móviles de corto plazo y medias móviles de largo plazo y de la relación entre los precios de cierre y salida de las medias móviles.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. Es fácil de entender y fácil de hacer.

  2. Los parámetros se pueden personalizar para adaptarse a diferentes situaciones del mercado.

  3. Filtra el ruido con las medias móviles para captar las principales tendencias.

  4. Los indicadores técnicos, como la tendencia y la resistencia de soporte, se pueden optimizar aún más.

  5. La proporción de ganancias y pérdidas es controlada y tiene un mecanismo de suspensión de pérdidas.

Análisis de riesgos

La estrategia también tiene los siguientes riesgos:

  1. En un mercado de liquidación con poca tendencia, es fácil generar falsas señales.

  2. Si los parámetros no se establecen correctamente, se puede perder la tendencia o generar demasiadas transacciones no válidas.

  3. La posición de parada de pérdidas no es razonable y puede aumentar las pérdidas.

  4. El fracaso de la brecha puede causar pérdidas.

  5. Hay que ajustar los parámetros a la hora de adaptarse a los cambios del mercado.

Las soluciones para responder al riesgo incluyen: ajuste de parámetros de optimización, filtración de señales en combinación con otros indicadores, ajuste de la posición de stop loss, determinación de tendencias y participación posterior, etc.

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Desarrollar un mecanismo para determinar tendencias y luego generar señales de negociación.

  2. Se filtran las señales en combinación con el volumen de operaciones o el indicador de fluctuación.

  3. Optimización dinámica de los parámetros de ciclo de las medias móviles.

  4. Optimización de los mecanismos de detención de pérdidas para lograr la detención móvil.

  5. La combinación de soporte y resistencia, junto con otros indicadores, confirman aún más las señales de negociación.

  6. Ajuste de parámetros según la variedad y el ciclo.

Resumir

La estrategia de trading de la línea de la horquilla de la media móvil es una estrategia de seguimiento de la tendencia sencilla y práctica en general. Puede ajustar los parámetros según las condiciones del mercado y capturar la dirección de la tendencia principal en la situación de la tendencia.

Código Fuente de la Estrategia
/*backtest
start: 2022-10-30 00:00:00
end: 2023-11-05 00:00:00
period: 1d
basePeriod: 1h
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/
// © TwoChiefs

//@version=4
strategy("John EMA Crossover Strategy", overlay=true)
////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
 
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2020, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)
 
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
 
////////////////////////////////////////////////////////////////////////////////

//CREATE USER-INPUT VARIABLES

periodShort = input(13, minval=1, title="Enter Period for Short Moving Average")
smoothingShort = input(title="Choose Smoothing Type for Short Moving Average", defval="EMA", options=["RMA", "SMA", "EMA", "WMA", "VWMA", "SMMA", "DEMA", "TEMA", "HullMA", "LSMA"])

periodLong = input(48, minval=1, title="Enter Period for Long Moving Average")
smoothingLong = input(title="Choose Smoothing Type for Long Moving Average", defval="EMA", options=["RMA", "SMA", "EMA", "WMA", "VWMA", "SMMA", "DEMA", "TEMA", "HullMA", "LSMA"])

periodExit = input(30, minval=1, title="Enter Period for Exit Moving Average")
smoothingExit = input(title="Choose Smoothing Type for Exit Moving Average", defval="EMA", options=["RMA", "SMA", "EMA", "WMA", "VWMA", "SMMA", "DEMA", "TEMA", "HullMA", "LSMA"])


src1 = close
pivot = (high + low + close) / 3

//MA CALCULATION FUNCTION
ma(smoothing, src, length) => 
    if smoothing == "RMA"
        rma(src, length)
    else
        if smoothing == "SMA"
            sma(src, length)
        else 
            if smoothing == "EMA"
                ema(src, length)
            else 
                if smoothing == "WMA"
                    wma(src, length)
				else
					if smoothing == "VWMA"
						vwma(src, length)
					else
						if smoothing == "SMMA"
							na(src[1]) ? sma(src, length) : (src[1] * (length - 1) + src) / length
						
						else
							if smoothing == "HullMA"
								wma(2 * wma(src, length / 2) - wma(src, length), round(sqrt(length)))




//ASSIGN A MOVING AVERAGE RESULT TO A VARIABLE
shortMA=ma(smoothingShort, pivot, periodShort)
longMA=ma(smoothingLong, pivot, periodLong)
exitMA=ma(smoothingExit, pivot, periodExit)

//PLOT THOSE VARIABLES
plot(shortMA, linewidth=4, color=color.yellow,title="The Short Moving Average")
plot(longMA, linewidth=4, color=color.blue,title="The Long Moving Average")
plot(exitMA, linewidth=1, color=color.red,title="The Exit CrossUnder Moving Average")



//BUY STRATEGY
buy = crossover(shortMA,longMA) ? true : na
exit = crossunder(close,exitMA) ? true : na


strategy.entry("long",true,when=buy and time_cond)
strategy.close("long",when=exit and time_cond)


if (not time_cond)
    strategy.close_all()