Ошибки, баги, вопросы - страница 1884

 
Artyom Trishkin:

Да, не хватает - сам много раз глаза терял свои среди длинного списка.

Только вот это не понятно:

Зачем их подсвечивать? Выделенный символ подсвечивать например так, как он сейчас подсвечивается если его выделить в списке, и щёлкнуть за пределами окна этого списка.

А остальные зачем подсвечивать?

А-а-а, кажется понял - символы всех открытых чартов подсвечивать слабее, а символ активного чарта - ярче... Верно?

Ну да, нормально было бы.

Просто отлично было-бы.


fxsaber:

Возможно, поддержат предложение.

Символ текущего активного чарта немного подсвечивать в списке Обзора рынка. А символы всех чартов подсвечивать так же, но еще слабее.

Например, открыт чарт EURCAD. Хочу посмотреть быстро текущий спред, кидаю взгляд на Обзор рынка и начинаю искать, где же EURCAD. А если бы был подсвечен - сразу бы зацепился взглядом и считал нужную инфу глазами. Норм?

Хорошее предложение по модернизации

 
fxsaber:

Возможно, поддержат предложение.

Символ текущего активного чарта немного подсвечивать в списке Обзора рынка. А символы всех чартов подсвечивать так же, но еще слабее.

Например, открыт чарт EURCAD. Хочу посмотреть быстро текущий спред, кидаю взгляд на Обзор рынка и начинаю искать, где же EURCAD. А если бы был подсвечен - сразу бы зацепился взглядом и считал нужную инфу глазами. Норм?

Или просто доступ к формату из MQL. Тогда каждый разукрасит, что захочет.
 
При одновременном запуске нескольких MT5 в portable, начинают грузиться, но не запускаются и выгружаются из процессов, нужна пуза между запусками разных копию, это у всех так?
 
Artyom Trishkin:

А-а-а, кажется понял - символы всех открытых чартов подсвечивать слабее, а символ активного чарта - ярче... Верно?

Точно!
Andrey Khatimlianskii:
Или просто доступ к формату из MQL. Тогда каждый разукрасит, что захочет.
Хочется именно штатного поведения.
 
Скрипт MQL5\Scripts\Test2.mq5
void OnStart() {}

Его отладка не запускается. Сохраняю под другим именем файл - запускается без проблем. Обратно - не запускается.

Перезагрузки эдитора и терминала никак не помогают. Эдитор 1596, терминал 1598.

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

fxsaber, 2017.05.04 17:12

Разогрев кэшей
#define _CS(A) ((!IsStopped()) && (A))
#define TOSTRING(A) #A + " = " + (string)(A) + "\n"

void OnStart()
{
  ulong FullCycle = 0;
  MqlTick Ticks[];
  
  while (_CS(true))
  {
    const ulong StartTime = GetMicrosecondCount();
    
    for (int i = SymbolsTotal(true) - 1; _CS(i >= 0); i--)
      Comment(TOSTRING(SymbolsTotal(true)) + TOSTRING(SymbolName(i, true)) +
              TOSTRING(i) + TOSTRING(CopyTicks(SymbolName(i, true), Ticks)) +
              TOSTRING(MQLInfoInteger(MQL_MEMORY_USED)) + TOSTRING(MQLInfoInteger(MQL_MEMORY_LIMIT)) +
              TOSTRING(FullCycle));
              
    FullCycle = GetMicrosecondCount() - StartTime;              
  }
}

По выполнению скрипта хорошо видно, что CopyTicks в скриптах не является асинхронной. MQL_MEMORY_USED врет.

И главное, что-то кэши спотыкаются (Metaquotes-Demo)

Просьба запустить у себя с количеством символом в Обзоре рынка не меньше сотни.

При чем проблема с кэшами только на некоторых символах заметна. Остальные - норм.

Похоже, затык в CopyTicks на таких символах

Локализовал баг на Metaquotes-Demo
void OnStart()
{
  MqlTick Ticks[];
  
  Print(CopyTicks("#KFT", Ticks));
}

Скрипт уходит в глубокие размышления.

 
Почему EX5 такого кода
void OnStart() {}

весит 5 Кб?

 
fxsaber:
Почему EX5 такого кода

весит 5 Кб?

Защита от декомпила?
 
fxsaber:
Локализовал баг на Metaquotes-Demo

Скрипт уходит в глубокие размышления.

Воспроизводится.

Наверное, потому, что на тиковом графике этого инструмента "ожидание обновления".

При остановке скрипта положенные -1 в журнал выводятся, т.е. он не висит наглухо, а ждет ответа терминала.

 
fxsaber:
Локализовал баг на Metaquotes-Demo

Скрипт уходит в глубокие размышления.

Все правильно работает (согласно документации):
В экспертах и скриптах функция CopyTicks() может дожидаться результата до 45 секунд: В отличие от индикатора каждый эксперт и скрипт работает в собственном потоке, и поэтому может дожидаться окончания синхронизации до 45 секунд. Если за это время тики так и не будут синхронизированы в необходимом объёме, то CopyTicks() по таймауту вернёт только имеющиеся в наличии тики, при этом синхронизация продолжится.
2017.05.11 14:41:31.154 Scripts script test_bug (EURUSD,M1) loaded successfully
2017.05.11 14:42:14.742 Scripts script test_bug (EURUSD,M1) removed