Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1316

 

Через WinAPI можно, если устроит.

в kernel32.dll есть функция

BOOL GetFileTime(
  HANDLE     hFile,
  LPFILETIME lpCreationTime,
  LPFILETIME lpLastAccessTime,
  LPFILETIME lpLastWriteTime
);

https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getfiletime

GetFileTime function (fileapi.h) - Win32 apps
GetFileTime function (fileapi.h) - Win32 apps
  • 2018.12.05
  • mikben
  • docs.microsoft.com
Retrieves the date and time that a file or directory was created, last accessed, and last modified.
 

Здесь что-то есть

https://www.mql5.com/ru/articles/1540

Файловые операции через WinAPI
Файловые операции через WinAPI
  • www.mql5.com
Исполнительная среда MQL4 основана на концепции безопасной "песочницы": чтение и запись средствами языка разрешены только в определенных папках. Это защищает пользователя MetaTrader 4 от потенциальной опасности испортить важные данные на жестком диске компьютера. Но иногда все же бывает необходимость покинуть безопасную зону. Как это сделать легко и правильно - об этом статья.
 
Aleksei Stepanenko:

Здесь что-то есть

https://www.mql5.com/ru/articles/1540

Спасибо!

Стандартными средствами никак, получается.

 
Похоже на то, я не знаю местного способа. В GetFileTime нужно передавать хендл полученный тоже из кернел.
 
Artyom Trishkin:
А чем не устраивает ChartIndicatorAdd() ?
Эта замечательная функция требует indicator_handle

Как получить этот параметр для технических индикаторов я нашёл, а именно:
lля каждого техн. индикатора имеется своя ф-ия, например, для MACD:

indicator_handle=iMACD(symbol,period,fast_ema_period,slow_ema_period,signal_period,apr);

Мой вопрос касается пользовательского индикатора.
Я не смог найти в справке как получить  indicator_handle моих индикаторов, тем более, на момент, когда их ещё нет в окне.

Не исключено, что плохо искал.
Буду крайне признателен за ссылку.

 
User_mt5:
Эта замечательная функция требует indicator_handle

Как получить этот параметр для технических индикаторов я нашёл, а именно:
lля каждого техн. индикатора имеется своя ф-ия, например, для MACD:

Мой вопрос касается пользовательского индикатора.
Я не смог найти в справке как получить  indicator_handle моих индикаторов, тем более, на момент, когда их ещё нет в окне.

Не исключено, что плохо искал.
Буду крайне признателен за ссылку.

iCustom()
Документация по MQL5: Технические индикаторы / iCustom
Документация по MQL5: Технические индикаторы / iCustom
  • www.mql5.com
iCustom - Технические индикаторы - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Artyom Trishkin:
iCustom()
Спасибо большое!  Вы реально мне помогли!

И конечно, где ж ещё быть этой функции, как не в середине списка техн. индикаторов..)
 
serg_V777:
Приветствую.
Имею проблему с горизонтальными линиями на MQL5.
Созданная вручную через кнопку горизонтальная линия на чарте GAZP отображается и на чарте SBER так как у них цены похожие. Подскажите, пожалуйста , как и линию сохранить и чтоб показывала там где была создана.
***
ни в первом ни во втором варианте не хочет работать...
Пожалуйста вставляйте код правильно: при редактировании сообщения нажмите кнопку       Code и во всплывающее окно вставьте свой код.
MQL5.community - Памятка пользователя
MQL5.community - Памятка пользователя
  • www.mql5.com
Вы недавно зарегистрировались и у вас возникли вопросы: Как вставить картинку в сообщение на форуме, как красиво оформить исходный код MQL5, где находятся ваши Личные сообщения? В этой статье мы подготовили для вас несколько практических советов, которые помогут быстрее освоиться на сайте MQL5.community и позволят в полной мере воспользоваться доступными функциональными возможностями.
 

Имею проблему с горизонтальными линиями на MQL5.
Созданная вручную через кнопку горизонтальная линия на чарте GAZP отображается и на чарте SBER так как у них цены похожие. Подскажите, пожалуйста , как и линию сохранить и чтоб показывала там где была создана.
ни в первом ни во втором варианте не хочет работать...

preff=ChartSymbol( NULL);
price=SymbolInfoDouble(Symbol(),SYMBOL_BIDLOW);
ObjectCreate(0,preff+"hhh",OBJ_HLINE,0,0,price) ;
/////////////////////////////////////////////////////////////
if(preff+"hhh" != ChartSymbol(0) ){
ObjectSetInteger(0,preff+"hhh",OBJPROP_COLOR,clrNONE); }
///////////////////////////////////////////////////////////
if(preff != ChartSymbol(NULL) ) {
ObjectSetInteger(0,preff+"hhh",OBJPROP_COLOR,clrNONE); }



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

Имею проблему с горизонтальными линиями на MQL5.
Созданная вручную через кнопку горизонтальная линия на чарте GAZP отображается и на чарте SBER так как у них цены похожие. Подскажите, пожалуйста , как и линию сохранить и чтоб показывала там где была создана.
ни в первом ни во втором варианте не хочет работать...



Смотрим ошибки:

1. Всегда явно задавайте символ графика (да, можно понадеется на документацию, но лучше ВСЕГДА задавать явно)

   preff=ChartSymbol(Symbol());
   price=SymbolInfoDouble(Symbol(),SYMBOL_BIDLOW);
   ObjectCreate(0,preff+"hhh",OBJ_HLINE,0,0,price) ;
//---
   if(preff+"hhh" != ChartSymbol(Symbol()))
     {
      ObjectSetInteger(0,preff+"hhh",OBJPROP_COLOR,clrNONE);
     }
//---
   if(preff != ChartSymbol(Symbol()))
     {
      ObjectSetInteger(0,preff+"hhh",OBJPROP_COLOR,clrNONE);
     }

2. Строка не имеет смысла - так как preff+"hhh" никогда не будет равно Symbol()


Добавлено: лучше иметь такой подход - на графике всегда одна линия, при переключении графика просто менять цену линии.

Причина обращения: