MetaEditor build 1463 - página 15

 
fxsaber:
ArrayPrint - similar.
Este es un ejemplo https://www.mql5.com/ru/forum/160673/page2#comment_3827986
MetaEditor build 1467
MetaEditor build 1467
  • www.mql5.com
Объясните, почему вот этот текст, отформатированный исключительно пробелами, нет ни одного -tab-,: после применения стилизатора, преобразуется в та...
 
Rashid Umarov:
Este es un ejemplo https://www.mql5.com/ru/forum/160673/page2#comment_3827986

Esto no difiere de lo que tú mismo has escrito más arriba.

Sin embargo, ArrayPrint tiene muchos más parámetros de entrada. El último parámetro flags es de interés.

 

En general, por lo que el probador cuelga. He podido identificar varias funciones que lo provocan. El más común es el comentario.

Aquí intenta ejecutar un indicador de este tipo en el probador:

#property indicator_separate_window

int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[])
  {
   Comment("OnCalculate");
   return rates_total;
  }

La velocidad no es la máxima, por lo que la prueba toma algún tiempo, en el proceso de que se cuelga. Cierto, no siempre - no entiendo de qué depende, si de los movimientos del ratón o de otra cosa. En general, puedes probar unas cuantas veces, debería colgar.

 
La función ArrayPrint estará disponible en el sitio web esta noche
 
Alexey Navoykov:

En general, por lo que el probador cuelga. He podido identificar varias funciones que lo provocan. El más común es el comentario.

Aquí intenta ejecutar un indicador de este tipo en el probador:

#property indicator_separate_window

int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[])
  {
   Comment("OnCalculate");
   return rates_total;
  }

La velocidad no es la máxima, por lo que la prueba toma algún tiempo, en el proceso de que se cuelga. Cierto, no siempre - no entiendo de qué depende, si de los movimientos del ratón o de otra cosa. En general puedes probarlo varias veces, debería colgarse.

Con tres velocidades de prueba:

  • máximo
  • máximo menos un paso
  • máximo menos dos pasos
La visualización de la ficha de registro en el probador está congelada, ya que se considera que a tales velocidades la salida de impresiones ralentizará fuertemente el proceso, y además no es realista hacer un seguimiento de la información sobre aperturas/cierres.

En general, proporcione pruebas más precisas de lo que es su "congelación del probador".

Añadido: y describir con más precisión la situación: versión, build, servidor, símbolo, plazo, modo de prueba...

Añadido: mierda, mi editor y probador se colgó. El modo de generación de garrapatas era "Todas las garrapatas".

 
Alexey Navoykov:

En general, por lo que el probador cuelga. He podido identificar varias funciones que lo provocan. El más común es el comentario.

Aquí intenta ejecutar un indicador de este tipo en el probador:

#property indicator_separate_window

int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[])
  {
   Comment("OnCalculate");
   return rates_total;
  }

La velocidad no es la máxima, por lo que la prueba toma algún tiempo, en el proceso de que se cuelga. Cierto, no siempre - no entiendo de qué depende, si de los movimientos del ratón o de otra cosa. En general puedes probarlo varias veces, debería colgarse.

Y qué es esto:

   return rates_total;

?

 

Sí, es cierto:

//+------------------------------------------------------------------+
//|                                               Indicator_Test.mq5 |
//|                                      Copyright 2012, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property indicator_separate_window
#property indicator_plots 0
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnCalculate (const int rates_total,      // размер массива price[]
                 const int prev_calculated,  // обработано баров на предыдущем вызове
                 const int begin,            // откуда начинаются значимые данные
                 const double& price[]       // массив для расчета
                 )
  {
   Comment("OnCalculate");
   return (rates_total);
  }

Probando a máxima velocidad, modo de generación de ticks "Todos los ticks" - el probador se cuelga. Colgar significa lo siguiente:

Colgando

Si comentas la línea de comentario, todo se comprueba.

Archivos adjuntos:
 
Vladimir Karputov:

Probando a máxima velocidad, modo de generación de ticks "Todos los ticks" - el probador se cuelga.

No depende de la velocidad, el modo o el tiempo. En cualquier caso, puede congelarse.

Por cierto, algunas otras funciones, por ejemplo ChartGetInteger(0, CHART_WIDTH_IN_BARS) también conducen a cuelgues en mi programa. Pero no puedo reproducir un ejemplo aislado con ellos. Sin embargo, creo que Comment será suficiente.

 

¿Qué es esto?

HistoryCenter   delete old files from C:\Program Files\BCS Broker MetaTrader 5 Terminal\bases\FxPro-ECN\history\EURUSD, last access time 2016.04.12 10:37
HistoryCenter   delete old files from C:\Program Files\BCS Broker MetaTrader 5 Terminal\bases\FxPro-ECN\history\GBPUSD, last access time 2016.04.12 10:37
HistoryCenter   delete old files from C:\Program Files\BCS Broker MetaTrader 5 Terminal\bases\FxPro-ECN\history\USDCHF, last access time 2016.04.12 10:37
HistoryCenter   delete old files from C:\Program Files\BCS Broker MetaTrader 5 Terminal\bases\FxPro-ECN\history\USDJPY, last access time 2016.04.12 10:37
 
fxsaber:
Por favor, cambie MqlTick por
struct MqlTick
  {
   datetime     time;          // Время последнего обновления цен
   double       bid;           // Текущая цена Bid
   double       ask;           // Текущая цена Ask
   double       last;          // Текущая цена последней сделки (Last)
   ulong        volume;        // Объем для текущей цены Last
   datetime_msc time_msc;      // Время последнего обновления цен в миллисекундах
   uint         flags          // Флаги тиков
  };
Es decir, introducir un nuevo tipo datetime_msc.
Sería mejor hacer el campo msc y escribir allí los milisegundos (0-999) por separado.