Método de seguimiento inteligente de escaneo de puntos bajos


Fecha de creación: 2023-11-01 16:12:00 Última modificación: 2023-11-01 16:12:00
Copiar: 2 Número de Visitas: 650
1
Seguir
1617
Seguidores

Método de seguimiento inteligente de escaneo de puntos bajos

Descripción general

El rastreo inteligente de escaneo de puntos bajos es una estrategia de negociación de Forex no retrógrada. Utiliza un escáner de puntos bajos para buscar los puntos más bajos y combinar el promedio móvil de Hull para determinar las señales de negociación, lo que permite una alta tasa de éxito.

Análisis de principios

La estrategia primero utiliza un escáner de puntos bajos para encontrar el punto más bajo. El escáner de puntos bajos calcula el valor RSI de los precios y el volumen de transacciones, y luego lo compara con su curva WMA para determinar que el valor RSI es inferior al WMA como punto más bajo.

Luego, la estrategia utiliza la media móvil de Hull para determinar las señales de negociación. Calcula el Hull MA de dos períodos diferentes, haciendo más cuando el Hull MA de período corto atraviesa el Hull MA de período largo y vacío cuando el Hull MA de período largo atraviesa.

Finalmente, la estrategia combina el escaneo de puntos mínimos y la señal de Hull MA, y emite una señal de negociación de Hull MA solo cuando el escáner de puntos mínimos da la señal de puntos mínimos, formando una estrategia de entrada.

De esta manera, mediante la identificación de los mínimos del mercado y el seguimiento de la tendencia, se puede evitar el momento de entrada equivocado y mejorar la probabilidad de éxito del sistema de negociación.

Análisis de las ventajas

Las principales ventajas del rastreo inteligente de escaneo de puntos bajos son:

  1. El uso de un escáner de puntos bajos permite identificar con precisión los puntos más bajos del mercado y evitar el impacto de las compras en los puntos altos.

  2. El Hull MA es un buen indicador de seguimiento de tendencias, que permite capturar las tendencias más importantes de forma aleatoria.

  3. La combinación de escaneado de puntos bajos y Hull MA con la verificación mutua puede filtrar una gran cantidad de ruido y reducir las señales falsas.

  4. El sistema de suspensión progresiva de pérdidas permite bloquear al máximo las ganancias y evitar el retroceso.

  5. La estrategia no es retroactiva, está basada en indicadores, no manipula los datos históricos, es realista y confiable.

Análisis de riesgos

El principal riesgo de esta estrategia es:

  1. El escáner de mínimos puede omitir parte de los mínimos, lo que lleva a oportunidades de negociación perdidas. Se pueden ajustar los parámetros adecuadamente para ampliar el alcance del escaneo.

  2. Puede haber una reversión drástica de la situación, lo que provoca que el stop loss sea golpeado. Se puede flexibilizar adecuadamente el alcance del stop loss y controlar razonablemente el tamaño de la posición.

  3. La configuración incorrecta de los parámetros puede generar demasiadas o pocas señales de transacción. Se debe optimizar repetidamente para encontrar la combinación óptima de parámetros.

  4. Esta estrategia solo se aplica a las variedades de Forex con una tendencia evidente y no es adecuada para operaciones en mercados estabilizados o inestables.

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Optimizar los parámetros del escáner de puntos bajos para que pueda identificar los puntos más bajos con mayor precisión.

  2. Optimización de los parámetros del Hull MA para que pueda seguir la tendencia con mayor precisión.

  3. Se añaden filtros de otros indicadores, como MACD, KDJ, etc., para mejorar la fiabilidad de la señal.

  4. Aumentar los resultados de las predicciones de modelos de aprendizaje automático para ayudar a la determinación de señales de comercio.

  5. Optimización de los mecanismos de suspensión de pérdidas para que puedan ajustarse dinámicamente a la volatilidad del mercado.

  6. Optimizar las estrategias de gestión de posiciones para que el sistema pueda ajustar dinámicamente las posiciones de acuerdo con las reglas de gestión de fondos.

Resumir

El rastreo inteligente de escaneo de puntos bajos es una estrategia de negociación de Forex no retrógrada de alta ganancia. Es capaz de identificar con precisión los puntos más bajos del mercado, ingresar con precisión cuando la tendencia es clara y usar un stop loss progresivo para bloquear las ganancias. La estrategia tiene un gran espacio de optimización y puede mejorarse en muchos aspectos, lo que la convierte en un poderoso sistema de negociación automática.

