Estrategia de compra de ruptura de línea positiva de KDJ


Fecha de creación: 2024-02-01 10:28:12 Última modificación: 2024-02-01 10:28:12
Copiar: 0 Número de Visitas: 1098
1
Seguir
1617
Seguidores

Estrategia de compra de ruptura de línea positiva de KDJ

Descripción general

La estrategia de compra de la línea de sol KDJ es una estrategia de negociación cuantitativa basada en el indicador KDJ. La estrategia utiliza principalmente la línea J del indicador KDJ y la cruz dorada de la línea D para formar una señal de compra, haciendo múltiples entradas al atravesar la línea D en la línea J. La estrategia es simple, fácil de implementar y adecuada para los principiantes en el comercio cuantitativo.

Principio de estrategia

El indicador técnico principal utilizado en esta estrategia es el indicador KDJ. El indicador KDJ contiene líneas K, D y J. Entre ellos:

K = (precio de cierre del día - precio más bajo en N días) * (precio más alto en N días - precio más bajo en N días) × 100;

D = promedio móvil de M días de K;

J es igual a 3K-2D.

De acuerdo con la configuración del indicador KDJ, cuando el valor de J sobrepasa el valor de D, indica que el precio de la acción se invierte hacia arriba, se puede hacer más; cuando el valor de J sobrepasa el valor de D, indica que el precio de la acción se invierte hacia abajo, se puede hacer un descuento.

La estrategia consiste en utilizar la regla anterior, en la línea J cuando se atraviesa la línea D, es decir, cuando se forma el tenedor, se juzga como una señal de compra y se hace una entrada adicional. La salida es una posición adicional cuando la señal de salida es mayor que la línea J.

Ventajas estratégicas

  1. El indicador KDJ para determinar el momento de comprar, que tiene en cuenta la información sobre la caída y baja de las acciones, es más confiable.

  2. Las reglas de discernimiento de señales estratégicas son sencillas, claras, fáciles de entender y adecuadas para los principiantes en el comercio cuantitativo.

  3. La estrategia Stop Loss es una estrategia para controlar el riesgo de manera efectiva.

  4. El espacio de optimización de los parámetros de la estrategia es amplio y la implementación es flexible.

Riesgo estratégico

  1. Los indicadores KDJ son propensos a la formación de señales falsas que pueden conducir a pérdidas.

  2. La corrección de la línea corta en el mercado posterior a la compra puede hacer que el stop loss se retire y no pueda capturar la tendencia general.

  3. La configuración incorrecta de los parámetros puede causar transacciones frecuentes o señales poco visibles.

  4. El impacto de los costos de transacción en las ganancias generales debe ser considerado.

Los principales métodos de control de riesgos: optimización razonable de los parámetros, mejora del índice de seguimiento, ampliación adecuada del margen de pérdida, etc.

Dirección de optimización

  1. Optimizar los parámetros de KDJ para encontrar la combinación óptima de parámetros.

  2. Aumentar las condiciones de filtración para evitar señales falsas. Se puede combinar con otros indicadores o formas para filtrar.

  3. Se puede elegir una configuración de parámetros diferente según el tipo de mercado.

  4. La amplitud de la parada de pérdidas puede ser relajada adecuadamente para reducir la probabilidad de que la parada de pérdidas se retire.

  5. El análisis de indicadores como el volumen de transacciones se puede combinar para evitar estafas.

Resumir

La estrategia de compra de KDJ es sencilla, práctica y fácil de implementar, especialmente adecuada para los principiantes de la transacción cuantitativa. La estrategia tiene ciertas ventajas comerciales, pero también hay algunos riesgos que requieren una optimización específica para aprovechar plenamente el valor de la estrategia. En general, la estrategia vale la pena centrarse en el estudio y la aplicación.

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

//  ## !<------------------ Script --------------------------> 
//@version=5
strategy('KDJ NVDA', shorttitle='KDJ')

ilong = input(9, title='period')
isig = input(3, title='signal')

bcwsma(s, l, m) =>
    _bcwsma = float(na)
    _s = s
    _l = l
    _m = m
    _bcwsma := (_m * _s + (_l - _m) * nz(_bcwsma[1])) / _l
    _bcwsma

// profit strategy add
profit_m = input.float(1.20,"Profit Margin",minval=1.0,maxval=1.99,step=0.05)
stop_m = input.float(0.98,"Stop Loss Margin",minval=0.0,maxval=1,step=0.05)

// Make input options that configure backtest date range
startDate = input.int(title="Start Date", defval=1, minval=1,maxval=31)
startMonth = input.int(title="Start Month", defval=1,minval=1,maxval=12)
startYear = input.int(title="Start Year", defval=2023,minval=2018,maxval=2024)
endDate = input.int(title="End Date", defval=1, minval=1,maxval=31)
endMonth = input.int(title="End Month", defval=1,minval=1,maxval=12)
endYear = input.int(title="End Year", defval=2024,minval=2018,maxval=2099)

// intialization of variables
// Look if the close time of the current bar
// falls inside the date range
inDateRange = (time >= timestamp(syminfo.timezone, startYear,startMonth, startDate, 0, 0)) and (time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0))

c = close
h = ta.highest(high, ilong)
l = ta.lowest(low, ilong)
RSV = 100 * ((c - l) / (h - l))
pK = bcwsma(RSV, isig, 1)
pD = bcwsma(pK, isig, 1)
pJ = 3 * pK - 2 * pD
KDJ = math.avg(pD, pJ, pK)

go_long= ta.crossunder(pD,pJ)


if (inDateRange and go_long)
    strategy.entry("S",strategy.long,comment="C")
	// strategy.exit("S", limit=c*profit_m, stop=c*stop_m, comment="SL/SP")
	
if (inDateRange and pJ > 100)
	strategy.close("S", comment="TP")
	
// Plot options
// plot(pK, color= #1E88E5)
// plot(pD, color=#FF6F00)
// plot(ma, color=color.yellow)
// bgcolor(pJ>pD? color.green : color.red)

plot(pK, title='% K', color=color.new(color.orange, 0))
plot(pD, title='% D', color=color.new(color.lime, 0))
plot(pJ, title='% J', color=color.new(color.fuchsia, 0))
plot(KDJ, title='KDJ', color=color.new(color.white, 0))
// </PINE> </SCRIPT>
// ## This source code is subject to the terms of the ozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// ## !<------------------ End Script -------------------------->