Modificación Entrada

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #118049 quote
    lluis06
    Participant
    Junior

    Buenas tardes,

    Adjunto un código en el que me interesa poder modificar la vela en donde debe entrar. Ahora me entra en la siguiente vela por defecto. Me interesaría decirle que entrara en la segunda vela o en la tercera. ¿Es posible esta instrucción?

    Muchas gracias y saludos.

    Lluís

    #118126 quote
    Juan Salas
    Participant
    Master

    Hola Luis,

    Si es posible, pero debes adjuntar el código para que podamos ver donde debe entrar.

    Saludos

    #118134 quote
    lluis06
    Participant
    Junior

    Hola Juan,

    creí haberlo adjuntado….. buneo si acaso lo copio en en texto.

    Saludos y muchas gracias

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

    // Condiciones para entrada de posiciones largas
    indicator1 = HullAverage[20](typicalPrice)
    c1 = (indicator1 CROSSES UNDER close)

    IF c1 THEN
    BUY 1 SHARES AT MARKET
    ENDIF

    // Condiciones de salida de posiciones largas
    indicator2 = HullAverage[20](typicalPrice)
    c2 = (indicator2 CROSSES OVER close)

    IF c2 THEN
    SELL AT MARKET
    ENDIF

    // Condiciones de entrada de posiciones cortas
    indicator3 = HullAverage[20](typicalPrice)
    c3 = (indicator3 CROSSES OVER close)

    IF c3 THEN
    SELLSHORT 1 SHARES AT MARKET
    ENDIF

    // Condiciones de salida de posiciones cortas
    indicator4 = HullAverage[20](typicalPrice)
    c4 = (indicator4 CROSSES UNDER close)

    IF c4 THEN
    EXITSHORT AT MARKET
    ENDIF

    // Stops y targets
    SET STOP pLOSS 10
    SET TARGET pPROFIT 30

    #118135 quote
    Juan Salas
    Participant
    Master

    Luis,

    Para adjuntar el código debes utilizar el botón (insert PRT code) arriba a la derecha. Gracias

    #118141 quote
    lluis06
    Participant
    Junior
    // Definición de los parámetros del código
    DEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada
    
    // Condiciones para entrada de posiciones largas
    indicator1 = HullAverage[20](typicalPrice)
    c1 = (indicator1 CROSSES UNDER close)
    
    IF c1 THEN
    BUY 1 SHARES AT MARKET
    ENDIF
    
    // Condiciones de salida de posiciones largas
    indicator2 = HullAverage[20](typicalPrice)
    c2 = (indicator2 CROSSES OVER close)
    
    IF c2 THEN
    SELL AT MARKET
    ENDIF
    
    // Condiciones de entrada de posiciones cortas
    indicator3 = HullAverage[20](typicalPrice)
    c3 = (indicator3 CROSSES OVER close)
    
    IF c3 THEN
    SELLSHORT 1 SHARES AT MARKET
    ENDIF
    
    // Condiciones de salida de posiciones cortas
    indicator4 = HullAverage[20](typicalPrice)
    c4 = (indicator4 CROSSES UNDER close)
    
    IF c4 THEN
    EXITSHORT AT MARKET
    ENDIF
    
    // Stops y targets
    SET STOP pLOSS 10
    SET TARGET pPROFIT 30

    Ahora creo que si…

    Saludos

    #118146 quote
    Juan Salas
    Participant
    Master

    Podrías poner algo así. Puedes abrir la operación, (x) barras después de que crucen las medias:

    n=2 // numero de barras
    
    IF c1 THEN // se cumple el cruce de medias
    barindex=x
    ENDIF
    
    IF barindex= x + n THEN // una vez pasado n barras desde el cruce de medias
    BUY 1 SHARE AT MARKET
    ENDIF
    

    Pruebalo y dime si funciona

    #118202 quote
    lluis06
    Participant
    Junior

    <pre class=”lang:probuilder decode:true ” title=”Me da Error”>// Definición de los parámetros del código
    DEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada

    // Condiciones para entrada de posiciones largas
    indicator1 = HullAverage[20](typicalPrice)
    c1 = (indicator1 CROSSES UNDER close)

    n=2 // numero de barras

    IF c1 THEN // se cumple el cruce de medias
    barindex= 2
    ENDIF

    IF barindex= 2 + n THEN // una vez pasado n barras desde el cruce de medias
    BUY 1 SHARE AT MARKET
    ENDIF

    // Condiciones de salida de posiciones largas
    indicator2 = HullAverage[20](typicalPrice)
    c2 = (indicator2 CROSSES OVER close)

    IF c2 THEN
    SELL AT MARKET
    ENDIF

    // Condiciones de entrada de posiciones cortas
    indicator3 = HullAverage[20](typicalPrice)
    c3 = (indicator3 CROSSES OVER close)

    IF c3 THEN
    SELLSHORT 1 SHARES AT MARKET
    ENDIF

    // Condiciones de salida de posiciones cortas
    indicator4 = HullAverage[20](typicalPrice)
    c4 = (indicator4 CROSSES UNDER close)

    IF c4 THEN
    EXITSHORT AT MARKET
    ENDIF

    // Stops y targets
    SET STOP pLOSS 5
    SET TARGET pPROFIT 15
    Hola Juan,

    Me da error en las lineas 11 y 12 : barindex=x

    ENDIF

    Creo que no se donde poner realmente las nuevas instrucciones.

    Saludos.

    #118208 quote
    Juan Salas
    Participant
    Master

    Luis,

    Creo que estás intentando decirme que “te da error”, aunque arriba ha salido mezclado con el código. He probado tu código en mi PRT (v10.3), pero las medias Hull no las reconoce. No se si tienes la version 11 y no tienes problema. En cualquier lo intentaré con unas medias exponenciales y te lo corrijo en el mío, y te digo esta noche

    #118211 quote
    lluis06
    Participant
    Junior

    Hola Juan,

    tengo la versión 11. En esta versión sí que me funcional las medias de Hull.

    Lo que te comento es que no se donde colocar la corrección que me enviste y creo que lo hago mal y tal vez por este motivo no me funcione.

    Saludos

    #118212 quote
    Juan Salas
    Participant
    Master

    Luis,

    Te adjunto el código corregido. Ya funciona. Fíjate que lo de entrar a partir de la segunda barra esta solamente en c1, así que deberías ponerlo también en c2, c3, y c4.

    Espero que te sirva

    // Definición de los parámetros del código
    DEFPARAM CumulateOrders = false
    
    // Condiciones para entrada de posiciones largas
    indicator1 = exponentialaverage[20](typicalPrice)
    c1 = (indicator1 CROSSES UNDER close)
    
    n=2 // numero de barras
    
    IF c1 THEN // se cumple el cruce de medias
    x=barindex
    ENDIF
    
    IF barindex= x + n THEN // una vez pasado n barras desde el cruce de medias
    BUY 1 SHARE AT MARKET
    ENDIF
    
    // Condiciones de salida de posiciones largas
    indicator2 = exponentialaverage[20](typicalPrice)
    c2 = (indicator2 CROSSES OVER close)
    
    IF c2 THEN
    SELL AT MARKET
    ENDIF
    
    // Condiciones de entrada de posiciones cortas
    indicator3 = exponentialaverage[20](typicalPrice)
    c3 = (indicator3 CROSSES OVER close)
    
    IF c3 THEN
    SELLSHORT 1 SHARES AT MARKET
    ENDIF
    
    // Condiciones de salida de posiciones cortas
    indicator4 = exponentialaverage[20](typicalPrice)
    c4 = (indicator4 CROSSES UNDER close)
    
    IF c4 THEN
    EXITSHORT AT MARKET
    ENDIF
    
    // Stops y targets
    SET STOP pLOSS 5
    SET TARGET pPROFIT 15
    

    Saludos

    #118217 quote
    lluis06
    Participant
    Junior

    Hola Juan,

    Muchas gracias y saludos!!

    #118220 quote
    Juan Salas
    Participant
    Master

    Luis,

    Me he tomado la libertad de cambiarlo (estaba aburrido :)) y aplicárselo también a C2, C3, y C4. Le he puesto diferentes n1, n2, etc, para que puedas variar el numero de barras independientemente de la condición.

    // Definición de los parámetros del código
    DEFPARAM CumulateOrders = false
    
    // numero de barras
    n1=2 
    n2=2 
    n3=2 
    n4=2 
    
    // Condiciones para entrada de posiciones largas
    indicator1 = exponentialaverage[20](typicalPrice)
    c1 = (indicator1 CROSSES UNDER close)
    
    IF c1 THEN // se cumple el cruce de medias
    a=barindex
    ENDIF
    
    IF barindex= a + n1 THEN // una vez pasado n barras desde el cruce de medias
    BUY 1 SHARE AT MARKET
    ENDIF
    
    
    // Condiciones de salida de posiciones largas
    indicator2 = exponentialaverage[20](typicalPrice)
    c2 = (indicator2 CROSSES OVER close)
    
    IF c2 THEN // se cumple el cruce de medias
    b=barindex
    ENDIF
    
    IF barindex= b + n2 THEN // una vez pasado n barras desde el cruce de medias
    BUY 1 SHARE AT MARKET
    ENDIF
    
    
    // Condiciones de entrada de posiciones cortas
    indicator3 = exponentialaverage[20](typicalPrice)
    c3 = (indicator3 CROSSES OVER close)
    
    IF c3 THEN // se cumple el cruce de medias
    c=barindex
    ENDIF
    
    IF barindex= c + n3 THEN // una vez pasado n barras desde el cruce de medias
    BUY 1 SHARE AT MARKET
    ENDIF
    
    
    // Condiciones de salida de posiciones cortas
    indicator4 = exponentialaverage[20](typicalPrice)
    c4 = (indicator4 CROSSES UNDER close)
    
    IF c4 THEN // se cumple el cruce de medias
    d=barindex
    ENDIF
    
    IF barindex= d + n4 THEN // una vez pasado n barras desde el cruce de medias
    BUY 1 SHARE AT MARKET
    ENDIF
    
    // Stops y targets
    SET STOP pLOSS 5
    SET TARGET pPROFIT 15
    
    #118262 quote
    lluis06
    Participant
    Junior

    Hola Juan,

    Muy amable. Eres un Crack!!

    Muchas gracias

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

Modificación Entrada


ProOrder: Trading Automático y Backtesting

New Reply
Author
author-avatar
lluis06 @lluis06 Participant
Summary

This topic contains 12 replies,
has 2 voices, and was last updated by lluis06
6 years, 1 month ago.

Topic Details
Forum: ProOrder: Trading Automático y Backtesting
Language: Spanish
Started: 01/27/2020
Status: Active
Attachments: No files
Logo Logo
Loading...