SITEMA CON MEDIAS MOVILES DE 14 Y 35

Viewing 15 posts - 1 through 15 (of 16 total)
  • Author
    Posts
  • #74514 quote
    jose antonio
    Participant
    New

    Hi, I need to implement a condition in my system. I use an average of 14 and another of 35. Right now it is configured as follows: When the price is below the two averages, I buy, and when the price is above, I sell. I have a Stop loss of 10 points. The condition I want to implement is that when I miss the stop, I do not make another purchase (or sale) until the price has not returned to below the average (or vice versa if it is sale). This way, I would avoid that when there is an important increase or decrease, I am buying every time the stop drops, and accumulating very important losses.  Thanks.

    #74516 quote
    robertogozzi
    Moderator
    Master

    En el foro de español, habla español, por favor. Gracias.

    #74522 quote
    inevitable
    Participant
    New

    Lo siento. Es mi primera vez y no me di cuenta. Lo explico en español. Uso un sitema con una media móvil de 14 y otra de 35 periodos. Compro cuando el precio está por debajo de ambas medias y vendo cuando está por encima. O sea un istema contratendencia. Coloco un stop de 10 puntos. Hasta aqui todo bien, pero necesito implementar una condición en la que cuando salta el stop, no vuelva a comprar hasta que el precio no se ha situado de nuevo bajo ambas medias. O al revés si estoy vendiendo. De esta manera evitaría tener perdidas grandes cuando hay una subida o bajada importante. Gracias de antemano.

    #74539 quote
    robertogozzi
    Moderator
    Master

    Esto es lo que hice, verifique si puede funcionar bien y lamento si la traducción no es lo suficientemente precisa (estoy usando el traductor de Google):

    ONCE MyProfit = 0                     //Inicializa la variable para guardar la estrategia
    IF Not OnMarket THEN
       IF MyProfit = 0 THEN
          MyProfit = StrategyProfit       //Ahorre el beneficio inicial de la estrategia
       ENDIF
       TradeON = 1
       IF MyProfit < STRATEGYPROFIT THEN  //Si hubo una pérdida ...
          TradeON = 0                     //...señales para no abrir otras posiciones
       ENDIF
    ELSE
       MyProfit = StrategyProfit          //si un puesto está abierto, guarde la estrategia
    ENDIF
    FastMA  = average[14](close)
    SlowMA  = average[35](close)
    GoLong  = FastMA < SlowMA AND close < FastMA
    GoShort = FastMA > SlowMA AND close > FastMA
    IF GoLong OR GoShort THEN             //cuando el precio cae por debajo o por encima de los promedios, todavía puede ser operado
       TradeON = 1
    ENDIF
    IF GoLong AND Not OnMarket AND TradeON THEN
       BUY 1 CONTRACT AT MARKET
    ENDIF
    IF GoShort AND Not OnMarket AND TradeON THEN
       SELLSHORT 1 CONTRACT AT MARKET
    ENDIF
    SET STOP   pLOSS   10
    SET TARGET pPROFIT 20
    #74548 quote
    jose antonio
    Participant
    New

    No funciona. Creo que me has entendido mal. Así es como lo tengo ahora mismo en mi platarforma:

    -------------------------------------------------------------------------
    // Código principal : EMA14,35TF-1
    //-------------------------------------------------------------------------
    // Definición de los parámetros del código
    DEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada
    
    // Impide al sistema operar en días precisos de la semana
    daysForbiddenEntry = OpenDayOfWeek = 6
    
    // Condiciones para entrada de posiciones largas
    indicator1 = Average[14](close)
    c1 = (close < indicator1)
    indicator2 = Average[35](close)
    c2 = (close < indicator2)
    
    IF (c1 AND c2) AND not daysForbiddenEntry THEN
    BUY 50 SHARES AT MARKET
    ENDIF
    
    // Condiciones de salida de posiciones largas
    indicator3 = Average[14](close)
    c3 = (close > indicator3)
    indicator4 = Average[35](close)
    c4 = (close > indicator4)
    
    IF c3 AND c4 THEN
    SELL AT MARKET
    ENDIF
    
    // Condiciones de entrada de posiciones cortas
    indicator5 = Average[14](close)
    c5 = (close > indicator5)
    indicator6 = Average[35](close)
    c6 = (close > indicator6)
    
    IF (c5 AND c6) AND not daysForbiddenEntry THEN
    SELLSHORT 50 SHARES AT MARKET
    ENDIF
    
    // Condiciones de salida de posiciones cortas
    indicator7 = Average[14](close)
    c7 = (close < indicator7)
    indicator8 = Average[35](close)
    c8 = (close < indicator8)
    
    IF c7 AND c8 THEN
    EXITSHORT AT MARKET
    ENDIF
    
    // Stops y objetivos
    SET STOP pLOSS 10

    Lo único que quiero implementar, es que por ejemplo, si estoy en compra y me salta el stop, no me vuelva a comprar hasta que no se den nuevamente las condiciones c5 y c6.

    #74570 quote
    robertogozzi
    Moderator
    Master

    Para escribir el código , utilice el botón <> “insert PRT code”.Gracias.

    Mañana voy a modificar tu estrategia.

    #74602 quote
    robertogozzi
    Moderator
    Master

    Esta es su versión actualizada, la probé en el EUR/CHF en 1 minuto, porque el Stop Loss es demasiado pequeño y las condiciones de entrada demasiado fáciles y en los gráficos más largos a menudo abren y cierran una operación en la misma vela e inmediatamente abren otro sin que ProOrder sea capaz de detectar ONMARKET y STRATEGYPROFIT a tiempo.

    //-------------------------------------------------------------------------
    // Código principal : EMA14,35TF-1
    //-------------------------------------------------------------------------
    // Definición de los parámetros del código
    DEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada
    
    ONCE MyProfit = 0     //Variable utilizada para conocer el resultado (actualizado a
                          //   la última operación cerrada) de mi estrategia
    ONCE TradeLongON  = 1 //Variable utilizada para permitir operaciones alcistas:  1 = sí,  0 = no
    ONCE TradeShortON = 1 //Variable utilizada para permitir operaciones bajistas:  1 = sí,  0 = no
    
    ONCE LongTrade  = 0   //Variable utilizada para saber si la última operación fue al alza
    ONCE ShortTrade = 0   //Variable utilizada para saber si la última operación fue hacia abajo
    IF LongOnMarket THEN
    LongTrade  = 1
    ShortTrade = 0
    ELSIF ShortOnMarket THEN
    LongTrade  = 0
    ShortTrade = 1
    ENDIF
    
    IF Not OnMarket AND MyProfit < StrategyProfit THEN  //Si la última operación fue perdida ...
    MyProfit = StrategyProfit
    IF LongTrade THEN                                //...y fue alcista....
    TradeLongON  = 0                              //...detener las operaciones alcistas
    ELSIF ShortTrade THEN                            //...y era bajista...
    TradeShortON = 0                              //...detener operaciones bajistas
    ENDIF
    ENDIF
    
    IF MyProfit <> StrategyProfit THEN
    MyProfit = StrategyProfit           //Guarde el resultado de la estrategia actualizada
    ENDIF
    
    // Impide al sistema operar en días precisos de la semana
    daysForbiddenEntry = OpenDayOfWeek = 6
    
    // Condiciones para entrada de posiciones largas
    indicator1 = Average[14](close)
    c1 = (close < indicator1)
    indicator2 = Average[35](close)
    c2 = (close < indicator2)
    
    IF c1 AND c2 THEN                       //Cuando las condiciones C1 y C2 ocurren ...
    TradeShortON = 1                     //...Puedes comenzar de nuevo con operaciones bajistas
    ENDIF
    
    IF (c1 AND c2) AND not daysForbiddenEntry AND TradeLongON THEN
    BUY 50 SHARES AT MARKET
    ENDIF
    
    // Condiciones de salida de posiciones largas
    indicator3 = Average[14](close)
    c3 = (close > indicator3)
    indicator4 = Average[35](close)
    c4 = (close > indicator4)
    
    IF c3 AND c4 THEN
    SELL AT MARKET
    ENDIF
    
    // Condiciones de entrada de posiciones cortas
    indicator5 = Average[14](close)
    c5 = (close > indicator5)
    indicator6 = Average[35](close)
    c6 = (close > indicator6)
    
    IF c5 AND c6 THEN                       //Cuando las condiciones C5 y C6 ocurren ...
    TradeLongON = 1                      //...Puedes comenzar de nuevo con operaciones alcistas
    ENDIF
    
    IF (c5 AND c6) AND not daysForbiddenEntry AND TradeShortON THEN
    SELLSHORT 50 SHARES AT MARKET
    ENDIF
    
    // Condiciones de salida de posiciones cortas
    indicator7 = Average[14](close)
    c7 = (close < indicator7)
    indicator8 = Average[35](close)
    c8 = (close < indicator8)
    
    IF c7 AND c8 THEN
    EXITSHORT AT MARKET
    ENDIF
    
    // Stops y objetivos
    SET STOP pLOSS 10
    //graph MyProfit
    //graph StrategyProfit
    //graph TradeLongON
    //graph TradeShortON
    //graph LongTrade + (ShortTrade * 2)
    #74646 quote
    jose antonio
    Participant
    New

    Roberto, sigue sin funcionar. Sigue comprando y vendiendo en el mismo sitio, y cuando me salta el stop, vuelve a comprar o vender, y eso estropea la estrategia. Yo necesito que cuando salte el stop, no me vuelva a hacer ninguna operación hasta que el precio no vuelva a sobrepasar las dos medias. Con lo cual siempre que salte el stop, la siguiente operación tiene que ser obligatoriamente contraria. Si me ha saltado el stop cuando estoy en compra, la siguiente operación tiene que ser  de venta. Si no puedo hacer esto, la estrategia no funciona, porque cuando hay una subida grande, por ejemplo de 1000 puntos, Con mis sistema habria perdido diez veces seguidas.

    #74653 quote
    robertogozzi
    Moderator
    Master

    Puede adjuntar una foto de la pantalla con la operación comercial destacada.
    Cuéntame también sobre qué herramienta y el marco de tiempo probaste la estrategia.

    Gracias.

    #74662 quote
    pableitor
    Participant
    Master

    perdon amigo jose antonio  por opinar sobre tu  estrategia pero no le veo mucho sentido a bloquear las operaciones de largos o cortos por el hecho de que salte el stop en un sentido u otro. Si,  puede que salte el stop 10 veces seguidas y nos haga perder 100 pips pero también puede que salte una vez y  la siguiente entrada sea un posible largo con un profit de 200 puntos y tu sistema no la abriria por por haber  saltado antes el stop de 10 pip. Lo que es el stop es  una protección pero no sirve para adivinar que la tendencia vaya a seguir en un sentido u otro.

    Saludos

    #74693 quote
    jose antonio
    Participant
    New

    Buenos dias. Roberto, te  envío una foto de la pantalla con una situación como la que quiero evitar.

    IMG_8041.jpg IMG_8041.jpg
    #74695 quote
    jose antonio
    Participant
    New

    En cuanto a tu opinión, Pablo, es evidente que no podemos adivinar que va a hacer el precio, la estrategia es sólo cuestión de matemáticas. De una manera funciona y de la otra no.

    #74696 quote
    jose antonio
    Participant
    New

    Roberto, me preguntabas también sobre la herramienta y el marco de tiempo. Está pensado para euro-dolar en tf de 1 minuto.

    #74776 quote
    robertogozzi
    Moderator
    Master

    Desafortunadamente, como te dije, cuando la vela de configuración es la misma donde ocurre la pérdida de parada, no se puede verificar nada, porque ProOrder necesita una vela para actualizar ONMARKET y STRATEGYPROFIT.

    Donde la estrategia funcionó fue solo porque el mercado estaba en la etapa lateral y los promedios móviles cruzados cada vez.

    Lo único que debe hacer es probarlo en un marco de tiempo más pequeño, por ejemplo 5 segundos o addruttura 1.

    x-10.jpg x-10.jpg
    #74811 quote
    jose antonio
    Participant
    New

    Roberto, te aseguro que la estrategia funciona perfectamente en eurodolar y en graficos de 1 minuto. Lo que pasa es que no es rentable si no soy capaz de implementar esa condición de que el stop me salte una sola vez. Dime que puedo hacer, con quién puedo hablar o quién puede ayudarme a configurar esto como yo quiero. No puede ser tan complicado como para que no podáis ayudarme

Viewing 15 posts - 1 through 15 (of 16 total)
  • You must be logged in to reply to this topic.

SITEMA CON MEDIAS MOVILES DE 14 Y 35


ProOrder: Trading Automático y Backtesting

New Reply
Author
Summary

This topic contains 15 replies,
has 4 voices, and was last updated by robertogozzi
7 years, 8 months ago.

Topic Details
Forum: ProOrder: Trading Automático y Backtesting
Language: Spanish
Started: 06/27/2018
Status: Active
Attachments: 2 files
Logo Logo
Loading...