Código Fuente de la Estrategia
/*backtest
start: 2023-10-24 00:00:00
end: 2023-10-25 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © theCrypster 2020

//@version=4
// strategy(title = "Low Scanner Forex strategy", overlay = false, pyramiding=1,initial_capital = 1000, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0)
strat_dir_input = input(title="Strategy Direction", defval="long", options=["long", "short", "all"])
strat_dir_value = strat_dir_input == "long" ? strategy.direction.long : strat_dir_input == "short" ? strategy.direction.short : strategy.direction.all
strategy.risk.allow_entry_in(strat_dir_value)
leng=1
p1=close[1]
min=input(1440)
len55 = timeframe.isintraday and timeframe.multiplier >= 1 ? 
   min / timeframe.multiplier * 7 : 
   timeframe.isintraday and timeframe.multiplier < 60 ? 
   60 / timeframe.multiplier * 24 * 7 : 7
//taken from https://www.tradingview.com/script/Ql1FjjfX-security-free-MTF-example-JD/
tf3 = input("W", type=input.resolution)
ti = change( time(tf3) ) != 0
T_c = fixnan( ti ? close : na )

vrsi = rsi(cum(change(T_c) * volume), leng)
pp=wma(vrsi,len55)

d=(vrsi[1]-pp[1])
min1 =input(60)
len100 = timeframe.isintraday and timeframe.multiplier >= 1 ? 
   min1 / timeframe.multiplier * 7 : 
   timeframe.isintraday and timeframe.multiplier < 60 ? 
   60 / timeframe.multiplier * 24 * 7 : 7
x=ema(d,len100)
//
zx=x/-1
col=zx > 0? color.lime : color.orange
plot(zx,color=col,linewidth=1)
//

tf10 = input("W", title = "Timeframe", type = input.resolution, options = ["1", "5", "15", "30", "60","120", "240","360","720", "D", "W"])

length = input(24, title = "Period", type = input.integer)
shift = input(1, title = "Shift", type = input.integer)

hma(_src, _length)=>
    wma((2 * wma(_src, _length / 2)) - wma(_src, _length), round(sqrt(_length)))
    
hma3(_src, _length)=>
    p = length/2
    wma(wma(close,p/3)*3 - wma(close,p/2) - wma(close,p),p)


a = security(syminfo.tickerid, tf10, hma(close, length))
b =security(syminfo.tickerid, tf10, hma3(close[1], length)[shift])
//plot(a,color=color.gray)
//plot(b,color=color.yellow)
close_price = close[0]
len = input(25)

linear_reg = linreg(close_price, len, 0)


//plot(linear_reg, color=color.blue, title="LR", linewidth=3)

buy=crossover(linear_reg, b) 
sell=crossunder(linear_reg, b) 
//
// Time period input
testStartYear = input(2016, "BACKTEST START YEAR", minval = 1980, maxval = 2222) 
testStartMonth = input(06, "BACKTEST START MONTH", minval = 1, maxval = 12)
testStartDay = input(01, "BACKTEST START DAY", minval = 1, maxval = 31)
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2222, "BACKTEST STOP YEAR", minval=1980, maxval = 2222)
testStopMonth = input(12, "BACKTEST STOP MONTH", minval=1, maxval=12)
testStopDay = input(31, "BACKTEST STOP DAY", minval=1, maxval=31)
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)
testPeriod = time >= testPeriodStart and time <= testPeriodStop ? true : false
l = crossover(zx,0) or buy
        
if l and testPeriod
    strategy.entry("buy", strategy.long)

per(pcnt) =>
    strategy.position_size != 0 ? round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
stoploss=input(title=" stop loss", defval=25, minval=0.01)
los = per(stoploss)
q1=input(title=" qty_percent1", defval=25, minval=1)
q2=input(title=" qty_percent2", defval=25, minval=1)
q3=input(title=" qty_percent3", defval=25, minval=1)
tp1=input(title=" Take profit1", defval=0.5, minval=0.01)
tp2=input(title=" Take profit2", defval=1, minval=0.01)
tp3=input(title=" Take profit3", defval=1.5, minval=0.01)
tp4=input(title=" Take profit4", defval=2, minval=0.01)
strategy.exit("x1", qty_percent = q1, profit = per(tp1), loss = los)
strategy.exit("x2", qty_percent = q2, profit = per(tp2), loss = los)
strategy.exit("x3", qty_percent = q3, profit = per(tp3), loss = los)
strategy.exit("x4", profit = per(tp4), loss = los)