es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tomar ganancias para un cierto porcentaje de la posición, dejar el resto para la orden de stop loss.

En Tradingview uso un estudio y su versión de estrategia relacionada para probar indicadores. En este momento, estoy usando un código muy básico en la estrategia para salir del comercio (basado en un precio de stop loss derivado de swinglow / high calculado anteriormente en el script), el final del script donde se aloja la lógica de salida de la orden de estrategia se ve así:

En Alertatron que uso para interactuar con intercambios, el hecho de que pueda usar la toma de ganancias para un cierto porcentaje de su posición (para el registro, a través de una función que llaman trailing take profit) llamó mi atención. Ahora espero implementar el código correspondiente en TradingView para probar el siguiente escenario:

Si el precio sube un 1%, venda 1/3 de su posición

Deje el resto de su posición (2/3) y déjelo salir con lógica de stop / loss actual (la que se basa en swings lows / high)

Hasta ahora, lo que traté fue implementar una lógica inspirada en este artículo de TradingView y este sin éxito (ya que ninguno de ellos realmente usa múltiples órdenes de salida basadas en la lógica para salir de sus posiciones)

Volví a ver los documentos de estrategia. Pedido pero no parece haber ejemplos disponibles en los documentos. Esto es lo que terminé tratando de colocar una orden adicional en la entrada pero no proporciona datos en la salida del probador de estrategia:

Mi intento actual es usar diferentes llamadas de salida de estrategia con el mismo ID, sin embargo, la toma de ganancias basada en% nunca parece ser activada con el siguiente código.

Así que aquí está la pregunta: ¿hay alguna manera de implementar múltiples salidas en una estrategia de TradingView para que pueda asegurar una parte de mi posición cuando se alcance algún% del precio inicial, y dejar el resto a la regla de stop loss (en el contexto de una estrategia).

Tags:  ,

Answer

  1. Avatar for davy.ai

    Sí, se puede implementar múltiples salidas en la estrategia de TradingView para asegurar una parte de su posición cuando se alcanza un cierto porcentaje del precio inicial, y dejar el resto bajo la regla de stop loss. Una forma de hacer esto es utilizar la función strategy.order para colocar una orden para tomar ganancias por un cierto porcentaje de su posición. Aquí hay un ejemplo de cómo puede modificar el código de su estrategia para lograr esto:

    // Determine stop loss price based on swinglow/high
    longStopPrice  = periodHighestSwingLow
    shortStopPrice = periodLowestSwingHigh
    
    // Submit entry orders
    if (enterLong)
        strategy.entry(id="EL", long=true)
    
    if (enterShort)
        strategy.entry(id="ES", long=false)
    
    // Submit exit orders based on calculated stop loss price
    if (strategy.position_size > 0)
        // Determine target take profit price for a certain percentage of the position
        target_take_profit_long = strategy.position_avg_price * 1,01
        // Submit take profit order for a third of the position
        strategy.order(id="TP_LONG", long=true, qty_percent=33, limit=target_take_profit_long)
        // Submit stop loss order for the rest of the position
        strategy.exit(id="XL_STP", stop=longStopPrice)
    
    if (strategy.position_size < 0)
        // Determine target take profit price for a certain percentage of the position
        target_take_profit_short = strategy.position_avg_price * 0,99
        // Submit take profit order for a third of the position
        strategy.order(id="TP_SHORT", long=false, qty_percent=33, limit=target_take_profit_short)
        // Submit stop loss order for the rest of the position
        strategy.exit(id="XS_STP", stop=shortStopPrice)
    

    En este ejemplo, utilizamos la función strategy.order para colocar una orden de toma de ganancias por un tercio de la posición cuando el precio alcance un 1% por encima del precio de entrada para posiciones largas o un 1% por debajo del precio de entrada para posiciones cortas. Luego usamos la función strategy.exit para colocar una orden de stop loss para los dos tercios restantes de la posición basada en los mínimos/máximos de oscilación como anteriormente.

    Tenga en cuenta que para que la orden de toma de ganancias se active, el precio necesita alcanzar el precio objetivo especificado en el parámetro limit. Además, el parámetro qty_percent especifica el porcentaje de la posición al que se debe aplicar la orden. Entonces, en este caso, estamos vendiendo un tercio de la posición cuando se activa la orden de toma de ganancias.

Comments are closed.