codigo multi time frame

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #140705 quote
    drafm0
    Participant
    New

    Buenos días. necesito que el sistema de 15min entre solo cuando las condiciones en diario sean las adecuadas, el código no me da problemas a la hora de compilar pero cuando lo llevo al backtesting no lo hace, no se en que estoy fallando a ver si alguien puede echarme una mano . muchísimas gracias.un saludo

    DEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada
    
    timeframe(daily,updateonclose)
    
    indicator8 = MACDline[12,26,9](close)
    
    indicator9 = MACDSignal[12,26,9](close)
    
    c10 = (indicator8 > indicator9)
    
    timeframe(15 minutes,updateonclose)
    
    // Condiciones para entrada de posiciones largas
    
    indicator1 = Stochastic[89,3](close)
    
    c1 = (indicator1 CROSSES OVER 80)
    
    indicator2 = MACDline[12,26,9](close)
    
    indicator3 = MACDSignal[12,26,9](close)
    
    c2 = (indicator2 > indicator3)
    
    if indicator1 < 40 then
    
    c3=1
    
    endif
    
    IF c1 AND c2 and c3 THEN
    
    BUY 1 SHARES AT MARKET
    
    c3=0
    
    ENDIF
    
    // Condiciones de salida de posiciones largas
    
    indicator4 = ExponentialAverage[26](close)
    
    c4 = (close < indicator4)
    
    IF c4 THEN
    
    SELL AT MARKET
    
    ENDIF
    
    // Stops y targets
    
    SET TARGET pPROFIT 230
    
    set stop ploss 50
    #140709 quote
    robertogozzi
    Moderator
    Master

    Siempre use el botón “Insert PRT Code” cuando incluya e inserte un código en sus mensajes para que sea más fácil de leer para otros.

    Gracias 🙂

    #140711 quote
    robertogozzi
    Moderator
    Master

    Las condiciones C1 y C3 son incompatibles, ambas no pueden ser verdaderas simultáneamente.

    Nunca use la condición C10.

    #140733 quote
    drafm0
    Participant
    New

    Hola robertogozzi perdona por no hacerlo con el botón insert PRT code, no lo sabía .
    en cuanto el sistema sí que lo hace bien , el problema es que lo hace en todas las condiciones de diario en vez de hacerlo solo cuando el macdline sea mayor que su señal

    #140740 quote
    robertogozzi
    Moderator
    Master

    Si las condiciones C1 y C3 son incompatibles, ¿cómo se pone en posición? ¡MACD no puede cruzar 80 y ser inferior a 40 al mismo tiempo!

    Además, NO utiliza la variable C10 creada en el marco de tiempo diario, entonces, ¿cómo la considera para ingresar al mercado?

    #140744 quote
    drafm0
    Participant
    New

    El sistema mira primero si el estocastico de 89 ha estado por debajo de 40 que es condición indispensable y después si el estocastico de 89 cruza 80 y el macd es mayor que su señal entonces compra y en el backtesting eso lo hace bien el problema es que solo lo tiene que hacer si en diario el macd es mayor que su señal ( cortado al alza) no sé qué tendría que cambiar. Estoy perdido

    #140761 quote
    robertogozzi
    Moderator
    Master

    El método para verificar si el indicador STOCHASTIC está cruzando 80 después de estar por debajo de 40 debe hacerse de manera diferente.

    En primer lugar, si el estocástico cruza al alza 80, primero habrá sido DEFINITIVAMENTE por debajo de 40. Entonces, el punto esencial es saber CUÁNTAS velas antes de haber estado por debajo de 40. Por ejemplo, cuando hay una cruz al alza en 80, debe haber estado primero debajo de 40 por NO MÁS DE 20 velas (u otro valor numérico editable).

    Además, está mezclando el STOCHASTIC diario con el de 15 minutos, no tiene mucho sentido verificar que el STOCHASTIC incrico 80 diario y que el de 15 minutos era previamente menor de 40.

    Resuma las condiciones que desea, para cada período de tiempo (time frame), como una lista:

    1. ….
    2. ….
    3. ….

    después de lo cual intentaré crearlo.

    #140765 quote
    drafm0
    Participant
    New

    Pues muchísimas gracias

    seria:

    DIARIO

    1/ macdline > que su señal

    15 MINUTOS:

    1/ estocastico(89) este por debajo de 40 IMPORTANTE

    2/ MACDline > su señal

    3/ estocastico(89) cruza 80

    COMPRA

    #140778 quote
    robertogozzi
    Moderator
    Master

    Ahí tienes:

    DEFPARAM CumulateOrders = false
    TIMEFRAME(default)
    ONCE N  =  50                                               //50 bars to look back for Stochastic to be < 40
    //------------------------------------------------------------------
    TIMEFRAME(Daily,UpdateOnClose)
    SignalD = ExponentialAverage[9](MACDline[12,26,9](close))   //Signal
    MyMacdD = MACDline[12,26,9](close)                          //Macd
    c1      = MyMacdD > SignalD
    //------------------------------------------------------------------
    TIMEFRAME(1 hour,UpdateOnClose)
    Signal5 = ExponentialAverage[9](MACDline[12,26,9](close))   //Signal
    MyMacd5 = MACDline[12,26,9](close)                          //Macd
    c2      = MyMacd5 > Signal5
    //
    c3      = Stochastic[89,3](close) CROSSES OVER 80           //Stochastic bullish crossover
    c4      = summation[n](Stochastic[89,3](close) < 40)        //Stochastic < 40 within the last N bars
    cExit   = ExponentialAverage[26](close)
    //
    //------------------------------------------------------------------
    TIMEFRAME(default)
    Cond    = c1 AND c2 AND c3 AND c4
    IF Cond AND Not OnMarket THEN
       BUY 1 CONTRACT AT MARKET
    ENDIF
    IF LongOnMarket AND (close < cExit) THEN
       SELL AT Market
    ENDIF
    //
    SET TARGET pPROFIT 230
    set stop   ploss   50
    #140782 quote
    drafm0
    Participant
    New

    Muchisimas gracias de verdad

    #140783 quote
    drafm0
    Participant
    New

    Tambien veo que has metido graficos de una hora

    #140787 quote
    robertogozzi
    Moderator
    Master

    Lo sentimos, reemplace la línea 10 con:

    TIMEFRAME(15 minute,UpdateOnClose)
Viewing 12 posts - 1 through 12 (of 12 total)
  • You must be logged in to reply to this topic.

codigo multi time frame


ProOrder: Trading Automático y Backtesting

New Reply
Author
author-avatar
drafm0 @drafm0 Participant
Summary

This topic contains 11 replies,
has 2 voices, and was last updated by robertogozzi
5 years, 7 months ago.

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