COMPRA STOP EN PIVOTS

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #134066 quote
    Albert0769
    Participant
    Average

    Buenas tardes:

     

    Gracias a quien me pueda ayudar con la programación de esta estrategia.

    Se trata de activar un orden de compra STOP, 25 puntos por debajo de un nivel Pivot de entrada.

    Yo he programado este código adjunto, pero evidentemente no funciona y no activa la orden de compra STOP cuando el Precio cruza el nivel de activación, en ese nivel 25 puntos por debajo del nivel Pivot de entrada.

     

    Gracias por la ayuda tan buena, que me podáis prestar a este respecto.

    #134077 quote
    Albert0769
    Participant
    Average
    DEFPARAM PRELOADBARS = 10000
    DEFPARAM CUMULATEORDERS = False
    
    
    PIV = 25282.4*PointSize
    PIV25 = (PIV-25)*PointSize
    
    PRECIO = Close
    
    INIBAR = 0
     
    IF PRECIO CROSSES OVER PIV25  THEN
    INIBAR = Barindex
    INI = 1
    ENDIF
    
    IF NOT ONMARKET AND INI = 1 AND Barindex - INIBAR >= 0  THEN
    BUY 1 CONTRACT AT PIV STOP
    ENDIF
    
    
    
    startBreakeven = 25
    PointsToKeep = 0
    IF NOT ONMARKET THEN
    breakevenLevel = 0
    ENDIF
    
    IF LONGONMARKET AND Close-TradePrice(1) >= startBreakeven*Pointsize  THEN
    breakevenLevel = Tradeprice(1)+PointsToKeep*Pointsize
    ENDIF
    
    IF breakevenLevel > 0  THEN
    SELL AT breakevenLevel STOP
    ENDIF
    
    
    //// Stops y objetivos:
    SET STOP LOSS 150
    SET TARGET pPROFIT 300
    
    #134082 quote
    Albert0769
    Participant
    Average
    DEFPARAM PRELOADBARS = 10000
    DEFPARAM CUMULATEORDERS = False
    
    
    PIV = 25282.4
    PIV25 = (PIV-25)
    
    PRECIO = Close
    
    
    IF PRECIO CROSSES OVER PIV25  THEN
    BUY 1 CONTRACT AT PIV STOP
    ENDIF
    
    
    
    startBreakeven = 25
    PointsToKeep = 0
    IF NOT ONMARKET THEN
    breakevenLevel = 0
    ENDIF
    
    IF LONGONMARKET AND Close-TradePrice(1) >= startBreakeven*Pointsize  THEN
    breakevenLevel = Tradeprice(1)+PointsToKeep*Pointsize
    ENDIF
    
    IF breakevenLevel > 0  THEN
    SELL AT breakevenLevel STOP
    ENDIF
    
    
    //// Stops y objetivos:
    SET STOP LOSS 150
    SET TARGET pPROFIT 300
    
    #134192 quote
    Nicolas
    Keymaster
    Master

    El pedido de DETENER solo dura 1 barra, por lo que debe configurarlo en cada lectura de código y eso no es lo que está haciendo, solo lo coloca una vez cuando se produce el cruce. Pruebe con este código modificado:

    DEFPARAM PRELOADBARS = 10000
    DEFPARAM CUMULATEORDERS = False
    
    PIV = 25282.4
    PIV25 = (PIV-25)
    
    PRECIO = Close
    
    IF PRECIO CROSSES OVER PIV25  THEN
     valid = 1
    ENDIF
    
    if onmarket then 
     valid = 0
    endif
    
    if not onmarket and valid = 1 then 
     BUY 1 CONTRACT AT PIV STOP
    endif
    
    startBreakeven = 25
    PointsToKeep = 0
    IF NOT ONMARKET THEN
    breakevenLevel = 0
    ENDIF
    
    IF LONGONMARKET AND Close-TradePrice(1) >= startBreakeven*Pointsize  THEN
    breakevenLevel = Tradeprice(1)+PointsToKeep*Pointsize
    ENDIF
    
    IF breakevenLevel > 0  THEN
    SELL AT breakevenLevel STOP
    ENDIF
    
    //// Stops y objetivos:
    SET STOP LOSS 150
    SET TARGET pPROFIT 300
    #135094 quote
    Albert0769
    Participant
    Average

    Buenos días Nicolas:

     

    Primero de todo darte las gracias como siempre en tus respuestas tan buenas y tan rápidas.

    Siguiendo con el código que me has pasado, he diseñado estas dos nuevas estrategias, pero no sé por qué no funcionan bien.

    Por favor Nicolás puedes revisar estos dos nuevos códigos y decirme donde está el error.

     

    Como siempre muchas gracias por tu ayuda nuevamente.

    Saludos,

    ALBERT

    DEFPARAM PRELOADBARS = 10000
    DEFPARAM CUMULATEORDERS = False
    
    
    INTRABAR = Intradaybarindex
    
    PRECIO = Close
    
    
    IF INTRABAR = 59  THEN
    MAXD = Highest[1440](High)
    MIND = Lowest[1440](Low)
    ENDIF
    
    IF INTRABAR = 59  THEN
    PIV = (MAXD+MIND+PRECIO)/3
    RD1 = (2*PIV)-MIND
    SD1 = (2*PIV)-MAXD
    RD2 = PIV+MAXD-MIND
    SD2 = PIV-MAXD+MIND
    RD3 = MAXD+(2*(PIV-MIND))
    SD3 = MIND-(2*(MAXD-PIV))
    ENDIF
    
    V = 50
    //////////////////// RD3 ////////////////////
    
    RD325 = (RD3-V)
    
    IF PRECIO CROSSES OVER RD325  THEN
    valid13 = 1
    ENDIF
    
    if longonmarket then
    valid13 = 0
    endif
    
    if not longonmarket and valid13 = 1 then
    BUY 1 CONTRACT AT RD3 STOP
    endif
    
    //////////////////// RD2 //////////////////////
    
    RD225 = (RD2-V)
    
    IF PRECIO CROSSES OVER RD225  THEN
    valid12 = 1
    ENDIF
    
    if onmarket then
    valid12 = 0
    endif
    
    if not onmarket and valid12 = 1 then
    BUY 1 CONTRACT AT RD2 STOP
    endif
    
    /////////////////// RD1 ///////////////////////
    
    RD125 = (RD1-V)
    
    IF PRECIO CROSSES OVER RD125  THEN
    valid11 = 1
    ENDIF
    
    if onmarket then
    valid11 = 0
    endif
    
    if not onmarket and valid11 = 1 then
    BUY 1 CONTRACT AT RD1 STOP
    endif
    
    ///////////////////// PIV ////////////////////
    
    PIV25 = (PIV-V)
    
    IF PRECIO CROSSES OVER PIV25  THEN
    valid0 = 1
    ENDIF
    
    if onmarket then
    valid0 = 0
    endif
    
    if not onmarket and valid0 = 1 then
    BUY 1 CONTRACT AT PIV STOP
    endif
    
    /////////////////////// SD1 ////////////////////
    
    SD125 = (SD1-V)
    
    IF PRECIO CROSSES OVER SD125  THEN
    valid111 = 1
    ENDIF
    
    if onmarket then
    valid111 = 0
    endif
    
    if not onmarket and valid111 = 1 then
    BUY 1 CONTRACT AT SD1 STOP
    endif
    
    /////////////////////// SD2 ///////////////////
    
    SD225 = (SD2-V)
    
    IF PRECIO CROSSES OVER SD225  THEN
    valid112 = 1
    ENDIF
    
    if onmarket then
    valid112 = 0
    endif
    
    if not onmarket and valid112 = 1 then
    BUY 1 CONTRACT AT SD2 STOP
    endif
    
    ///////////////////////// SD3 ///////////////////
    
    SD325 = (SD3-V)
    
    IF PRECIO CROSSES OVER SD325  THEN
    valid113 = 1
    ENDIF
    
    if onmarket then
    valid113 = 0
    endif
    
    if not onmarket and valid113 = 1 then
    BUY 1 CONTRACT AT SD3 STOP
    endif
    
    
    
    startBreakeven = 25
    PointsToKeep = 0
    IF NOT ONMARKET THEN
    breakevenLevel = 0
    ENDIF
    
    IF LONGONMARKET AND Close-TradePrice(1) >= startBreakeven*Pointsize  THEN
    breakevenLevel = Tradeprice(1)+PointsToKeep*Pointsize
    ENDIF
    
    IF breakevenLevel > 0  THEN
    SELL AT breakevenLevel STOP
    ENDIF
    
    
    //// Stops y objetivos:
    SET STOP LOSS 50
    SET TARGET pPROFIT 50
    
    DEFPARAM PRELOADBARS = 10000
    DEFPARAM CUMULATEORDERS = False
    
    
    INTRABAR = Intradaybarindex
    
    PRECIO = Close
    
    
    IF INTRABAR = 59  THEN
    MAXD = Highest[1440](High)
    MIND = Lowest[1440](Low)
    ENDIF
    
    IF INTRABAR = 59  THEN
    PIV = (MAXD+MIND+PRECIO)/3
    RD1 = (2*PIV)-MIND
    SD1 = (2*PIV)-MAXD
    RD2 = PIV+MAXD-MIND
    SD2 = PIV-MAXD+MIND
    RD3 = MAXD+(2*(PIV-MIND))
    SD3 = MIND-(2*(MAXD-PIV))
    ENDIF
    
    V = 50
    //////////////////// RD3 ////////////////////
    
    RD325 = (RD3+V)
    
    IF PRECIO CROSSES UNDER RD325 THEN
    valid13 = 1
    ENDIF
    
    if onmarket then
    valid13 = 0
    endif
    
    if not onmarket and valid13 = 1 then
    SELLSHORT 1 CONTRACT AT RD3 STOP
    endif
    
    ////////////////////// RD2 /////////////////
    
    RD225 = (RD2+V)
    
    IF PRECIO CROSSES UNDER RD225 THEN
    valid12 = 1
    ENDIF
    
    if onmarket then
    valid12 = 0
    endif
    
    if not onmarket and valid12 = 1 then
    SELLSHORT 1 CONTRACT AT RD2 STOP
    endif
    
    //////////////////// RD1 ///////////////////
    
    RD125 = (RD1+V)
    
    IF PRECIO CROSSES UNDER RD125 THEN
    valid11 = 1
    ENDIF
    
    if onmarket then
    valid11 = 0
    endif
    
    if not onmarket and valid11 = 1 then
    SELLSHORT 1 CONTRACT AT RD1 STOP
    endif
    
    //////////////////// PIV //////////////////
    
    PIV25 = (PIV+V)
    
    IF PRECIO CROSSES UNDER PIV25 THEN
    valid0 = 1
    ENDIF
    
    if onmarket then
    valid0 = 0
    endif
    
    if not onmarket and valid0 = 1 then
    SELLSHORT 1 CONTRACT AT PIV STOP
    endif
    
    /////////////////////// SD1 //////////////////
    
    SD125 = (SD1+V)
    
    IF PRECIO CROSSES UNDER SD125 THEN
    valid111 = 1
    ENDIF
    
    if onmarket then
    valid111 = 0
    endif
    
    if not onmarket and valid111 = 1 then
    SELLSHORT 1 CONTRACT AT SD1 STOP
    endif
    
    ////////////////////// SD2 ////////////////////
    
    SD225 = (SD2+V)
    
    IF PRECIO CROSSES UNDER SD225 THEN
    valid112 = 1
    ENDIF
    
    if onmarket then
    valid112 = 0
    endif
    
    if not onmarket and valid112 = 1 then
    SELLSHORT 1 CONTRACT AT SD2 STOP
    endif
    
    ///////////////////// SD3 ///////////////////////
    
    SD325 = (SD3+V)
    
    IF PRECIO CROSSES UNDER SD325 THEN
    valid113 = 1
    ENDIF
    
    if onmarket then
    valid113 = 0
    endif
    
    if not onmarket and valid113 = 1 then
    SELLSHORT 1 CONTRACT AT SD3 STOP
    endif
    
    
    
    startBreakeven = 25
    PointsToKeep = 0
    IF NOT ONMARKET THEN
    breakevenLevel = 0
    ENDIF
    
    IF SHORTONMARKET AND TradePrice(1)-Close >= startBreakeven*Pointsize  THEN
    breakevenLevel = TradePrice(1)-PointsToKeep*Pointsize
    ENDIF
    
    IF breakevenLevel > 0  THEN
    EXITSHORT AT breakevenlevel STOP
    ENDIF
    
    
    //// Stops y objetivos:
    SET STOP pLOSS 50
    SET TARGET pPROFIT 50
    
Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.

COMPRA STOP EN PIVOTS


ProOrder: Trading Automático y Backtesting

New Reply
Author
author-avatar
Albert0769 @albert0769 Participant
Summary

This topic contains 4 replies,
has 2 voices, and was last updated by Albert0769
5 years, 9 months ago.

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