Trading Automático Momentum y MM

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #149942 quote
    ThomasThomas
    Participant
    New

    Hola!!

    Estoy intentado crear un sistema automático simple con el Momentum y la Media Móvil, pero tengo problemas a la hora de los cierres tanto en largos como en cortos.

    ¿Cómo puedo hacer que cierre una operación cuando la Media Móvil cruce al Momentum ?

    Adjunto imagen.

    Lo he intentado con las ordenes de Cruzar por encima, Cruzar por debajo, Mayo que, Menor que, …, pero sin el resultado deseado.

    Un saludo y gracias.

    Captura.png Captura.png
    #150018 quote
    NicolasNicolas
    Keymaster
    Legend

    Para probar el cruce de 2 valores, puede usar estas instrucciones: CRUCES SOBRE CRUCES BAJO Háganos saber si tiene problemas para usarlos en su propio código.

    #150072 quote
    ThomasThomas
    Participant
    New

    Hola Nicolas.

    Lo he intentado con CRUCES SOBRE Y CRUCES BAJO. (No se si se puedes mezclar los dos a la vez). Pero no ha funcionado.

    // Definición de los parámetros del código
    DEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada
    // El sistema anulará todas las órdenes pendientes y cerrará todas las posiciones a las 0:00. No se permitirá ninguna nueva orden ni posición después de la hora "FLATBEFORE".
    DEFPARAM FLATBEFORE = 080000
    // Anular todas las órdenes pendientes y cerrar todas las posiciones a la hora "FLATAFTER"
    DEFPARAM FLATAFTER = 180000
    
    // 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 = 174500
    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 = ExponentialAverage[12](Momentum[12](close))
    c1 = (indicator1 > 0)
    indicator2 = ExponentialAverage[12](Momentum[12](close))
    c2 = (indicator2 CROSSES OVER 0)
    
    IF (c1 AND c2) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
    
    // Condiciones de salida de posiciones largas
    indicator3 = ExponentialAverage[12](Momentum[12](close))
    indicator4 = Momentum[12](close)
    c3 = (indicator3 CROSSES UNDER indicator4)
    
    IF c3 THEN
    SELL AT MARKET
    ENDIF
    
    // Condiciones de entrada de posiciones cortas
    indicator5 = Momentum[12](close)
    c4 = (indicator5 < 0)
    indicator6 = ExponentialAverage[12](Momentum[12](close))
    c5 = (indicator6 CROSSES UNDER 0)
    
    IF (c4 AND c5) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN
    SELLSHORT 1 CONTRACT AT MARKET
    ENDIF
    
    // Condiciones de salida de posiciones cortas
    indicator7 = ExponentialAverage[12](Momentum[12](close))
    indicator8 = Momentum[12](close)
    c6 = (indicator7 CROSSES OVER indicator8)
    
    IF c6 THEN
    EXITSHORT AT MARKET
    ENDIF

    Mi intención como se puede ver en la imagen es usar los indicadores Momentum y MM.

    Cuando el Momentum sea positivo (mayor que 0) y la media móvil cruce el valor 0, se abre una posición en largos (compra). [Hasta aquí Ok y funciona perfectamente el código]

    Cuando La Media Móvil cruce el Momentum (ya sea cruce sobre o cruce bajo), se tendría que cerrar la operación. [Aquí es donde no consigo que funcione].

    Lo mismo pero al revés, cuando es en cortos (compra).

    Adjunto imagen de los dos tipos de entradas.

    Un saludo y gracias.

    Captura-2.png Captura-2.png
    #150700 quote
    ThomasThomas
    Participant
    New

    Hola compañeros de la comunidad.

    No se si alguien puede ayudarme con las salidas.

    Un saludo.

    #150839 quote
    GraHalGraHal
    Participant
    Master

    Funciona bien?

    Ver adjunto. 

    Anjea.jpg Anjea.jpg Anjea-2.jpg Anjea-2.jpg
    #150891 quote
    ThomasThomas
    Participant
    New

    Hola GraHal.

    Si funciona bien las entradas, pero las salidas no.

    En cuanto lo consiga solucionar, o me ayuden a solucionarlo, lo publicaré entero. Además del código ya escrito arriba, aun falta un indicador que mejora los resultados.

    Yo trabajaba con Metatrader 4 y tenia el código escrito y funcionando. Pero ahora quiero trabajar con Prorealtime, mejorarlo y compartirlo.

    No obstante. siempre he tenido que hacer pequeñas modificaciones en el código, ya que los mercados no siempre están igual.

    Un saludo y gracias por probarlo.

    GraHal thanked this post
Viewing 6 posts - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.
ProRealAI ProRealAI New

Stuck on this ProBuilder code?

Describe what this topic is trying to build, in plain English, and ProRealAI writes the ProRealTime™ indicator, screener or system for you.

Available in 7 languages
Try ProRealAI

Trading Automático Momentum y MM


ProOrder: Trading Automático y Backtesting

New Reply
Author
author-avatar
Thomas @anjeacosta Participant
Summary

This topic contains 5 replies,
has 3 voices, and was last updated by ThomasThomas
5 years, 10 months ago.

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