- Полный путь до *.ex5
- Вопросы от начинающих MQL5 MT5 MetaTrader 5
- Индикатор, установленный пользователем
Для журналирования изменений в сеансах торгов необходимо определить время компиляции (как замену версии) и полный путь файлов индикаторов, которые могут запускаться на графике. В документации описаны 2 ф-ии - ChartIndicatorGet() и ChartIndicatorName(), определяющие хэндл и короткое имя индикатора. Как можно определить время (создания) и путь ex5-файла индикатора по ним?
если правильно понял тут все есть
- www.mql5.com
Переменная __DATETIME__ выдаёт время компиляции файла, из которого производится запрос. Необходимо (за неимением прямой функции определения компиляции указанного файла) найти файл в файловой системе по его хэндлу (или короткому имени) и считать его параметры, среди которых - как раз время изменения файла.
Я имею ввиду, что программа для журналирования может быть уже запущена, а новые индикаторы, скрипты или сервисы запускаются во время работы. Их времена изменения и имена файлов нужно определить.
Кстати, тип лицензии тоже было бы полезно определять для любых модулей ex5.
можно парсить предварительно сохранённый шаблон ( ChartSaveTemplate() ) . И пытаться соотнести с shortName или невесть как полученным хендлом. Хотя зачем и откуда у вас хендл, если вы просто мониторите "изменений в сеансах торгов", я так и не понял
в шаблоне есть пути и параметры всего что поназапущего в чарте.
дату/время и прочие опции файлов в Experts,Indicators,Market можно получить только через WinAPI.
можно парсить предварительно сохранённый шаблон ( ChartSaveTemplate() ) . И пытаться соотнести с shortName или невесть как полученным хендлом. Хотя зачем и откуда у вас хендл, если вы просто мониторите "изменений в сеансах торгов", я так и не понял
в шаблоне есть пути и параметры всего что поназапущего в чарте.
дату/время и прочие опции файлов в Experts,Indicators,Market можно получить только через WinAPI.
Из проги журналирования, которая вызывается при изменении графиков, можно получить и хэндл и короткое имя
| ChartIndicatorGet | Возвращает хэндл индикатора с указанным коротким именем на указанном окне графика |
| ChartIndicatorName | Возвращает короткое имя индикатора по номеру в списке индикаторов на указанном окне графика. |
Вы предлагаете сохранять шаблон. Но в нём путь к файлам индикаторов пустой. В папке Config Метатрейдера в файле terminal.ini тоже пути нет (пример касательно Ichimoku:
[Navigator]
SelectedName=Ichimoku Kinko Hyo
[Indicators]
Ichimoku Kinko Hyo=|<indicator>|name=Ichimoku Kinko Hyo|path=|apply=0|show_data=1|scale_inherit=0|scale_line=0|scale_line_percent=50|scale_line_value=0.000000|scale_fix_min=0|scale_fix_min_val=0.000000|scale_fix_max=0|scale_fix_max_val=0.000000|expertmode=0|fixed_height=-1||<graph>|name=|draw=128|style=0|width=1|color=255|</graph>||<graph>|name=|draw=128|style=0|width=1|color=16711680|</graph>||<graph>|name=|draw=128|style=2|width=1|shift=26|color=6333684|</graph>||<graph>|name=|draw=128|style=2|width=1|shift=26|color=14204888|</graph>||<graph>|name=|draw=128|style=0|width=1|color=65280|</graph>|tenkan=9|kijun=26|senkou=52|</indicator>|
а для того, чтобы получить время изменения файла (индикатора) требуется совместить короткое имя (или хэндл) индикатора с исходным файлом ex5.
для стандартных путь пустой.
для прочих - name = Custom Indicator и path = путь_к_ex5
Нет перехода от короткого имени (индикатора) к полному имени файловой системы, тем более в Examples есть подкаталоги Canvas и Panels, и нет уверенности, что не добавятся другие каталоги. А другие индикаторы могут сидеть в своих каталогах.
В общем случае - откуда запущена прога - неясно. А хотелось бы разрешить общий случай.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования