Estrategia de negociación de robots BTC con toma de ganancias por lotes de varios niveles


Fecha de creación: 2023-10-18 11:12:39 Última modificación: 2023-10-18 11:12:39
Copiar: 0 Número de Visitas: 707
1
Seguir
1617
Seguidores

Estrategia de negociación de robots BTC con toma de ganancias por lotes de varios niveles

Descripción general

La estrategia es una estrategia de robotización de BTC con paradas de lotes múltiples. Se realiza una entrada de compra mediante la búsqueda del punto más bajo, luego se establece un parón de paradas de varios niveles para una salida de paradas de lotes. Al mismo tiempo, se establece un parón de pérdidas para el control del riesgo.

Principio de estrategia

  1. Buscar el momento de entrada: cuando el indicador CC pasa por el eje 0 se genera una señal de compra, en ese punto se compra más órdenes.

  2. Establezca el punto de parada de pérdidas: Convierta el punto de parada en precio mediante el porcentaje de parada de pérdidas de entrada.

  3. Configuración de puntos de parada de varios niveles: dividido en 4 puntos de salida, mediante la configuración de los porcentajes de parada de cada punto de salida, convertido en precios para la interrupción de lotes.

  4. Control de riesgo: configuración de la cantidad máxima de la posición, el porcentaje de salida de cada punto de salida mediante la configuración de la entrada, para la dispersión de riesgo.

Análisis de las ventajas

Esta estrategia tiene las siguientes ventajas:

  1. Las señales de entrada son más confiables, busque comprar en el punto más bajo y evite comprar en el punto más alto.

  2. El bloqueo de múltiples niveles puede bloquear parte de las ganancias y mantener parte de las ganancias en funcionamiento.

  3. Establezca un punto de parada para el control de riesgo, que puede controlar las pérdidas dentro de un cierto rango.

  4. La participación en lotes permite la dispersión de riesgos y evita la pérdida total de una vez.

  5. El retiro puede ser controlado hasta cierto punto.

Análisis de riesgos

La estrategia también tiene los siguientes riesgos:

  1. El índice CC no puede determinar el mínimo al 100%, lo que podría perder oportunidades de compra.

  2. La configuración incorrecta del punto de parada puede causar pérdidas innecesarias.

  3. La mala configuración de las partidas también puede causar pérdidas de ganancias.

  4. En el caso de los temblores, es más difícil cancelar la quema.

  5. En el caso de que la situación cambie drásticamente, puede ser difícil de detener.

Dirección de optimización

Se puede optimizar en los siguientes aspectos:

  1. Optimizar las señales de entrada, añadiendo más indicadores o juzgamientos de aprendizaje automático para determinar el momento de comprar.

  2. Optimizar las estrategias de detención de pérdidas para que sean más resilientes y puedan responder mejor a las situaciones.

  3. Optimizar las estrategias de salida para adaptarse mejor a los cambios y tendencias.

  4. La inclusión de estrategias como el trailing stop hace que la parada sea más flexible.

  5. Prueba los diferentes parámetros de las variedades para encontrar la combinación óptima de parámetros.

Resumir

En general, esta estrategia es una estrategia de negociación de BTC basada en la búsqueda de señales de compra en el punto más bajo y la configuración de varios niveles de paradas y pérdidas. Tiene ciertas ventajas, pero también hay direcciones que se pueden optimizar.

Código Fuente de la Estrategia
/*backtest
start: 2023-09-17 00:00:00
end: 2023-10-17 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
args: [["v_input_1",2]]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © RafaelZioni


// © theCrypster 2020

//@version=4
// strategy(title = "BTC bot", overlay = true, pyramiding=1,initial_capital = 10000, 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.075)
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)
//INPUTS
higherTF = input("W", type=input.resolution)
pc = security(syminfo.tickerid, higherTF, close[1], lookahead=true)
ph = security(syminfo.tickerid, higherTF, high[1], lookahead=true)
pl = security(syminfo.tickerid, higherTF, low[1], lookahead=true)

PP = 0.0,R1 = 0.0, R2 = 0.0, R3 = 0.0,S1 = 0.0, S2 = 0.0, S3 = 0.0

PP := (ph + pl + pc) / 3
R1 := PP     + (PP   - pl)
S1 := PP     - (ph - PP)
R2 := PP     + (ph - pl)
S2 := PP     - (ph - pl)
factor=input(2)
R3 := ph  + factor * (PP   - pl) 
S3 := pl   - 2 * (ph - PP) 

// 
length=input(21)
//
p = close
vrsi = rsi(p, length)
pp=ema(vrsi,length)
d=(vrsi-pp)*5
cc=(vrsi+d+pp)/2
//
low1=crossover(cc,0)

sell=crossover(close[1],R3) 
//
l = low1
s=sell
if l 
    strategy.entry("buy", strategy.long)
if s 
    strategy.entry("sell", strategy.short)
per(pcnt) =>
    strategy.position_size != 0 ? round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
stoploss=input(title=" stop loss", defval=15, 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=3, minval=0.01)
tp2=input(title=" Take profit2", defval=5, minval=0.01)
tp3=input(title=" Take profit3", defval=7, minval=0.01)
tp4=input(title=" Take profit4", defval=10, 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)