vender cuando precio sube un %

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #55671 quote
    galibier
    Participant
    Average

    Hola Buenos días,

    He programado con la creación simplificada, pero no encuentro como se puede programar algo muy sencillo que es:

    Vender cuando el precio se ha incrementado en un x% 

    A ver si alguien me puede decir  como se pone.

    Muchas gracias de antemano

     

     

    #55705 quote
    TempusFugit
    Participant
    Veteran

    Hola galibier,

    Necesitarías establecer también desde que momento a que momento sube ese x%

    Por ejemplo si es en sólo una vela creo que podría valer:

    IF abs(close-close[1])/close)>x/100 THEN
    SELL 1 CONTRACT AT MARKET
    ENDIF

    O si quieres que suba en un número de velas “y”

    IF abs(close-close[y])/close)>x/100 THEN
    SELL 1 CONTRACT AT MARKET
    ENDIF

    Ten en cuenta que la venta se produce siempre al principio de la vela siguiente, creo que no hay forma de hacer que sea dentro de una vela justo en el momento que se produce ese x% mayor. Puedes jugar con el timeframe para eso, poniendo timeframes menores puedes entrar antes.

    No lo he probado en la plataforma así que puede haber algún error en el código pero creo que la idea es correcta

    #55706 quote
    TempusFugit
    Participant
    Veteran

    Acabo de darme cuenta de que si no recuerdo mal el indicador ROC (Rate of Change) es precisamente eso… el cambio en % de un número de velas… investígalo pero creo que con ese indicador sería aún más fácil de programar, algo así:

    IF ROC[Y](close)>x THEN
    SELL 1 CONTRACT AT MARKET
    ENDIF

     

    Nicolas thanked this post
    #55808 quote
    galibier
    Participant
    Average

    Muchas gracias,

    Lo probaré, a ver que sale.

     

    saludos

    #55812 quote
    galibier
    Participant
    Average

    Hola de nuevo,

    Lo he probado en los dos codigos pero me sale , “Error de sintaxis, linia 5, caracter 29, complete la sintaxi de esta linia”

    A ver si me puedes decir donde esta el error.

    Muchas gracias

    #55816 quote
    galibier
    Participant
    Average

    Hola de nuevo,

    Lo he probado en los dos codigos pero me sale , “Error de sintaxis, linia 5, caracter 29, complete la sintaxi de esta linia”

    A ver si me puedes decir donde esta el error.

    Muchas gracias

    #55858 quote
    TempusFugit
    Participant
    Veteran

    Galibier,

    Mi código creo que está bien escrito pero sin ver tu código completo no puedo decirte nada más, no puedo saber que tienes en la línea 5, caracter 29 si no lo incluyes.

    #55941 quote
    galibier
    Participant
    Average

    Hola buenos días,

    El código es este:  ( le he puesto los parametros de la y y de la x y me sale el error de “Error de sintaxis, linia 5, caracter 29, complete la sintaxi de esta linia”

    // Definición de los parámetros del código
    DEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada

    // Condiciones de entrada de posiciones cortas
    IF abs(close-close[y])/close)>x/100 THEN
    SELL 1 CONTRACT AT MARKET
    ENDIF

    // Stops y objetivos
    SET STOP %LOSS 10
    SET TARGET %PROFIT 10

    Mucghas gracias

     

     

    #55956 quote
    TempusFugit
    Participant
    Veteran

    Buenos días galibier,

    Falta un paréntesis en una de las líneas de código que te escribí, tendría que ser: IF abs((close-close[y])/close)>x/100 THEN

    Pero al revisarlo me di cuenta de algo importante: según está escrita la condición vale para cuando el precio sube o baja ese x%, el “abs” significa valor absoluto, si sólo quieres que se active cuando el precio se incremente (eso creo) el código quedaría:

    // Definición de los parámetros del código
    DEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada
    
    // Condiciones de entrada de posiciones cortas
    IF ((close-close[Y])/close)>x/100 THEN
    SELL 1 CONTRACT AT MARKET
    ENDIF
    
    // Stops y objetivos
    SET STOP %LOSS 10
    SET TARGET %PROFIT 10

     

     

     

    #55960 quote
    galibier
    Participant
    Average

    Hola,

    He puesto lo que me indicas y me sale este mensaje: 

    Los sistemas de trading deben contener al menos una instruccion de entrada al mercado (BUY o SELLSHORT)

    Seguro que es una tontería pero lo he intentado de varias formas y no hay manera.

    Gracias de nuevo 

     

    #55968 quote
    TempusFugit
    Participant
    Veteran

    Gallbier,

    Fallo mío, no estoy acostumbrado a escribir así código sin pasarlo por el sistema y lo escribí mal, para abrir cortos es SELLSHORT en vez de SELL, SELL es sólo para cerrar la posición después de comprar -BUY.

    #55972 quote
    galibier
    Participant
    Average

    Ok perfecto, ahora sí me funciona

     

    muchs gracias

Viewing 12 posts - 1 through 12 (of 12 total)
  • You must be logged in to reply to this topic.

vender cuando precio sube un %


ProOrder: Trading Automático y Backtesting

New Reply
Author
author-avatar
galibier @galibier Participant
Summary

This topic contains 11 replies,
has 2 voices, and was last updated by galibier
8 years, 2 months ago.

Topic Details
Forum: ProOrder: Trading Automático y Backtesting
Language: Spanish
Started: 12/14/2017
Status: Active
Attachments: No files
Logo Logo
Loading...