PROORDER DIFERENTES TEMPORALIDADES

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #244771 quote
    Jankarl
    Participant
    New

    Hola.

    Tengo en el grafico de temporalidad 15 minutos una media exponencial 8 pero en temporalidad de 1 hora. He intentado montar un bot pero no me aparece la media en las  opciones de indicadores.  Es por ello que quiero un bot que compre  cuando el precio de 15 minutos cruce hacia arriba la EMA 8 de 1h, para salir el cruce abajo del precio con la EMA 8.

    Muchas gracias

    #244773 quote
    Jankarl
    Participant
    New

    he montado el bot pero en venta .

    no entiendo porque no entra en la flecha indicada de la imagen adjunta ya que cumple que la vela rompe hacia abajo la EMA8.

    adjunto el bot

    // Definición de los parámetros del código
    DEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada

    // Condiciones de entrada de posiciones cortas
    timeframe(1 hour,updateonclose)

     

    indicator1 = ExponentialAverage[8](close)
    c1 = (close <= indicator1)
    indicator3 =ExponentialAverage[8](close)[1]
    c3 = (indicator3[1] >= indicator1)

     

    IF c1 and c3 THEN
    SELLSHORT 1 CONTRACT AT MARKET
    ENDIF

    // Condiciones de salida de posiciones cortas

    indicator1 = SAR[0.02,0.02,0.2]
    indicator2 = SAR[0.02,0.02,0.2]
    c2 = (indicator1 <= indicator2[1])

    IF c2 THEN
    EXITSHORT AT MARKET
    ENDIF

    #244787 quote
    Iván González
    Moderator
    Master

    buenas. Aquí tienes el sistema que solicitabas en tu primer comentario.

    /* 
    bot que compre  cuando el precio de 15 minutos cruce hacia arriba la EMA 8 de 1h, para salir el cruce abajo del precio con la EMA 8.
    */
    
    // Define la EMA 8 de 1hora
    timeframe(1h,updateonclose)
    ema8=exponentialaverage[8](close)
    
    // Pasa al timeframe de la operativa (15 minutos)
    timeframe(15mn)
    // Condiciones entrada
    setupEntradaLargo=close crosses over ema8
    if not onmarket and setupEntradaLargo then
    buy 1 contract at market
    endif
    // Condiciones salida
    setupSalidaLargo= close crosses under ema8
    if onmarket and setupSalidaLargo then
    sell 1 contract at market
    endif
    
    graphonprice ema8 coloured("red")
    #244788 quote
    Iván González
    Moderator
    Master

    el problema que tienes en el código que has proporcionado es que estás llamando igaul al PSAR (indicador1) y a la EMA8.

    Además estás trabajando todo en timeframe de 1hora porque nunca vuelves a declarar timeframe de 15 minutos. No sé si eso es lo que querías.

    Una buena practica es nombrar tú mismo los indicadores. De esta forma con que los declares una vez no lo tendrás que volver a hacer más y sólo tendrás que llamarlos cuando los necesites.  Por ejemplo:

     

    // Definición de los parámetros del código
    DEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada
    
    // Condiciones de entrada de posiciones cortas
    timeframe(1 hour,updateonclose)
    
    ema8 = ExponentialAverage[8](close) //aquí defines la ema de 8
    c1 = (close <= ema8)
    //indicator3 =ExponentialAverage[8](close)[1] //No hace falta 
    c3 = (ema8[1] >= ema8)
    
    #244837 quote
    Jankarl
    Participant
    New

    en el comando 10  indica que hay que trabajar en timeframe 15 mn, no? o es que hay que poner alguna instruccion mas?

    #244863 quote
    Iván González
    Moderator
    Master

    Hola.
    Sí, la instrucción timeframe(15mn) lo que hace es que a partir de esa línea y hacia abajo, los calculos se hacen en TF 15mn.
    Puedes ver más sobre timeframe aquí: https://www.prorealcode.com/documentation/timeframe-probacktest-proorder/

    #244884 quote
    Jankarl
    Participant
    New

    Entonces el bot esta correctamente formulado, sin embargo no entra cuando deberia hacerlo. Te adjunto en archivo adjunto la imagen y el bot a ver si puedes encontrar porque falla.

    Muchas gracias Ivan

    bot-media-y-error.pdf
    #244898 quote
    Iván González
    Moderator
    Master

    Esto es porque tienes la condición de salida por PSAR que contradice el setup de entrada.
    Si añades a la condición de salida que el activo esté ya dentro del mercado entonces te dará la entrada y acto seguido la salida.

    IF onmarket and c2 THEN
    EXITSHORT AT MARKET
    ENDIF
    2025-03-13_09-44.png 2025-03-13_09-44.png
Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.

PROORDER DIFERENTES TEMPORALIDADES


ProOrder: Trading Automático y Backtesting

New Reply
Author
author-avatar
Jankarl @jankarl Participant
Summary

This topic contains 7 replies,
has 2 voices, and was last updated by Iván González
11 months, 3 weeks ago.

Topic Details
Forum: ProOrder: Trading Automático y Backtesting
Language: Spanish
Started: 03/09/2025
Status: Active
Attachments: 2 files
Logo Logo
Loading...