Esta estrategia es una estrategia de seguimiento de tendencias basada en el principio de destrucción de la dinámica, combinada con el RSI y los indicadores aleatorios. Utiliza el indicador DEMA para determinar la dirección de la dinámica de los precios, el indicador RSI para determinar la sobreventa y el indicador KDJ para ayudar a determinar la tendencia, y realiza operaciones de largo y corto en función de estas señales.
Esta estrategia utiliza el indicador DEMA para determinar la dirección de la movilidad de los precios. DEMA es un promedio móvil de dos índices, que es más sensible que el EMA normal y puede detectar cambios de tendencia antes. La estrategia determina la dirección y la intensidad de la movilidad de los precios calculando el porcentaje de diferencia entre el precio y el DEMA.
Cuando el aumento de los precios es mayor que el parámetro establecido, se considera que el precio está en una tendencia al alza; cuando el descenso de los precios es mayor que el parámetro establecido, se considera que el precio está en una tendencia a la baja. En combinación con el indicador RSI, se puede determinar si se encuentra en una zona de sobreventa o sobreventa.
Además, la estrategia también utiliza las líneas K y D aleatorias del indicador KDJ para confirmar la tendencia. Cuando la línea K aleatoria atraviesa la línea D, se establece una señal de multiplicación; cuando la línea K atraviesa la línea D, se establece una señal de blanqueo.
Finalmente, la estrategia incluye un filtro de tiempo que se aplica solo en los años, meses y días indicados, evitando transacciones innecesarias.
La estrategia tiene las siguientes ventajas:
El uso de la media móvil de doble índice DEMA para determinar la movilidad de los precios es más sensible y permite detectar los cambios de tendencia antes de tiempo.
Combine el indicador RSI para determinar si hay sobrecompra y sobreventa, y evite entrar en el mercado cerca de un punto de inflexión.
El indicador aleatorio KDJ puede utilizarse para confirmar señales de tendencia y filtrar algunas señales erróneas.
Se añade la condición de filtrado de tiempo, que permite operar solo dentro de los horarios especificados, evitando la ocupación innecesaria de fondos.
Desde el inicio, el proceso de análisis es claro, fácil de entender y modificar.
Los parámetros del indicador son ajustables y se pueden optimizar para diferentes variedades y períodos de tiempo.
También hay riesgos que deben ser considerados:
Indicadores como DEMA y RSI pueden emitir señales erróneas, lo que puede conducir a pérdidas innecesarias. Se pueden ajustar los parámetros adecuadamente o agregar condiciones de filtración para reducir la probabilidad de error.
La combinación de dos indicadores no puede evitar por completo una gran reversión de la tendencia, ya que puede haber pérdidas en un mercado con grandes sacudidas.
La configuración de intervalo de tiempo fijo puede perderse ciertos períodos de tiempo con oportunidades de negociación, y se recomienda agregar un control de tiempo de negociación más flexible.
El método de negociación de tendencias requiere un cierto retroceso y una preparación psicológica para soportar pérdidas continuas.
Se necesita una atención continua para optimizar los parámetros del indicador para adaptarse a los cambios en el mercado.
Esta estrategia puede ser optimizada en los siguientes aspectos:
Prueba más combinaciones de indicadores en busca de una lógica de estrategia de negociación más estable y fluida. Por ejemplo, MACD, KD, MOVING AVERAGE, etc.
Prueba y optimización de los parámetros indicadores para encontrar el rango óptimo de toma de valores de los parámetros.
Aumentar las estrategias de detención de pérdidas, como el movimiento de la detención de pérdidas, el seguimiento de la detención de pérdidas, etc., y reducir la retirada.
Aumentar las funciones de administración de dinero, como el número fijo de operaciones, el ajuste dinámico de posiciones, etc., para controlar el riesgo.
Optimización de la lógica de entrada y salida para garantizar una alta probabilidad de entrada y detener el daño lo antes posible.
Aumentar las condiciones de filtración para asegurar que la entrada se realice después de que la tendencia sea clara. Por ejemplo, indicadores de capacidad, indicadores de canal, etc.
Optimizar las estrategias de control de tiempo para que las operaciones se acerquen más al ritmo del mercado. Por ejemplo, las operaciones solo se realizan en los horarios de operaciones de los Estados Unidos o Asia.
Esta estrategia se basa en la negociación de tendencias, utiliza DEMA para determinar la dirección de la tendencia, RSI para determinar la sobrecompra y la sobreventa, KDJ confirma las señales para controlar el riesgo. Es simple de operar, tiene una lógica clara, es personalizable y es adecuado para mantener posiciones en la línea media y larga.
/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version= 2
strategy("DPD+STOCH+RSI ", overlay=false)
buyper =input(-1,step=0.1)
sellper=input(1,step=0.1)
demalen = input(50,title="Dema Length")
e1= ema(close,demalen)
e2=ema(e1,demalen)
demaprice = 2 * e1 - e2
price=close
demadifper = ((price-demaprice)/price)*100
plot(demadifper, color=red)
OverDemaPer = input(1, title="Band for OverBought")
UnderDemaPer= input(-1,title="Band for OverSold")
band1 = hline(OverDemaPer)
band0 = hline(UnderDemaPer)
zeroline=0
fill(band1, band0, color=green, transp=90)
lengthrsi = input(10)
overSold = input( 30 )
overBought = input( 55 )
vrsi = rsi(price, lengthrsi)
smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")
rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
srsilow=input(20)
srsiup=input(80)
yearfrom = input(2018)
yearuntil =input(2019)
monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)
if ( ( (demadifper<buyper) or crossover(demadifper,buyper)) and (vrsi<overSold) )
strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY")
else
strategy.cancel(id="BUY")
if ( vrsi>overBought and ( crossunder(k,d) ) and ( demadifper>sellper or crossunder(demadifper,sellper) ) )
strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND", comment="SELL")
else
strategy.cancel(id="SELL")