Regístrate o inicia sesión para ver el curso gratuito.

Ordenes de salida en Tradestation

Luismi
Luismi 159 puntos
editado 28 de abril en Plataformas

Hola, para el desarrollo de la red , que ya adelanto que normalizando los datos empieza a parecer algo bueno, he decargado los datos de las operaciones desde 1/1/2022, lo cual son unas 450 operaciones(ya se que no hacen falta tantas, pero para poder trastear y poner y quitar), saco 2 conclusiones:

  • El algoritmo estara bastante bien, cuando de 450 operaciones solo veo una cosa rara
  • Ahora vamos con esa cosa, que creo no es un fallo de programacion en si, pero me gustaria saber si se puede hacer de otra manera

Se trata de una operacion por giro en minimos, el problema es que la misma vela de entrada entra un volumen terrible y la operacion salta a la siguiente vela, en este caso con un beneficio mucho mayor de lo esperado😅, pero podia haber sido al reves y ser una perdida mucho peor de lo esperada

La duda es como poner la orden de salida yo lo tengo puesto tal que asi

sell ("take Giro_A") Ncontratos Contracts next bar at miProfit limit ;

y no se si se puede hacer para que si toca el precio sin esperar a next bar salte(creo que no ,o no de manera sencilla)

aqui imagen de la operacion

Etiquetado:

Comentarios

  • luis
    luis 342 puntos
    editado 29 de abril

    Desde la documentación oficial:

    Las opciones son:

    ... this bar on close;
    
    ... next bar at open;
    
    ... next bar at market;
    
    ... next bar at yourprice Stop;
    
    ... next bar at yourprice Limit;
    

    Si en una vela lanzamos la orden para que se ejecute en la siguiente (siempre entramos por orden limitada), siempre tenemos take y stop puestos desde que entramos.

    ¿Cuál es el problema?

  • Luismi
    Luismi 159 puntos
    editado 29 de abril

    El problema es que en este caso concreto en la vela que se ejecuta la orden de entrada se pasa el take por mucho y cierra en la apertura de la siguiente

    Y todas esas ordenes o son a next bar o al cierre que viene a ser lo mismo

    en esa misma ayuda de Tradestation pone esto

    El método de ejecución de esta barra al cerrar se proporciona únicamente con fines de backtesting; le permite realizar pruebas de respaldo de órdenes de 'cierre de mercado', que no puede automatizar utilizando TradeStation . Dado que todas las órdenes se evalúan y ejecutan al final de cada barra, TradeStation lee y emite la orden de cierre de esta barra una vez que la barra se ha cerrado (por ejemplo, una vez que ha finalizado la sesión de negociación diaria). TradeStation completa la orden utilizando el cierre de la barra actual, pero debe colocar una orden en el mercado para que se ejecute en la siguiente barra. Esto invariablemente introduce deslizamiento.

    Si ya me sonaba que no se podia, pero al ver esta operacion, que me estaba descabalgando la normalizacion de los precios por ser un valor mucho mas alto que el resto, pues dije le voy a dar una vuelta y por eso lo he preguntado,por si alguno lo tenia solucionado o saber que es asi y punto

  • luis
    luis 342 puntos

    Pero en el caso de la imagen que pusiste funciona correctamente, ¿no?

    No termino de entender el problema.

  • Luismi
    Luismi 159 puntos

    En este caso es un profit , pero si fuese un stop hubiese pasado igual, el algoritmo está ejecutando bien, simplemente quería saber si se puede hacer que entre el stop según toca el precio y no cuando acabe la vela

  • luis
    luis 342 puntos

    El stop entra a la misma vez que se pone la orden limitada y esta puede ejecutarse (o no) y se cancela en el mismo momento que se cancela la orden limitada.

    Siempre que se lanza una orden de entrada se lanza también su orden de stop.

  • Luismi
    Luismi 159 puntos

    Ponme un ejemplo de orden de entrada con stop y target, a ver si hablamos de lo mismo

  • luis
    luis 342 puntos
    Si condición_de_entrada, entonces:
      Orden_limitada
      Orden_stop
      Orden_take
    

    Una vez se tome la limitada, ya están lanzadas las de stop y take.

  • Luismi
    Luismi 159 puntos
    editado 1 de mayo

    Así no lo entiendo, yo pongo:

    If marketposition=o 
      Condiciones de entrada
      Buy ...
    
    Y para salir 
    
    If marketposition<>0 
      Stop y target
    

    Esto me hace tener una vela de diferencia.

  • luis
    luis 342 puntos

    En tu caso estás poniendo la orden de entrada y en la vela siguiente a darse la entrada, entonces estás poniendo las órdenes de gestión.

  • Luismi
    Luismi 159 puntos
    editado 1 de mayo

    Y como lo haces tú, como haces que el stop y el profit vallan relacionados a la orden de entrada, pon me un ejemplo más concreto, que tiene pinta de ser mejor

    O cuando habrás la plataforma me pegas un trozo con las órdenes

  • Luismi
    Luismi 159 puntos

    y lo siguiente que te he puesto que no lo entiendo

    a ver si soy capaz de poner yo un ejemplo

    if  average(close,10)>average(close,20) then begin
    
         Buy( "Est_alcista_conf") 1 contractcs next bar at close limit ;
         sell ("Stop Est_Alcista") 1 next bar at mistop stop;
         sell ("Take Est_Alcista") 1 contracts next bar at  miprofit limit; 
              
    end;
    

    asi dices?

    Cambiar mi algoritmo a algo asi creo que me daria muchos conflictos con las variables que voy definiendo para los distintos setups, si tal me lo apunto para mas adelante

    Asi no puedes usar palabras como entryprice para calcular los stops y profits, los tendria que referenciar al close de la vela anterior y ahi tambien habria deslizamientos en los calculos de los stops y profits al precio real de entrada

    No se que te parece a ti, quizas no este tan mal como yo lo tengo en 2,5 años ha pasado en una operacion y porque es un giro y se da en las primeras velas, poniendo ese setup que valore a partir de las 15:35 o 40 ya evitaria esa volatilidad que puede hacerme un roto en una de estas

    En breve te comento de la red , que he hecho progresos pero estoy contra un muro