Curso Gratuito - Trading IA

Uso y configuración de TradesTation

enormi
enormi 183 puntos
editado junio 2024 en Plataformas

Hola, estoy intentando configurar la plataforma para ver el desempeño de la estrategia pero me pasan cosas que no entiendo y por más vueltas que le doy no consigo ver qué pasa. Por una parte las operaciones no hacen la salida cuando entiendo que deberían. Os adjunto un ejemplo:

Es la única operación que me dibuja y además la salida no la hace cuando debería. Se supone que había llegado al nivel de stop ya en en mínimo que hace después de la entrada y también en el gap anterior y sin embargo no salió. Además después de esa operación ya no me da ninguna más y sí que hubo.

Por dónde pueden ir los tiros?

Una duda que me surge es, ¿usais el mismo strategy para las ventas y para las comprar o tenéis un strategy para compras y otro para ventas? Supongo que para esta estrategia es sí, pero por saber si puede ser interesante para otro tipo de estrategias.

Comentarios

  • Luismi
    Luismi 224 puntos
    editado junio 2024

    Una duda que me surge es, ¿usais el mismo strategy para las ventas y para las comprar o tenéis un strategy para compras y otro para ventas? Supongo que para esta estrategia es sí, pero por saber si puede ser interesante para otro tipo de estrategias.

    En el mismo Strategy tienes que hacer todo, vamos se podra hacer lo que qjuieras, pero que problema le ves a hacerlo en uno solo?

    Hola, estoy intentando configurar la plataforma para ver el desempeño de la estrategia pero me pasan cosas que no entiendo y por más vueltas que le doy no consigo ver qué pasa. Por una parte las operaciones no hacen la salida cuando entiendo que deberían. Os adjunto un ejemplo

    No se lo que te pasa , pero me da que no es cosa de la plataforma sino de tu codigo(por pura logica), si pones detalles quizas podamos ayudarte, no podemos adivinar los problemas, o explicalo mas o pon el trozo de codigo que se supone deberia hacer que eso funcione

  • luis
    luis 425 puntos

    ¿usais el mismo strategy para las ventas y para las comprar o tenéis un strategy para compras y otro para ventas?

    Se gestionan desde funciones diferentes.

    @Luismi

    No se lo que te pasa , pero me da que no es cosa de la plataforma sino de tu codigo(por pura logica), si pones detalles quizas podamos ayudarte, no podemos adivinar los problemas, o explicalo mas o pon el trozo de codigo que se supone deberia hacer que eso funcione

    Sí, ayudaría ver cómo lo estás haciendo.

  • enormi
    enormi 183 puntos
    editado junio 2024

    Pues yo ahora mismo las ordenes a mercado las pongo tal que así:

    // Orden de venta
    SellShort("Venta") Next Bar at Market;
    SetProfitTarget(deviationCortoSc1*100);
    SetStopLoss(deviationCortoSc1*
    100); // Orden de compra
    Buy("Compra") Next Bar at Market;
    SetProfitTarget(deviationCortoSc1*100);
    SetStopLoss(deviationCortoSc1*100);

  • Luismi
    Luismi 224 puntos
    editado junio 2024

    Usar setprofittarget es decirle cuando llegues a x $ cierras, no es un punto de salida, no se si es asi como quieres hacerlo

    En este caso a deviationCortoSc1*100 $

  • enormi
    enormi 183 puntos

    De momento esa forma era para probar y ver el funcionamiento. Pero tampoco lo hace por $ o por lo menos yo no lo veo, porque cuando hago alguna modificación no lo coge como debería. De hecho cada orden sale a una distancia diferente y si tiene un número de contratos fijo, debería salir siempre igual. He probado también por contratos y tampoco. Está claro que algo estoy haciendo mal y lo sé, pero no consigo ver qué es. Voy a seguir probando y os cuento cuando lo solucione.

  • Luismi
    Luismi 224 puntos

    Cuando pones Next bar at market que vendes 1accion,no debería tener cantidad ❓

  • enormi
    enormi 183 puntos
    editado junio 2024

    En la plataforma le pones el número de contratos por defecto al configurar la estrategia.

    O también puedes ponerlos luego en las órdenes, pero si no los pones, coge los que tiene por defecto según lo entiendo yo.

    Lo que me pasa es que pongo la orden y si se ejecuta el stop o el take en la misma vela de la entrada sí lo coge pero si los pongo más grandes y ya no los coge en esa misma vela, puede que luego los cierre o no, pero no sé el motivo por el que los cierra o no.

    SetProfitTarget (Palabra reservada)
    SetProfitTarget es una palabra reservada de stop incorporada que le permite especificar la cantidad de beneficios que desea obtener en función de la posición total, de un contrato o de una acción. Dentro de una estrategia, se genera una orden para cerrar toda la posición una vez que se ha alcanzado el objetivo de beneficios. Si el objetivo de beneficios se basa en una posición o en una acción/contrato, se determina mediante las palabras reservadas de la función Set: SetStopPosition, SetStopShare, orSetStopContracsCuando se utiliza con una estrategia automatizada en la que se generan órdenes en el mundo real, la orden límite de salida de beneficios se envía inmediatamente al mercado para ser ejecutada. Normalmente las estrategias generan órdenes al cierre de la barra para su ejecución en la siguiente barra, SetProfitTarget le permite generar órdenes y salir en la misma barra de entrada, esto es especialmente útil cuando se trabaja con barras de larga duración, (por ejemplo, 30-min, 60-min, diario, semanal, mensual) SetProfitTarget sólo se puede utilizar en una estrategia.
    Ejemplos
    Cuando se utiliza con la palabra reservada SetStopPosition, el parámetro Amount establece el stop loss como una cantidad en dólares para toda la posición basada en el número total de acciones o contratos en la posición abierta actual. (si usted tuviera 500 acciones de MSFT y especificara $200 de cantidad de ganancia, saldría $0.40 de su precio de entrada).

  • Luismi
    Luismi 224 puntos

    Entonces el misterio es ta en tus condiciones ,prueba con algo sencillo tipo

    If c>c[1] then begin
      Buy("Compra") Next Bar at Market;
      SetProfitTarget(100);
      SetStopLoss(100);
      end;
    

    y vete compbrobando lo que si hace y no hace como quieres y luego vas cambiando las condiciones

  • enormi
    enormi 183 puntos

    Ya lo he hecho con mil cambios y lo que está claro es que yo estoy esperando que haga algo que no es lo que hace. Seguramente estoy usando mal la orden y por eso no obtengo el resultado esperado. Estoy revisando la documentación de easylanguage y probaré cosas diferentes a ver.

    Puedes poner un ejemplo de cómo lo haces tú? con contratos?

  • Luismi
    Luismi 224 puntos
    editado junio 2024
    Como veras, no tiene misterio, el fallo le tienes que tener en tus condiciones no en las ordenes en si, creo yo
    if marketposition=0 and ………… then Begin
     
    
    Condiciones S_prepocB = 1 ;esta es la que me asigna una variable activa para esta orden
    IF S_prePocB= 1 then begin

    Sellshort ("PrePOC-B") Ncontratos Contract next bar at close limit;en ncontratos pon el numero de acciones

    end;
    end; // SALIDA IF MARKETPOSITION = -1 and RPreB=10 THEN Begin if Barssinceentry=0 then miStop = maximo[1] ;//EN ESTE CASO EL STOP ES AHI

    miProfit = entryprice +(Entryprice-miStop)*ratio ;//EL PROFIT AQUI

    buy to cover ("Stop PrePoc_B") Ncontratos contract next bar at miStop stop ;

    buy to cover ("Take PrePoc_B") Ncontratos Contract next bar at miProfit limit;


    END;

  • enormi
    enormi 183 puntos

    Voy a probar a hacerlo de esta manera a ver, pero si alguien puede explicarme por qué de la otra manera no funciona, también me gustaría, por saber qué es lo que hago mal y cómo funciona en realidad.

    Muchas gracias Luismi en cuanto lo haya probado te comento.

  • Luismi
    Luismi 224 puntos

    Voy a probar a hacerlo de esta manera a ver, pero si alguien puede explicarme por qué de la otra manera no funciona, también me gustaría, por saber qué es lo que hago mal y cómo funciona en realidad.

    De la otra manera si funciona, sera algo a mayores de tu codigo ,lo que te he puesto de c>c[1] lo he probado y funciona perfectamente , con 100 $ de profti y stop

  • enormi
    enormi 183 puntos

    Pues eso parece, lo he probado aislado y me funciona pero en mi código no. Ahora a averiguar qué pasa.

    Gracias Luismi

  • trader89
    trader89 202 puntos

    Utiliza un showme para depurar antes de intentar testar cosas hasta q por magia funcione

    Cuando vayas variable por variable y función por función viendo lo que pasa con cada una verás el fallo seguro

    🇪🇦

  • enormi
    enormi 183 puntos

    Ya lo he hecho y el showme me funciona bien todo, pero el strategy no. Sigo con ello

  • luis
    luis 425 puntos

    ¿Has hecho el showme de la forma que ves el mío, marcando en todo momento las señales y las posiciones activas hasta su cierre?

  • enormi
    enormi 183 puntos

    Sí, lo he hecho, el showme y el indicador para marcar también todos los parámetros.

  • luis
    luis 425 puntos
    editado junio 2024

    Entonces ahora solo tienes que pasar las líneas que dibujas a las órdenes de la plataforma.

    Limit si estamos esperando entrada y take/stop si estamos dentro.

    Mismo código y en la parte final en lugar de dibujar, hacemos esto.

  • enormi
    enormi 183 puntos
    editado junio 2024

    Solucionado

    El problema no era el código, era en la configuración de la plataforma con el número máximo de barras de referencia del estudio, que estaba muy alto.