Consejero Ivan - lo mejor de ilan - página 7

 

E inmediatamente una prueba:

Ivan 1.004 USDJPY, M15, período 2016.01.01 a 2017.02.13

Ivan 1.004 USDJPY, M15, período 2016.01.01 a 2017.02.13

 
Vladimir Karputov:

Lo haré así por ahora:versión Ivan "1.003":

  • Lógica para establecer el nivel de Stop Loss:
    • hay una sangría mínima: 50 puntos de modo antiguo.
    • Stopp Loss toma el valor de iMA(36) MODE_SMMA en la barra cero (el periodo de promediación está escrito en los parámetros de entrada).
    • si el nivel de Stop Loss está más cerca del precio actual que la pendiente mínima, la apertura de la posición no tendrá lugar
  • Los Stop Loss virtuales han sido sustituidos por posiciones de arrastre.

El trabajo está en ebullición - ¡bien!

Sin embargo, no puedo ver el trabajo todavía - no tengo una cuenta de divisas - sólo de la bolsa, y la EA no funciona allí.

 
-Aleks-:

El trabajo está en ebullición - ¡bien!

Sin embargo, no puedo ver el trabajo todavía - no tengo una cuenta de divisas - sólo de la bolsa, y el asesor no funciona allí.

Y yo tengo lo contrario: ninguna conexión con la bolsa por el momento. Y será como en esa canción:

Tú eres un marinero, yo soy un marinero.

Tú eres pescadora, yo soy pescador.

Tú estás en tierra, yo en el mar.

Nunca nos encontraremos.

Añadido:

La negociación en la bolsa es neta y mi asesor es sólo para la cobertura (como se indica en la impresión de error al tratar de conectarse a una cuenta de intercambio:

2017.02.26 14:04:05.291 2016.04.22 00:00:00   Hedging only!

). Así que el intercambio está volando con un silbido de madera contrachapada en París.

 
Vladimir Karputov:

A mí me pasa lo contrario: ahora no hay conexión en el intercambio. Y será como en esa canción:

Tú eres un marinero, yo soy un marinero.

Tú eres un pescador Yo soy un pescador

Tú estás en tierra yo estoy en el mar

Nunca nos encontraremos.

Añadido:

La negociación en la bolsa es neta y mi asesor es sólo para la cobertura (como se indica en la impresión de error al tratar de conectarse a una cuenta de intercambio:

2017.02.26 14:04:05.291 2016.04.22 00:00:00   Hedging only!

). Así que el intercambio pasa volando con un silbido de madera contrachapada sobre París.

Sí, entiendo, sólo tengo Forex bajo 4 - tal vez más tarde voy a abrir en la demo - Voy a dejar ideas si va a ser interesante.

 
Enséñeme alguien con un pro a usar el probador de mt5, no puedo tardar mucho en el modo de voz.
 
Vitaly Muzichenko:
Enséñeme alguien con un pro a usar el probador de mt5, no puedo tardar mucho en el modo de voz.
Llama...
 
Vladimir Karputov:

No, no creo que sea un buen enfoque: hay mucha gente, a cada uno le gustan diferentes pares y diferentes plazos. Prefiero prescribirlo directamente en los parámetros de entrada:


Ivan versión "1.004":

  • variables introducidas
    • "Minimum distance from the price to stop loss (in pips)" - la distancia mínima entre el precio y el nivel de Stop Loss - si esta distancia es menor, no se abrirá ninguna posición
    • "Trailing Step"(en pips)- el paso para el trailing
  • protección en la apertura de la posición:
    • para la COMPRA - si una de las posiciones de COMPRA ya abiertas tiene un precio de apertura inferior al precio actual - la posición de COMPRA no se abrirá
    • para la posición de VENTA - si una de las posiciones de VENTA es mayor que el precio actual - entonces la posición de VENTA no se abrirá
Sí, eso es mucho mejor. Optimicé con tus recomendaciones, obtuve hasta un 50% durante 2 semanas de optimización, pero cuando hice la prueba durante un mes, perdí la misma cantidad ))
 
-Aleks-:

El trabajo está en ebullición - ¡bien!

Sin embargo, no puedo mirar el trabajo todavía - no tengo una cuenta de Forex - sólo de la bolsa de valores, y el asesor no funciona allí.

Es simplemente horrible. Para abrir una demo en el servidor MetaQuotes-Demo, se necesita un minuto y medio ))
 

Ivan versión "1.005":

  • Corregida la función "FindPosition" para encontrar la posición mínima/máxima de un determinado tipo (búsqueda de precios):
  •                if(mode==MODE_LOW)
                     {
                      if(m_position.PriceOpen()<price)
                         price=m_position.PriceOpen();
                     }
                  }
       if(price==DBL_MIN || price==DBL_MAX)
          price=0;

       return(price);
      }
    ahora, si no se ha especificado ninguna posición de un tipo determinado, se devolverá un precio de "0" - antes era posible devolver un valor DBL_MIN o DBL_MAX.
  • Se ha corregido la función de abrir una posición de compra. Anteriormente era posible una variante desfavorable - cuando se abrían varias posiciones consecutivas de compra y cada una de ellas se abría a un precio peor que el anterior - en caso de golpear el cambio de tendencia causaba pérdidas apreciables:
    bad Buy's

    esto ya se ha solucionado (sí, sí, sí - el error estaba en el signo de la condición - antes era un signo "<":
  •       return;
         }
    //--- the position of BUY can't be open below the lowest
       double price_open_low=FindPosition(POSITION_TYPE_BUY,MODE_LOW);
       if(price_open_low!=0)
          if(price_open_low> m_symbol.Ask())
             return;

       sl=m_symbol.NormalizePrice(sl);
       double tp=0.0;
  • Añadido:

    Iván 1.005

Archivos adjuntos:
Ivan.mq5  45 kb
 

Ivan versión "1.006":

  • Se introdujo la protección de los beneficios:
    • nuevo parámetro de entrada"InpCoefProtectionProfit" - calculado como m_account.Equity()/m_account.Balance() (Fondos divididos por Balance).
    • Cuando la Equidad excede el Balance por un factor de "InpCoefProtectionProfit" cerramos todas las posiciones - protegiendo así el beneficio:
      //--- we work only at the time of the birth of new bar
         static datetime dtPrevBars=0;
      //--- protection of profit
         if(m_account.Equity()/m_account.Balance()>InpCoefProtectionProfit)
            bCloseAll=true;

      //--- trailing stop (at every tick)
         if(!RefreshRates())
            return;
         TrailingStop();
Archivos adjuntos:
Ivan.mq5  46 kb