Trading Automático Momentum y MM

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #149942 quote
    Thomas
    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
    Nicolas
    Keymaster
    Master

    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
    Thomas
    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
    Thomas
    Participant
    New

    Hola compañeros de la comunidad.

    No se si alguien puede ayudarme con las salidas.

    Un saludo.

    #150839 quote
    GraHal
    Participant
    Master

    Funciona bien?

    Ver adjunto. 

    Anjea.jpg Anjea.jpg Anjea-2.jpg Anjea-2.jpg
    #150891 quote
    Thomas
    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.

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 Thomas
5 years, 3 months ago.

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