no ejecuta stop loss

Forums ProRealTime foro Español Soporte ProOrder no ejecuta stop loss

Viewing 6 posts - 1 through 6 (of 6 total)
  • #246381

    Hola comunidad, tengo el siguiente sistema:

    // Condiciones de salida de posiciones cortas
    // Exit on ATR
    if shortonmarket and atr2 crosses under avgatr2 then
    exitshort at market

    SET STOP %LOSS  0.1
    endif

    //trailing stop function
    trailingstart = 20 //trailing will start @trailinstart points profit
    trailingstep = 1 //trailing step to move the “stoploss”

    //reset the stoploss value
    IF NOT ONMARKET THEN
    newSL=0
    ENDIF

    //manage short positions
    IF SHORTONMARKET THEN
    //first move (breakeven)
    IF newSL=0 AND tradeprice(3)-close>=trailingstart*pipsize THEN
    newSL = tradeprice(4)-trailingstep*pipsize
    ENDIF
    //next moves
    IF newSL>0 AND newSL-close>=trailingstep*pipsize THEN
    newSL = newSL-trailingstep*pipsize
    ENDIF
    ENDIF

    //stop order to exit the positions
    IF newSL>0 THEN
    EXITSHORT AT newSL STOP
    ENDIF

    pero tengo el problema de que no pone el stoploss, es decir, no lo ejecuta. Y no sé porqué. Alguien me puede echar una mano por favor.

    #246396

    Hola. Por lo que veo en las primeras líneas de código colocas el stop loss dentro de la condicion de salida por lo que no se va a ejecutar hasta que no se de la salida técnica de ATR que has puesto.
    Si quieres colocar el stop loss lo puedes hacer fuera del condicional y siempre tendrás un stop loss en el nivel que tú decidas (no me meto en si lo tienes muy cerca o no).
    Por otro lado tambien puedes colocar el stop loss dentro de un condicional para que se active/actualice al cumplirse las condiciones establecidas.

    #246400

    De acuerdo, mmm, bien, me puedes decir cómo se escriben las dos formas Iván? No quiero equivocarme otra vez, gracias

    #246420

    por ejemplo,

    o

    o

    #246424

    hola de nuevo Iván, no me he aclarado con la respuesta anterior. Necesito que el sistema ponga un stoploss y que éste vaya moviéndose con los parámetros del trailling que ya tengo codificados en mi sistema, y que también salga de la posición si el ATR cruza debajo de su media.

    El problema está en que cuando el sistema realiza una operación no lanza el dichoso stoploss.

    #246440

    En estas líneas, SET STOP no se ejecuta para la operación actual porque se cerró en la línea anterior.
    Por lo tanto sólo es válido para operaciones posteriores.

    Mueva SET STOP a la línea después de SELLSHORT:

    Utilice TRADEPRICE o TRADEPRICE(1), no TRADEPRICE(3) ni TRADEPRICE(4), que también son precios de salida de operaciones anteriores.

    Este es el código actualizado:

    Añadí, al final, dos líneas con GRAPHONPRICE para que podáis ver en el gráfico el Stop Loss 0,1% (en Rojo) y el Trailing Stop (en Azul).

Viewing 6 posts - 1 through 6 (of 6 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login