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

 
fxsaber #:

Существует ли способ определения, что на интересуемом чарте советник работает?


Например, такой советник не работает, но висит на чарте.

Хотелось бы понять, среди запущенных боевых советников есть ли подобные "висяки"? Городить через EventChartCustom систему вопрос-ответ для подобной задачи - плохо. Т.к. опрашиваемый советник может быть в паузе ожидания ответа: OrderSend, CopyRates, CopyTicks. Да и советники без исходников - обычное дело.

Хочу уточнить как это понимать? Вы хотите определить просто присутствие советника на графике или гораздо бо́льшее?

Если просто присутствие, то по вашему-же совету, через создание шаблона и поиска в тексте <Expert>

  tplName = "Game_100.tpl";
  ushort Bytes[];
  string chName, newName;
  if(ChartSaveTemplate(chartID, "\\Files\\"+tplName) && FileLoad(tplName, Bytes))
    chName = ShortArrayToString(Bytes);
  int pozNumb = StringFind(chName, "<expert>");
 
Alexey Viktorov #:

Вы хотите определить просто присутствие советника на графике или гораздо бо́льшее?

Что советник выполняется: обрабатывает On-события.

Если просто присутствие, то по вашему-же совету, через создание шаблона и поиска в тексте <Expert>

CHART_EXPERT_NAME.

 

По размеру log-файлов а этой папке Terminal\logs\ (например, Terminal\logs\20220830.log) можно судить о торговой активности на счете. Понятно, что она зависит от многих факторов.


У меня размер log-файла варьируется в пределах 500-10000 KB. Поделитесь своими объемами. Нужно для понимания торговой активности среднего клиента Маркета.

 
fxsaber #:

Что советник выполняется: обрабатывает On-события.

CHART_EXPERT_NAME.

Аа… Ну да. Я по вашей подсказке решил свою проблему и всё остальное забыл… ))))

 
fxsaber #:

Что советник выполняется: обрабатывает On-события.

На каждом On-событии генерить файл-флаг и анализировать его время?

Если нет исходников - не представляю себе гуманное решение...   ((

 
Sergey Gridnev #:

Артём, я не буду Вам отвечать, Вы неадекватно реагируете.

Правильно, не отвечайте. Просто потому, что Вы не можете отличить адекватность от бесполезности. Для чего нужно затевать тему по поводу именования графического ресурса, если разговор шёл про имя графического объекта? И то, что желательно его иметь коротким и уникальным в своей программе - об этом я говорил, а не о том, что CCanvas не создаёт уникальное имя ресурса.

Я об одном, Вы - о другом. Но про обидки какие-то не забыли добавить когда ответить по существу именно того вопроса, о котором говорил я, а не Вы подумали, Вы не смогли. А лучше бы предложили Ваш вариант как можно именовать свои объекты в своей программе, полагаясь на уникальность графического ресурса в CCanvas, но так, чтобы можно их было удобно различать в своей программе. Вот это было бы интересно обсудить. А разговаривать о том, что и так известно было - зачем?

Понимаете? Нет?

 
Mikola_2 #:

На каждом On-событии генерить файл-флаг и анализировать его время?

Если нет исходников - не представляю себе гуманное решение...   ((

Да, свои исходники еще можно подпереть чем-нибудь. Гуманности не хватает.

 
Artyom Trishkin #:

Правильно, не отвечайте. Просто потому, что Вы не можете отличить адекватность от бесполезности. Для чего нужно затевать тему по поводу именования графического ресурса, если разговор шёл про имя графического объекта? И то, что желательно его иметь коротким и уникальным в своей программе - об этом я говорил, а не о том, что CCanvas не создаёт уникальное имя ресурса.

Я об одном, Вы - о другом. Но про обидки какие-то не забыли добавить когда ответить по существу именно того вопроса, о котором говорил я, а не Вы подумали, Вы не смогли. А лучше бы предложили Ваш вариант как можно именовать свои объекты в своей программе, полагаясь на уникальность графического ресурса в CCanvas, но так, чтобы можно их было удобно различать в своей программе. Вот это было бы интересно обсудить. А разговаривать о том, что и так известно было - зачем?

Понимаете? Нет?

Артем, уникальность задания имени объекту (любого) полезна, если это требуются, но всё же я говорил про явный баг в МТ5, речь именно о критичности длины пути папки, в которой лежит исполняемая программа, а не длина имени объекта или уникальность имени.

Если длина пути папки будет больше какого то значения, то канвас  просто не рисуется, не выдавая при этом никаких ошибок, при этом весь остальной код программы будет работать без проблем. Это означает, что у пользователя тупо перестанет к примеру отображаться интерфейс запущенной программы, он даже не сможет сообщить код ошибки разработчику, что бы исправить проблему. Канвас просто не рисует и всё, нет при этом никаких ошибок GetLastError

 
Artyom Trishkin #:

Понимаете? Нет?

Мяты попейте, говорят помогает.
 
Andrey Dik #:

Артем, уникальность задания имени объекту (любого) полезна, если это требуются, но всё же я говорил про явный баг в МТ5, речь именно о критичности длины пути папки, в которой лежит исполняемая программа, а не длина имени объекта или уникальность имени.

Если длина пути папки будет больше какого то значения, то канвас  просто не рисуется, не выдавая при этом никаких ошибок, при этом весь остальной код программы будет работать без проблем. Это означает, что у пользователя тупо перестанет к примеру отображаться интерфейс запущенной программы, он даже не сможет сообщить код ошибки разработчику, что бы исправить проблему. Канвас просто не рисует и всё, нет при этом никаких ошибок GetLastError

Кстати, такая же проблема с подключаемыми ресурсами. 

#resource "\\Files\\Pictures\\good.bmp"

А вот функция FileOpen(), например, допускает длинные пути.

Документация по MQL5: Файловые операции / FileOpen
Документация по MQL5: Файловые операции / FileOpen
  • www.mql5.com
FileOpen - Файловые операции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Причина обращения: