En cuanto gana una operacion en el dia, para

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #56557 quote
    ALGAR
    Participant
    New
    • Alguien sabe, si es posible programar el que cada día solo este activo hasta la primera operación ganadora.
    #56560 quote
    Juan Salas
    Participant
    Master

    Hola Algar,

    Creo que te puedo ayudar. Tienes que crear una condición que resetee las operaciones al principio de cada día:

    IF INTRADAYBARINDEX = 0 THEN
    nomasoperaciones = 0
    ENDIF

    Y en cada operación tienes que poner nomasoperaciones = 0, o la llamada que prefieras.

    IF tuscondiciones AND nomasoperaciones=0 THEN
    BUY 1 CONTRACT AT MARKET 
    ENDIF
    

    Despues, si ganas una operación debes reflejarlo así. Espero que te sirva. Saludos

    IF positionperf(1)>0 THEN
    nomasoperaciones = 1
    ENDIF
    
    
    #56581 quote
    ALGAR
    Participant
    New

    Disculpa, se me había olvidado que era para ejecutarlo sobre gráfico de 5minutos.

    #56585 quote
    Juan Salas
    Participant
    Master

    No importa, esto es independiente de la temporalidad (TF) que utilices.

    #56586 quote
    Juan Salas
    Participant
    Master

    Si tienes alguna duda de como incluirlo dentro del código, pon el código aquí si quieres (cámbiale las condiciones si no quieres que las veamos), y te pongo las lineas de código donde van cada una. No importa que el código no funcione todavía. Esta fue una de las primeras cosas que intenté hacer (dejar de operar una vez que ganas), y Nicolas me lo enseñó así.

    #56645 quote
    ALGAR
    Participant
    New

    T e adjunto el código como lo he implementado, pero sólo  me coge una operación. Solo me hace una operación

    CORTOS_DAX_5MIN.txt
    #56658 quote
    Juan Salas
    Participant
    Master
    //no acumula operaciones
    DEFPARAM CUMULATEORDERS = false
    
    //se activa desde las 8 a las 19:55 horas
    DEFPARAM FLATBEFORE = 080000
    DEFPARAM FLATAFTER = 195500
    DEFPARAM Preloadbars = 2000
    
    // por seguridad le pongo que no deje nada abierto desde las 21:15
    IF LONGONMARKET AND (TIME>215000) THEN
    QUIT
    ENDIF
    IF SHORTONMARKET AND (TIME>215000) THEN
    QUIT
    ENDIF
    
    // variables
    A =  100+Williams[3](close)
    B =  100+Williams[14](close)
    C =  100+Williams[70](close)
    
    
    //
    IF INTRADAYBARINDEX = 0 THEN
    nomasoperaciones = 0
    ENDIF
    
    //
    IF positionperf(1)>0 THEN
    nomasoperaciones = 1
    ENDIF
    
    //condiciones
    IF   A<15 AND B<15 AND C<15 AND nomasoperaciones = 0 THEN
    SELLSHORT 1 SHARES  AT  MARKET
    SET  STOP PLOSS 24
    SET TARGET PPROFIT 24
    ENDIF

    Lo pongo aqui para que lo podamos corregir mejor

    #56659 quote
    Juan Salas
    Participant
    Master

    Jose,

    Al poner QUIT has parado el sistema

    #56660 quote
    Juan Salas
    Participant
    Master

    perdona ALGAR (no Jose), tengo otro foro abierto.

    #56661 quote
    Juan Salas
    Participant
    Master

    Algar,

    Ya funciona.

    //no acumula operaciones
    DEFPARAM CUMULATEORDERS = false
     
    //se activa desde las 8 a las 19:55 horas
    DEFPARAM FLATBEFORE = 080000
    DEFPARAM FLATAFTER = 195500
    DEFPARAM Preloadbars = 2000
    
    IF INTRADAYBARINDEX = 0 THEN
    nomasoperaciones = 0
    ENDIF
     
    // por seguridad le pongo que no deje nada abierto desde las 21:15
    //IF LONGONMARKET AND (TIME>215000) THEN
    //QUIT
    //ENDIF
    //IF SHORTONMARKET AND (TIME>215000) THEN
    //QUIT
    //ENDIF
    // Si en algún momento quieres cerrar las operaciones en una hora determinada te aconsejo:
    IF time=211500 THEN
    SELL AT MARKET
    EXITSHORT AT MARKET
    ENDIF
    // Aún así, con el DEFPARAM Flatafter=195500 cierras todas las operaciones a esa hora.
     
    // variables
    A =  100+Williams[3](close)
    B =  100+Williams[14](close)
    C =  100+Williams[70](close)
       
    //condiciones
    IF A<15 AND B<15 AND C<15 AND nomasoperaciones = 0 THEN
    SELLSHORT 1 SHARES AT MARKET
    SET  STOP PLOSS 24
    SET TARGET PPROFIT 24
    IF positionperf(1)>0 THEN
    nomasoperaciones = 1
    ENDIF
    ENDIF
    
    #56671 quote
    ALGAR
    Participant
    New

    He probado el código con todas tus indicaciones y me funciona correctamente.

    Muchísimas gracias, Juan

    Juan Salas thanked this post
    #56673 quote
    Juan Salas
    Participant
    Master

    Un placer. A mi también me han ayudado mucho, y todavía lo siguen haciendo como puedes ver en algunos posts. De eso se trata.

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

En cuanto gana una operacion en el dia, para


ProOrder: Trading Automático y Backtesting

New Reply
Author
author-avatar
ALGAR @algar Participant
Summary

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

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