Estrategias de compra y venta de puntos basadas en retrocesos y rupturas secuenciales TD


Fecha de creación: 2024-04-01 11:23:26 Última modificación: 2024-04-01 11:23:26
Copiar: 3 Número de Visitas: 755
1
Seguir
1617
Seguidores

Estrategias de compra y venta de puntos basadas en retrocesos y rupturas secuenciales TD

Descripción general

La estrategia es una estrategia de breakout y retracción de puntos de venta y compra basada en la secuencia TD. Identifica los puntos de reversión de tendencia potenciales mediante la identificación de las líneas K de las raíces 8 y 9 de la secuencia TD.

Principio de estrategia

  1. Calcula la secuencia TD: Compara el precio de cierre actual con el precio de cierre anterior a las 4 líneas K para determinar si se produce una línea K de 8 o 9 subidas (o bajas) consecutivas.
  2. Determinar puntos de venta y venta: cuando aparezcan 8 o 9 líneas K consecutivas de subidas y bajadas, marque el punto de venta potencial en la línea K 8 o 9 (punto de compra).
  3. Considere la retirada: Observe si el precio se retira después de la ruptura de la serie TD. Si la ruptura se mantiene en la línea K de las raíces 13, 14, 15 o 16, la ruptura se considera válida, de lo contrario se considera una ruptura no válida.
  4. El uso de la relación entre las medias móviles de 10 y 20 días para determinar la dirección de la tendencia actual, como referencia para la toma de decisiones de compra y venta.

Ventajas estratégicas

  1. La capacidad de identificar con eficacia los posibles puntos de reversión de la tendencia, especialmente en una tendencia fuerte, los puntos de entrada de retiro después de la ruptura de la serie TD suelen obtener una mejor relación de riesgo-beneficio.
  2. Al considerar la retirada después de la ruptura de la secuencia TD, se puede filtrar eficazmente algunas señales falsas y mejorar la precisión del punto de entrada.
  3. El uso de medias móviles puede ayudar a determinar la dirección de la tendencia actual, lo que hace que la estrategia sea más efectiva en operaciones de tendencia.

Riesgo estratégico

  1. En un mercado convulso, la secuencia TD puede presentar una mayor cantidad de señales falsas, lo que provoca transacciones frecuentes y pérdidas de fondos.
  2. La estrategia es sensible a la selección de parámetros, que pueden necesitar optimización y ajuste en diferentes entornos de mercado.
  3. La estrategia carece de un mecanismo claro para detener los pérdidas, lo que puede suponer un mayor riesgo de retiro en el caso de una fuerte fluctuación del mercado.

Dirección de optimización de la estrategia

  1. La introducción de más indicadores técnicos, como el RSI, MACD, etc., para mejorar la fiabilidad de la señal y la eficacia del filtro.
  2. Para la retirada después de la ruptura de la secuencia TD, se puede considerar la introducción de criterios de juicio más flexibles, como el uso de indicadores como ATR para ajustar dinámicamente la tolerancia de la retirada.
  3. En cuanto a la determinación de tendencias, se puede intentar usar más combinaciones de períodos de tiempo, como las relaciones de medias móviles a corto y largo plazo, para obtener una determinación de tendencias más completa.
  4. La introducción de mecanismos de stop loss definidos, como el stop loss dinámico basado en el ATR, para controlar la pérdida máxima de una sola operación.

Resumir

La estrategia, a través de la combinación de la secuencia TD y las medias móviles, permite identificar con eficacia los puntos de reversión de la tendencia potencial y mejorar la precisión de los puntos de entrada al considerar las situaciones de retroceso. A pesar de los riesgos y limitaciones de la estrategia, las medidas de optimización, como la introducción de más indicadores técnicos, la optimización de los métodos de determinación de tendencias y la configuración de un mecanismo de detención de pérdidas claro, pueden mejorar aún más la solidez y la rentabilidad de la estrategia.

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

//@version=4
strategy("Dipak Shankarrao Chavhan", shorttitle="Dipak Chavhan", overlay=true, pyramiding=0, default_qty_value=10)
Numbers = input(true)
SR = input(true)

var int TD = 0
var int TS = 0
var int TDUp = 0
var int TDDn = 0

TD := close > close[4] ? TD[1] + 1 : 0
TS := close < close[4] ? TS[1] + 1 : 0
TDUp := TD - valuewhen(TD < TD[1], TD, 1)
TDDn := TS - valuewhen(TS < TS[1], TS, 1)

plotshape(Numbers ? (TDUp == 8 ? true : na) : na, style=shape.triangleup, text="8", color=color.new(color.green, 0), location=location.belowbar)
plotshape(Numbers ? (TDUp == 9 ? true : na) : na, style=shape.triangleup, text="9", color=color.new(color.green, 0), location=location.belowbar)
plotshape(Numbers ? (TDDn == 8 ? true : na) : na, style=shape.triangledown, text="8", color=color.new(color.red, 0), location=location.abovebar)
plotshape(Numbers ? (TDDn == 9 ? true : na) : na, style=shape.triangledown, text="9", color=color.new(color.red, 0), location=location.abovebar)

priceflip = barssince(close < close[4])
sellsetup = close > close[4] and priceflip
sell = sellsetup and barssince(priceflip != 9)
sellovershoot = sellsetup and barssince(priceflip != 13)
sellovershoot1 = sellsetup and barssince(priceflip != 14)
sellovershoot2 = sellsetup and barssince(priceflip != 15)
sellovershoot3 = sellsetup and barssince(priceflip != 16)
priceflip1 = barssince(close > close[4])
buysetup = close < close[4] and priceflip1
buy = buysetup and barssince(priceflip1 != 9)
buyovershoot = buysetup and barssince(priceflip1 != 13)
buyovershoot1 = buysetup and barssince(priceflip1 != 14)
buyovershoot2 = buysetup and barssince(priceflip1 != 15)
buyovershoot3 = buysetup and barssince(priceflip1 != 16)
TDbuyh = valuewhen(buy, high, 0)
TDbuyl = valuewhen(buy, low, 0)
TDsellh = valuewhen(sell, high, 0)
TDselll = valuewhen(sell, low, 0)
plot(SR ? (TDbuyh ? TDbuyl : na) : na, style=plot.style_circles, linewidth=2, color=color.red)
plot(SR ? (TDselll ? TDsellh : na) : na, style=plot.style_circles, linewidth=2, color=color.lime)

sma1 = sma(close, 10)
sma2 = sma(close, 20)



if TDbuyh
    strategy.entry("Enter Long", strategy.long)
else if TDselll
    strategy.entry("Enter Short", strategy.short)