Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 406

 
bergkamp.:
aquí hay un ejemplo... si sólo se pone sleep al final del código, ¿cómo funcionará?

Si no te importa que la función de inicio no se inicie después de la función de inicio durante 30 segundos (y por lo tanto EA no realizará ninguna acción durante este tiempo), entonces por favor pon el sleep.

 

El Asesor Experto está probando bien en el probador en el modo visual, pero la optimización es completamente lento, aunque sólo hay dos parámetros para la optimización y un pequeño período de tiempo, ¿cuál es la razón de esto?

 
vadynik:

El Asesor Experto está probando bien en el probador en el modo visual, pero en la optimización es completamente lento, aunque sólo hay dos parámetros para la optimización y un pequeño período de tiempo, ¿cuál es la razón de esto?

La optimización lleva mucho más tiempo que una sola prueba, incluso en modo visual. Prueba a aumentar el paso de los cambios de parámetros. O cambiar a las pruebas a los precios de apertura.
 
khorosh:

Si no le importa que la función de inicio no se inicie después de que la función haya sido iniciada durante 30 segundos (y por lo tanto el EA no tomará ninguna acción durante ese tiempo), entonces por favor ponga sleep.

Por lo tanto, después de 30 segundos, la función de inicio y todas las funciones secuenciales se reiniciarán con la llegada de un tic ... ¿me equivoco? ¿y el experto hará todas sus acciones en el mismo tick?
 
bergkamp.:
por lo tanto, después de 30 seg. la función de inicio y todas las funciones secuenciales se reiniciarán con la llegada de un solo tick... y volverán a dormir durante 30 seg. ¿me equivoco?
Sí, mientras se ejecuta el sueño, la función start() no termina y por lo tanto no se reinicia.
 
vadynik:


¿Puede el optimizador ser ralentizado por los objetos gráficos?

¿Y por qué siguen apareciendo las etiquetas si se establece CLR_NONE ?

No hay gráficos cuando se optimiza. Pregunta: "¿Dónde aparecen entonces las marcas?"
 
vadynik:


¿Puede el optimizador ser ralentizado por los objetos gráficos?

¿Y por qué si se establece CLR_NONE siguen apareciendo las etiquetas?


Parece que si se crean objetos gráficos en un EA, la optimización de dicho EA es imposible en absoluto. Sin embargo, no puedo asegurarlo. Al menos, mi Asesor Experto que utiliza líneas de tendencia no está optimizado. No puedo decir nada sobre las etiquetas, necesito tener el código completo.
 
khorosh:
Sí, mientras el sueño está en marcha, start() no termina y por lo tanto no se reinicia.
¿es necesario start() de todos modos?
 
bergkamp.:
¿se necesita una puesta en marcha de todos modos?
Depende de ti si lo necesitas para el trabajo de experto o no, no puedo ver tu código de experto. Si se trata de un pipsqueak con objetivos de un centavo, podría ser necesario.
 

Hay una función para cerrar todas las órdenes, se cierra desde la última abierta, por favor aconseje como rehacerla para que empiece a cerrarse desde la primera abierta y termine con la última.


//+------------------------------------------------------------------+
//|                 Закрыть все ордера                               |
//+------------------------------------------------------------------+


double ClossAllOrders ()

{
  int total = OrdersTotal();
  for(int i=total-1;i>=0;i--)
  {
    OrderSelect(i, SELECT_BY_POS);
    int type   = OrderType();

    bool result = false;
    
    switch(type)
    {
      //Close opened long positions
      case OP_BUY       : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), Slippage, Lime );
                          break;
      
      //Close opened short positions
      case OP_SELL      : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), Slippage, Lime );
                          break;

      //Close pending orders
      case OP_BUYLIMIT  :
      case OP_BUYSTOP   :
      case OP_SELLLIMIT :
      case OP_SELLSTOP  : result = OrderDelete( OrderTicket() );
    }
    
    if(result == false)
    {
      Print("Order " , OrderTicket() , " failed to close. Error:" , GetLastError() );
      Sleep(500);
    }  
  }
}

// End
Razón de la queja: