STOP INTRADAY STRATEGY AFTER TAKE PROFIT REACHED

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #150190 quote
    Marc Boliart
    Participant
    Average

    Un hola a todos, y perdón por mi inglés,

    He estado leyendo este tema …

    https://www.prorealcode.com/blog/learning/max-profit-loss-day-trading-strategy/ compre, no es por eso que lo necesito,

    He creado una buena estrategia pero no sé cómo detener las operaciones automáticas después de que se alcanza la toma de ganancias, por ejemplo, si se alcanza el objetivo de ganancia establecido de 300 puntos, quiero detener la estrategia intradía, es decir, no más operaciones,

    ¿Cómo puedo obtener un código después de que se haya realizado el take profit os set taget pprofit?

    ¡Muchas gracias!

    #150192 quote
    Marc Boliart
    Participant
    Average

    Vaya, perdón,

    jajaja

    Pues eso, lo escribo en español

    Como puedo introducir un código en prorealcode que una vez el take profit (set targte pprofit) sea realizado a nivel intradía se pare la estrategia y se reanude el día siguiente?

    gracias!

    #150195 quote
    robertogozzi
    Moderator
    Master

    Una estrategia, a excepción de otras condiciones específicas, puede finalizar porque se ha cerrado en beneficio o en stop loss, así que solo verifique si el beneficio diario es menor o menor que el del comienzo del día:

    Once TradeON  = 1
    Once MyProfit = 0
    If IntraDayBarIndex = 0 Then
       MyProfit = StrategyProfit
       TradeON = 1
    Endif
    If MyProfit > StrategyProfit Then
       TradeON = 0
    Endif
    If MyLongConditions and TradeON then
       Buy 1 contract at Market
       Set Target pProfit 300
       Set Stop   PLoss   100
    Endif
    Marc Boliart thanked this post
    #150202 quote
    Marc Boliart
    Participant
    Average

    Hola Roberto, Gracias por contestar,

    El texto TradeOn y Myprofit no entiendo como definirlos, el código al final es el siguiente que expongo en el código,

    Estoy creando un indicador y la estrategia asociada al mismo y antes de publicarla quiero backtest y lanzarlo unos meses en real.

    Como introduzco tus parámetros en mi código?

    Gracias de nuevo!

    // Definición de los parámetros del código
    DEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada
    
    // Impide al sistema crear nuevas órdenes para entrar al mercado a aumentar el tamaño de la posición antes de una hora precisa
    noEntryBeforeTime = 080000
    timeEnterBefore = time >= noEntryBeforeTime
    
    // Impide al sistema lanzar nuevas órdenes para entrar al mercado o aumentar el tamaño de la posición después de una hora precisa
    noEntryAfterTime = 220000
    timeEnterAfter = time < noEntryAfterTime
    
    // Impide al sistema operar en días precisos de la semana
    daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
    
    // Condiciones para entrada de posiciones largas
    indicator1, ignored, ignored, ignored, ignored, ignored, ignored, ignored, ignored = CALL "Delorean v1.5_vwap"(close)
    c1 = (indicator1 > 0)
    indicator2, ignored, ignored, ignored, indicator3, ignored, ignored, ignored, ignored = CALL "Delorean v1.5_vwap"(close)
    c2 = (indicator2 > indicator3)
    userindic1, ignored, ignored, ignored, ignored, ignored, ignored, ignored, ignored = CALL "Delorean v1.5_vwap"(close)
    indicator4 = Average[50](userindic1)
    c3 = (indicator4 > indicator5[1])
    
    IF (c1 AND c2 AND c3) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
    
    // Condiciones de salida de posiciones largas
    indicator6, ignored, ignored, ignored, indicator7, ignored, ignored, ignored, ignored = CALL "Delorean v1.5_vwap"(close)
    c4 = (indicator6 CROSSES UNDER indicator7)
    
    IF c4 THEN
    SELL AT MARKET
    ENDIF
    
    // Condiciones de entrada de posiciones cortas
    indicator8, ignored, ignored, ignored, ignored, ignored, ignored, ignored, ignored = CALL "Delorean v1.5_vwap"(close)
    c5 = (indicator8 < 0)
    indicator9, ignored, ignored, ignored, indicator10, ignored, ignored, ignored, ignored = CALL "Delorean v1.5_vwap"(close)
    c6 = (indicator9 < indicator10)
    userindic1, ignored, ignored, ignored, ignored, ignored, ignored, ignored, ignored = CALL "Delorean v1.5_vwap"(close)
    indicator11 = Average[50](userindic1)
    c7 = (indicator11 < indicator12[1])
    
    IF (c5 AND c6 AND c7) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN
    SELLSHORT 1 CONTRACT AT MARKET
    ENDIF
    
    // Condiciones de salida de posiciones cortas
    indicator13, ignored, ignored, ignored, indicator14, ignored, ignored, ignored, ignored = CALL "Delorean v1.5_vwap"(close)
    c8 = (indicator13 CROSSES OVER indicator14)
    
    IF c8 THEN
    EXITSHORT AT MARKET
    ENDIF
    
    // Stops y targets
    SET STOP pLOSS 50
    SET TARGET pPROFIT 300
    
    #150249 quote
    robertogozzi
    Moderator
    Master

    Aquí está (no lo he probado porque no tengo los indicadores usados):

    // Definición de los parámetros del código
    DEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada
     
    // Impide al sistema crear nuevas órdenes para entrar al mercado a aumentar el tamaño de la posición antes de una hora precisa
    noEntryBeforeTime = 080000
    timeEnterBefore = time >= noEntryBeforeTime
     
    // Impide al sistema lanzar nuevas órdenes para entrar al mercado o aumentar el tamaño de la posición después de una hora precisa
    noEntryAfterTime = 220000
    timeEnterAfter = time < noEntryAfterTime
     
    // Impide al sistema operar en días precisos de la semana
    daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
    
    Once TradeON  = 1
    Once MyProfit = 0
    If IntraDayBarIndex = 0 Then
       MyProfit = StrategyProfit
       TradeON = 1
    Endif
    If MyProfit > StrategyProfit Then
       TradeON = 0
    Endif
    
    // Condiciones para entrada de posiciones largas
    indicator1, ignored, ignored, ignored, ignored, ignored, ignored, ignored, ignored = CALL "Delorean v1.5_vwap"(close)
    c1 = (indicator1 > 0)
    indicator2, ignored, ignored, ignored, indicator3, ignored, ignored, ignored, ignored = CALL "Delorean v1.5_vwap"(close)
    c2 = (indicator2 > indicator3)
    userindic1, ignored, ignored, ignored, ignored, ignored, ignored, ignored, ignored = CALL "Delorean v1.5_vwap"(close)
    indicator4 = Average[50](userindic1)
    c3 = (indicator4 > indicator5[1])
     
    IF (c1 AND c2 AND c3) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry AND TradeON THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
     
    // Condiciones de salida de posiciones largas
    indicator6, ignored, ignored, ignored, indicator7, ignored, ignored, ignored, ignored = CALL "Delorean v1.5_vwap"(close)
    c4 = (indicator6 CROSSES UNDER indicator7)
     
    IF c4 THEN
    SELL AT MARKET
    ENDIF
     
    // Condiciones de entrada de posiciones cortas
    indicator8, ignored, ignored, ignored, ignored, ignored, ignored, ignored, ignored = CALL "Delorean v1.5_vwap"(close)
    c5 = (indicator8 < 0)
    indicator9, ignored, ignored, ignored, indicator10, ignored, ignored, ignored, ignored = CALL "Delorean v1.5_vwap"(close)
    c6 = (indicator9 < indicator10)
    userindic1, ignored, ignored, ignored, ignored, ignored, ignored, ignored, ignored = CALL "Delorean v1.5_vwap"(close)
    indicator11 = Average[50](userindic1)
    c7 = (indicator11 < indicator12[1])
     
    IF (c5 AND c6 AND c7) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry AND TradeON THEN
    SELLSHORT 1 CONTRACT AT MARKET
    ENDIF
     
    // Condiciones de salida de posiciones cortas
    indicator13, ignored, ignored, ignored, indicator14, ignored, ignored, ignored, ignored = CALL "Delorean v1.5_vwap"(close)
    c8 = (indicator13 CROSSES OVER indicator14)
     
    IF c8 THEN
    EXITSHORT AT MARKET
    ENDIF
     
    // Stops y targets
    SET STOP pLOSS 50
    SET TARGET pPROFIT 300
    Marc Boliart thanked this post
    #150273 quote
    Marc Boliart
    Participant
    Average

    Hola Roberto,

    lo he puesto y sigue ejecutando operaciones después de llegar al TAKE PROFIT, el tema es que una vez llegue al TAKE PROFIT de 300 puntos dejara de operar hasta el siguiente día, y el sistema automático sigue realizando operaciones. No funciona, aunque muchas gracias por la contestación.

    #150277 quote
    robertogozzi
    Moderator
    Master

    Lo sentimos, la línea 21 debe invertirse:

    If StrategyProfit > MyProfit Then
    Reinicie al día siguiente, si no desea que se reinicie nuevamente, elimine (o comente) la línea 19.
    Marc Boliart thanked this post
    #150307 quote
    Marc Boliart
    Participant
    Average

    Hola Roberto!

    Ahora sí!

    te debo una cerveza !

    Muchisimas gracias, ahora toca probar el sistema en real durante unos 6 meses y si funciona bien , os pongo el indicador que va asociado al back test! Gracias!

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

STOP INTRADAY STRATEGY AFTER TAKE PROFIT REACHED


ProOrder: Trading Automático y Backtesting

New Reply
Author
Summary

This topic contains 7 replies,
has 2 voices, and was last updated by Marc Boliart
5 years, 4 months ago.

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