
La estrategia de reversión de la tendencia de las medias móviles dobles es una estrategia que se utiliza principalmente para el comercio a medio plazo en el mercado de divisas. La estrategia utiliza medias móviles de dos períodos diferentes para la generación de señales de comercio.
La estrategia utiliza promedios móviles de 1 hora y 1 día. Los promedios móviles de 1 hora son más sensibles a los cambios en los precios y se pueden usar como promedios móviles rápidos. Los promedios móviles de 1 día son más lentos para responder a los cambios en los precios y se pueden usar como promedios móviles lentos.
El principio para entrar en un pronóstico positivo o negativo y buscar una reversión es que cuando la media móvil rápida y la media móvil lenta se encuentran en un cruce de oro o en una horca muerta, indica que el mercado puede haber producido una reversión, y atravesar la línea rápida o la línea lenta es el momento para generar una señal de reversión. Según la teoría de la inversión, los precios generalmente no suben o bajan solo, y es muy probable que sea el momento en que el precio de la acción se revuelve después de una ruptura o un soporte y resistencia importantes.
La estrategia también establece condiciones de filtración de la hora y la fecha de la operación, que se realizan solo en el marco de la fecha establecida y dentro del período de negociación establecido, para evitar el comercio en períodos de tiempo inadecuados.
La estrategia de inversión de tendencia de las medias móviles dobles tiene las siguientes ventajas:
La estrategia de reversión tiene grandes ventajas. El comercio de reversión puede obtener mayores ganancias en situaciones de gran fluctuación de precios al hacer operaciones de reversión en puntos clave.
El uso de una combinación de medias móviles dobles filtra las señales, evitando falsas señales. Un solo indicador es fácil de generar falsas señales, mientras que una combinación de dos indicadores puede aumentar la fiabilidad de la señal, filtrar algunas falsas señales y hacer que las oportunidades de negociación sean más confiables.
Establecer las condiciones de la hora y la fecha de negociación, evitar los períodos de inactividad del mercado y evitar el bloqueo. Comerciar solo dentro de la hora y la fecha de negociación establecidas, evitar los períodos de gran volatilidad de los precios y evitar el bloqueo de la negociación.
La estrategia inversa es adecuada para el comercio a medio plazo. En comparación con el comercio de alta frecuencia, la estrategia de comercio a medio plazo es más estable y evita compras y ventas demasiado frecuentes.
El control de la máxima retirada es beneficioso para la administración de fondos. La configuración de la proporción máxima de retirada puede controlar el riesgo de overnight y evitar una pérdida considerable de fondos.
Las estrategias de inversiones en las medias móviles dobles también tienen los siguientes riesgos:
Las señales de reversión pueden fallar y causar pérdidas. Las señales de reversión de precios no siempre son confiables, y se enfrenta al riesgo de pérdidas cuando el precio continúa su trayectoria sin revertir. Se puede establecer un stop loss para controlar las pérdidas.
La desviación de la tendencia conlleva pérdidas. Una reversión cuando las medias móviles están claramente separadas puede suponer un riesgo de pérdidas. El momento de la reversión se puede determinar observando el intervalo de las medias móviles.
Si el horario de negociación no está configurado correctamente, puede perderse una oportunidad. Si el horario de negociación está configurado demasiado estrictamente, puede perderse algunas oportunidades de negociación. Se puede ampliar el horario de negociación adecuadamente.
No se puede detener la pérdida en el tiempo para expandirla después de la reversión. Si el precio continúa en la tendencia original después de la reversión, se debe detener la pérdida a tiempo para controlar la pérdida.
La estrategia de inversión de tendencia de las medias móviles dobles también se puede optimizar en los siguientes aspectos:
Pruebe más combinaciones de indicadores para encontrar mejores señales de negociación. Puede probar otros indicadores como MACD, KDJ y otros en combinación con las medias móviles dobles para mejorar la precisión de la señal.
Optimización de los parámetros de ciclo de las medias móviles, para encontrar el mejor parámetro. Se puede determinar el número óptimo de ciclos mediante la retroalimentación de los parámetros de diferentes longitudes de las medias móviles.
Amplía o reduce el tiempo de negociación para encontrar el mejor momento de negociación. De acuerdo con las características de las diferentes variedades, prueba el efecto de ajustar el período de negociación.
Se pueden agregar indicadores como el ADX para determinar la fuerza de la tendencia y evitar la inversión cuando no hay una tendencia evidente.
Aumentar la capacidad de los modelos de aprendizaje automático para la prueba de señales. Se puede entrenar a los modelos para juzgar la fiabilidad de las señales de inversión y filtrar algunas señales de baja calidad.
La estrategia de reversión de tendencia de doble media móvil es una estrategia adecuada para el comercio de divisas a medio plazo. Utiliza un promedio móvil rápido y un cruce dorado de promedios móviles lentos para generar señales de reversión y realizar operaciones inversas en puntos clave del mercado, con grandes ventajas.
/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 2h
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/
// © SoftKill21
//@version=4
strategy("gbpnzd 1h", overlay=true)
src = close
useCurrentRes = input(true, title="Use Current Chart Resolution?")
resCustom = input(title="Use Different Timeframe? Uncheck Box Above", type=input.resolution, defval="60")
len = input(28, title="Moving Average Length - LookBack Period")
//periodT3 = input(defval=7, title="Tilson T3 Period", minval=1)
factorT3 = input(defval=7, title="Tilson T3 Factor - *.10 - so 7 = .7 etc.", minval=0)
atype = input(2,minval=1,maxval=8,title="1=SMA, 2=EMA, 3=WMA, 4=HullMA, 5=VWMA, 6=RMA, 7=TEMA, 8=Tilson T3")
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 = 2000, title = "From Year", minval = 1970)
//monday and session
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
res = useCurrentRes ? timeframe.period : resCustom
resCustom2 = input(title="plm", type=input.resolution, defval="D")
res2 = resCustom2
//hull ma definition
hullma = wma(2*wma(src, len/2)-wma(src, len), round(sqrt(len)))
//TEMA definition
ema1 = ema(src, len)
ema2 = ema(ema1, len)
ema3 = ema(ema2, len)
tema = 3 * (ema1 - ema2) + ema3
//Tilson T3
factor = factorT3 *.10
gd(src, len, factor) => ema(src, len) * (1 + factor) - ema(ema(src, len), len) * factor
t3(src, len, factor) => gd(gd(gd(src, len, factor), len, factor), len, factor)
tilT3 = t3(src, len, factor)
avg = atype == 1 ? sma(src,len) : atype == 2 ? ema(src,len) : atype == 3 ? wma(src,len) : atype == 4 ? hullma : atype == 5 ? vwma(src, len) : atype == 6 ? rma(src,len) : atype == 7 ? 3 * (ema1 - ema2) + ema3 : tilT3
out = avg
ema20 = security(syminfo.tickerid, res, out)
plot3 = security(syminfo.tickerid, res2, ema20)
plot33 = security(syminfo.tickerid, res, ema20)
plot(plot3,linewidth=2,color=color.red)
plot(plot33,linewidth=2,color=color.white)
// longC = crossover(close[2], plot3) and close[1] > close[2] and close > close[1]
// shortc = crossunder(close[2],plot3) and close[1] < close[2] and close < close[1]
volumeMA=input(24)
ema_1 = ema(volume, volumeMA)
timeinrange(res, sess) => time(res, sess) != 0
//entrytime = timeinrange(timeframe.period, "0900-0915")
myspecifictradingtimes = input('0900-2300', type=input.session, title="My Defined Hours")
entrytime = time(timeframe.period, myspecifictradingtimes) != 0
longC = crossover(plot33,plot3) and time_cond and entrytime
shortc = crossunder(plot33,plot3) and time_cond and entrytime
// exitlong = crossunder(plot33,plot3)
// exitshort = crossover(plot33,plot3)
distanta=input(1.0025)
exitshort = plot33/plot3 > distanta
exitlong = plot3/plot33 > distanta
inverse = input(true)
exit = input(false)
if(inverse==false)
strategy.entry("long",1,when=longC)
strategy.entry("short",0,when=shortc)
if(inverse)
strategy.entry("long",1,when=shortc)
strategy.entry("short",0,when=longC)
if(exit)
strategy.close("long",when=exitlong)
strategy.close("short",when=exitshort)
// if(dayofweek==dayofweek.friday)
// strategy.close_all()
// risk = input(25)
// strategy.risk.max_intraday_loss(risk, strategy.percent_of_equity)