MetaEditor build 1463 - página 15

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

Isto não é diferente do que você mesmo escreveu acima.

O ArrayPrint tem muito mais parâmetros de entrada, no entanto. A bandeira do último parâmetro é de interesse.

 

De modo geral, até onde o testador desliga. Tenho sido capaz de identificar várias funções que o provocam. O mais comum é Comentar.

Aqui tente executar tal indicador no testador:

#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;
  }

A velocidade não é a máxima, de modo que o teste leva algum tempo, no processo do qual pende. É verdade, nem sempre - não entendo do que depende, se são movimentos do mouse ou outra coisa. Em geral, você pode testar algumas vezes, deve ser pendurado.

 
A função ArrayPrint estará disponível no site hoje à noite
 
Alexey Navoykov:

De modo geral, até onde o testador desliga. Tenho sido capaz de identificar várias funções que o provocam. O mais comum é Comentar.

Aqui tente executar tal indicador no testador:

#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;
  }

A velocidade não é a máxima, de modo que o teste leva algum tempo, no processo do qual pende. É verdade, nem sempre - não entendo do que depende, se são movimentos do mouse ou outra coisa. Em geral, você pode testá-lo várias vezes, ele deve ser pendurado.

Com três velocidades de teste:

  • máximo
  • máximo menos uma etapa
  • máximo menos duas etapas
A exibição da guia Logbook no testador congela, porque é considerada nestas velocidades, a saída das impressões será muito lenta, e também é simplesmente irrealista rastrear informações sobre aberturas/fechamentos.

Em geral, mais precisamente, forneça provas do que é seu "congelamento do testador".

Acrescentado: e descreva mais precisamente a situação: versão, construção, servidor, símbolo, cronograma, modo de teste...

Acrescentei: merda, meu editor e testador ficaram pendurados. O modo de geração de carrapatos era "Todos os carrapatos".

 
Alexey Navoykov:

De modo geral, até onde o testador desliga. Tenho sido capaz de identificar várias funções que o provocam. O mais comum é Comentar.

Aqui tente executar tal indicador no testador:

#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;
  }

A velocidade não é a máxima, de modo que o teste leva algum tempo, no processo do qual pende. É verdade, nem sempre - não entendo do que depende, se são movimentos do mouse ou outra coisa. Em geral, você pode testá-lo várias vezes, ele deve ser pendurado.

E o que é isso aqui:

   return rates_total;

?

 

De fato:

//+------------------------------------------------------------------+
//|                                               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);
  }

Teste na velocidade máxima, modo de geração de carrapatos "Todos os carrapatos" - o testador desliga. Enforcamento significa o seguinte:

Enforcamento

Se você comentar a linha de comentários, tudo é testado.

Arquivos anexados:
 
Vladimir Karputov:

Teste na velocidade máxima, modo de geração de carrapatos "Todos os carrapatos" - o testador desliga.

Não depende da velocidade, modo ou cronograma. Pode congelar em qualquer caso.

A propósito, algumas outras funções, por exemplo, ChartGetInteger(0, CHART_WIDTH_IN_BARS) também levam a pendurar no meu programa. Mas não posso reproduzir um exemplo isolado com eles. No entanto, acho que o Comentário será suficiente.

 

O que é isto?

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:
Favor mudar MqlTick para
struct MqlTick
  {
   datetime     time;          // Время последнего обновления цен
   double       bid;           // Текущая цена Bid
   double       ask;           // Текущая цена Ask
   double       last;          // Текущая цена последней сделки (Last)
   ulong        volume;        // Объем для текущей цены Last
   datetime_msc time_msc;      // Время последнего обновления цен в миллисекундах
   uint         flags          // Флаги тиков
  };
Isto é, introduzir um novo tipo datetime_msc.
Seria melhor apenas fazer o campo msc e escrever milissegundos (0-999) lá separadamente.