condiciones previas ,codigo

Viewing 15 posts - 1 through 15 (of 16 total)
  • Author
    Posts
  • #112521 quote
    pierreguitart
    Participant
    New

    Hola ,

    Tengo una estrategia donde primero se deben cumplir unas condiciones y luego otras,

    que conector he de usar? he intentado con CONTINUE , NEXT,o con variable  pero me da error.

    Adjunto la image .

    Captura-de-pantalla-2019-11-11-a-las-11.16.44.png Captura-de-pantalla-2019-11-11-a-las-11.16.44.png
    #112527 quote
    robertogozzi
    Moderator
    Master

    CONTINUE y NEXT se usan con iteraciones, no tienen nada que ver con IF … ENDIF.

    No hay palabra reservada CONNECTOR. SIEMPRE publique su código, aunque parcialmente si lo desea.

    I = 0 nunca se usa, por lo que puede eliminarlo y combinar TODAS sus condiciones en una sola línea.

    #112529 quote
    pierreguitart
    Participant
    New

    Hola roberto , gracias por contestar y la rapidez

    el problema es que una condición es previa ya que se utiliza el mismo indicador.

    primero quiero que este por debajo de SMA y cuando toque o supere entonces entrar

    lo mismo me pasa con dos condiciones más .

    Te adjunto el codigo.

    Gracias

    // Condiciones de entrada de posiciones cortas
    c1 = close < Average[200](close)
    c2 = summation[50](close < Average[200](close))
    
    indicator1, indicator2 = CALL "PRC_Voss Predictive Filter VPF"[20, 3, 0.25]
    c3 = indicator1  < indicator2
    
    myLAGUERRE1 = CALL "filtro de laguerre"[20, 5]
    c4 =  close > myLAGUERRE1
    
    c5 = close > Average[200](close)
    c6 = indicator1 CROSSES OVER indicator2
    c7 = close[3] < close
     
    
    
    
    IF NOT ShortOnMarket AND c1 AND c2 and c3 and c4 and c5 and c6 and c7 Then
    
    SELLSHORT 1 CONTRACTS AT MARKET
    ENDIF
    
    
    // Condiciones de salida de posiciones cortas
    s1 = indicator2 CROSSES OVER indicator1
    s2 = close[2] > close
    
    IF ShortOnMarket AND s1 and s2 THEN
    EXITSHORT AT MARKET
    ENDIF
    #112530 quote
    robertogozzi
    Moderator
    Master

    Te refieres a la línea 12, prueba esta:

    ONCE X = 3 * pipsize
    c6 = (indicator1 CROSSES OVER indicator2) OR (indicator1 = indicator2) OR (indicator1 >= (indicator2 + X))

    esto verificará si lo ha cruzado o “tocado”, pero TOUCH no existe, es solo una condición visual y no se puede codificar exactamente. Por lo tanto, agregué si SON iguales (realmente touching, pero una condición muy rara, si es posible) y si el indicador1 sigue siendo unedr indicador2 pero lo suficientemente cerca como para considerarse “touching“, establece el número de pips que se pueden considerar cercanos suficiente para imitar “tocar”. Espero que esto sea lo que estás buscando.

    #112532 quote
    pierreguitart
    Participant
    New

    muchas gracias roberto , esto me servira para afinar mas las entradas .

    pero a lo que yo me referia es que al validar el programa no me da ninguna entrada ni salida y es porque

    c1 = close < Average[200](close)

    c2 = summation[50](close < Average[200](close))

    y

    c5 = close > Average[200](close)

    y aqui esta el problema , yo quiero que primero se cumplan c1 y c2 , cuando se hayan cumplido y después se cumpla c5 . espero haberme explicado mejor .

    Gracias.

    #112533 quote
    robertogozzi
    Moderator
    Master

    Este debería hacer:

    ONCE cx = 0
    IF OnMarket THEN
       cx = 0
    ENDIF
    // Condiciones de entrada de posiciones cortas
    c1 = close < Average[200](close)
    c2 = summation[50](close < Average[200](close))
     
    indicator1, indicator2 = CALL "PRC_Voss Predictive Filter VPF"[20, 3, 0.25]
    c3 = indicator1  < indicator2
     
    myLAGUERRE1 = CALL "filtro de laguerre"[20, 5]
    c4 =  close > myLAGUERRE1
    
    IF cx = 0 THEN
        cx = c1 AND c2 AND c3 AND c4
    ENDIF
     
    c5 = close > Average[200](close)
    c6 = indicator1 CROSSES OVER indicator2
    c7 = close[3] < close
     
    IF NOT ShortOnMarket AND cx and c5 and c6 and c7 Then
       SELLSHORT 1 CONTRACTS AT MARKET
    ENDIF
     
    // Condiciones de salida de posiciones cortas
    s1 = indicator2 CROSSES OVER indicator1
    s2 = close[2] > close
     
    IF ShortOnMarket AND s1 and s2 THEN
       EXITSHORT AT MARKET
    ENDIF
    #112536 quote
    pierreguitart
    Participant
    New

    muchisimas gracias roberto!

    ya lo ultimo(perdona por ser tan pesado).

    Una vez que entra y sale como hago para que se reinicien las condiciones es decir que se vuelvan a cumplir de nuevo

    porque con

    c2 = summation[50](close < Average[200](close)) ,solo se me cumple una vez y yo quiero que se me cumpla otra vez  empezando desde la salida de la ultima operacion.

     

    Gracias de nuevo

    #112537 quote
    robertogozzi
    Moderator
    Master

    Cuando está ON MARKET, la variable CX se restablece a 0, por lo que se reinicia desde el principio para dar cuenta de C1, C2, C3 y C4.

    #112540 quote
    pierreguitart
    Participant
    New

    debo estar haciendo algo mal , porque con

    c2 = summation[50](close < Average[200](close))

    estoy diciendo que quiero la suma de 50 velas por debajo de la media de 200 para entrar corto y no se me cumple , te adjunto la imagen y codigo para que lo veas si puedes.

    gracias

    ONCE cx = 0
    IF OnMarket THEN
    cx = 0
    ENDIF
    // Condiciones de entrada de posiciones cortas
    c1 = close < Average[200](close)
    c2 = summation[50](close < Average[200](close))
     
    indicator1, indicator2 = CALL "PRC_Voss Predictive Filter VPF"[20, 3, 0.25]
    c3 = indicator1  < indicator2
     
    myLAGUERRE1 = CALL "filtro de laguerre"[20, 5]
    c4 =  close > myLAGUERRE1
     
    IF cx = 0 THEN
    cx = c1 AND c2 AND c3 AND c4
    ENDIF
    
     
    c5 = close > Average[200](close)
    c6 = indicator1 CROSSES OVER indicator2
    c7 = close < close[1]
     
    IF NOT ShortOnMarket AND cx and c5 and c6 and c7 Then
    SELLSHORT 1 CONTRACTS AT MARKET
    ENDIF
     
    // Condiciones de salida de posiciones cortas
    s1 = indicator2 CROSSES OVER indicator1
    s2 = close > close[1]
     
    IF ShortOnMarket AND s1 and s2 THEN
    EXITSHORT AT MARKET
    ENDIF
    Captura-de-pantalla-2019-11-11-a-las-13.49.10.png Captura-de-pantalla-2019-11-11-a-las-13.49.10.png
    #112554 quote
    robertogozzi
    Moderator
    Master

    Por favor:

    1. trazar velas japonesas en su tabla, no HA
    2. explica lo que significan esas flechas

    La gran línea roja es el SMA200? ¿En qué instrumento y marco de tiempo está negociando esta estrategia?

    #112557 quote
    pierreguitart
    Participant
    New

    hola roberto , escribi en el otro foro para intentar no molestarte más pero muchas gracias .

    te cuento, mi estrategia se basa en esto

    Directrices anteriores:
    1- El precio se ha de encontrar por debajo de SMA200 en las 50 velas anteriores

    2-Voss predictive Filter 2 (linea azul) > Voss predictive Filter 1 (linea roja).
    3-Precio por encima del Filtro de Laguerre.

    Directrices para entrar a mercado:
    1- El precio llega o supera SMA 200.
    2-Voss predictive 2 (línea azul) cruza a la baja con Voss Predictive 1 (línea roja).
    3-Esperar una vela bajista ( que no supere el máximo de la anterior).
    4- Entrar.

    Directrices para salir de mercado .

    1-Voss predictive 1 (línea azul) cruza a la baja con Voss Predictive 2 (línea roja).

    2-Dos velas contratendencia que superen sus màximos.

    Stop-loss

    1-Cuando entramos, si el precio está por encima del filtro de laguerre y no lo cruza en las siguentes 2 velas ,entonces cerrar.

    2-Cuando entramos, si el precio está por debajo del filtro y lo cruza en las siguientes 2 velas, entonces cerrar.

    entonces tenemos el codigo.

    ONCE cx = 0
    IF OnMarket THEN
    cx = 0
    ENDIF
    // Condiciones de entrada de posiciones cortas
    c1 = close < Average[200](close)
    c2 = summation[50](close < Average[200](close))
     
    indicator1, indicator2 = CALL "PRC_Voss Predictive Filter VPF"[20, 3, 0.25]
    c3 = indicator1  < indicator2
     
    myLAGUERRE1 = CALL "filtro de laguerre"[20, 5]
    c4 =  close > myLAGUERRE1
     
    IF cx = 0 THEN
    cx = c1 AND c2 AND c3 AND c4
    ENDIF
     
     
    c5 = close > Average[200](close)
    c6 = indicator1 CROSSES OVER indicator2
    c7 = close < close[1]
     
    IF NOT ShortOnMarket AND cx and c5 and c6 and c7 Then
    SELLSHORT 1 CONTRACTS AT MARKET
    ENDIF
     
    // Condiciones de salida de posiciones cortas
    s1 = indicator2 CROSSES OVER indicator1
    s2 = close > close[1]
     
    IF ShortOnMarket AND s1 and s2 THEN
    EXITSHORT AT MARKET
    ENDIF

    yo he estado tocando todas las variables y la que falla es c2 = summation[n](close < Average[200](close) , porque cuando disminuye [n] tendrian que salir mas operaciones y pasa al reves ,cuando disminuye n aumentan las operaciones.

    esta estrategia la trabajo en forex , en graficos de 1min.5min,1h.

    gracias por tu ayuda

    #112560 quote
    robertogozzi
    Moderator
    Master

    Retire la línea 15 y la línea 17.

    Reemplace CX en la línea 24 con

    cx[1]
    #112563 quote
    pierreguitart
    Participant
    New

    no no me funciona ,

    en la imagen , el cuadro verde enseña donde tendria que haber entrado una operacion.con todas las condiciones cumpliendose ,

    el grafico es aud/jpy , 5min

    Captura-de-pantalla-2019-11-11-a-las-17.20.03.png Captura-de-pantalla-2019-11-11-a-las-17.20.03.png
    #112566 quote
    robertogozzi
    Moderator
    Master

    Creo que sus condiciones son casi imposibles de cumplir. ¿Me puede decir en qué instrumento, marco de tiempo, fecha y hora ha encontrado el más reciente manualmente?

    #112568 quote
    pierreguitart
    Participant
    New

    si claro,

    nok/jpy ,1min , 9:35 , hoy.

    gbp/usd ,1 min ,17:01 hoy

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

condiciones previas ,codigo


ProOrder: Trading Automático y Backtesting

New Reply
Author
Summary

This topic contains 15 replies,
has 2 voices, and was last updated by robertogozzi
6 years, 4 months ago.

Topic Details
Forum: ProOrder: Trading Automático y Backtesting
Language: Spanish
Started: 11/11/2019
Status: Active
Attachments: 4 files
Logo Logo
Loading...