Создаю свежий скрипт или советник, добавляю input или extern datetime aaa, компилирую и запускаю. Дальше в входных параметрах пытаюсь изменить дату, но остаётся всегда 1970.01.01 00:00 :( Стрелками клавиатуры если перематывать цифры, то выбор запоминает, а мышью по апплету календаря - ноль реакции.
MT4 1090, Windows XP.
1. Переменную заданную с input изменять в коде нельзя, при компилировании будет выдавать ошибку.
Вы не поняли. В выпадающем календаре выбор работает только через навигацию стрелками. Выбор мышкой даты не изменяет значения параметра.
При изменении мышкой месяца или года падает также навигация стрелками.
У меня то же самое.
Вы не поняли. В выпадающем календаре выбор работает только через навигацию стрелками. Выбор мышкой даты не изменяет значения параметра.
При изменении мышкой месяца или года падает также навигация стрелками.
У меня то же самое.
Вот пример кода
input datetime dat =D'22.05.17 15:22'; #property show_inputs void start() { Alert(TimeToString(dat |TIME_MINUTES)); }
Кликаем пару раз по значению, появляется кнопка календаря, в котором выбираем мышью нужную дату. Все работает... Может быть Вы забыли задать исходное значение?
Вот пример кода
Кликаем пару раз по значению, появляется кнопка календаря, в котором выбираем мышью нужную дату. Все работает... Может быть Вы забыли задать исходное значение?
Появляется окно календаря. Кликаем мышью по дате. Но, дата в параметре не изменяется. Вот пример моего кода. Input/Extern не влияет Индикатор/скрипт тоже
#property strict #property indicator_separate_window #property indicator_buffers 2 // внешние переменные extern int ZeroPoint = 1100; // размер окна extern string PatternsFileName = "wsPatterns1100140915"; // имя файла паттернов extern datetime StartTime = D'2018.03.19 00:00'; // стартовая точка отсчета
А вот навигация стрелками в календаре меняет значение параметра. Кроме того PageUp, PageDown - это смена месяца, а, Ctrl+PageUp, Ctrl+PageDown - смена года.
Полный демо код индикатора:
//+------------------------------------------------------------------+ //| calendar.mq4 | //| Copyright 2018, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2018, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict #property indicator_chart_window input datetime dateTime = D'2018.05.01 00:00:00'; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //--- //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+
Этот календарь можно вызвать, если ткнуть два раза на значение и за тем один раз на появившуюся в правой части этого поля стрелку. Если вместо стрелки ткнуть в само поле, то курсор перейдёт на одно из чисел, которые можно будет стрелками клавиатуры прокручивать вверх вниз или клавишами цифер менять.
Раньше я мог ткнуть, например, в красный квадратик "Сегодня" и вставилась бы текущая дата. Теперь же ни чего из выбора мышью по этому календарю не работает, если ткнуть мышью в любое выбранное число даты, то календарь просто закрывается и значение переменной не меняет.
UPD: попробовал разных брокеров, результат - тот же.
UPD2: Господа, я напоминаю, это метатрейдер 4, как это было мной указано в 1-ом посте, не надо мне показывать примеры из MT5 и статьи для MT5 и говорить, что всё работает. Будьте внимательнее при чтении.
Полный демо код индикатора:
Этот календарь можно вызвать, если ткнуть два раза на значение и за тем один раз на появившуюся в правой части этого поля стрелку. Если вместо стрелки ткнуть в само поле, то курсор перейдёт на одно из чисел, которые можно будет стрелками клавиатуры прокручивать вверх вниз или клавишами цифер менять.
Раньше я мог ткнуть, например, в красный квадратик "Сегодня" и вставилась бы текущая дата. Теперь же ни чего из выбора мышью по этому календарю не работает, если ткнуть мышью в любое выбранное число даты, то календарь просто закрывается и значение переменной не меняет.
UPD: попробовал разных брокеров, результат - тот же.
UPD2: Господа, я напоминаю, это метатрейдер 4, как это было мной указано в 1-ом посте, не надо мне показывать примеры из MT5 и статьи для MT5 и говорить, что всё работает. Будьте внимательнее при чтении.
Работает нормально MT4 1090
на ХР не работает
Ах да, у меня 10ка
Работает нормально MT4 1090
Действительно. Работает на Win7 64 бит. Но не работает на XP. Только что проверил.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Создаю свежий скрипт или советник, добавляю input или extern datetime aaa, компилирую и запускаю. Дальше в входных параметрах пытаюсь изменить дату, но остаётся всегда 1970.01.01 00:00 :( Стрелками клавиатуры если перематывать цифры, то выбор запоминает, а мышью по апплету календаря - ноль реакции.
(В коде с картинки input datetime dateTime = D'2018.05.01 00:00:00'; в данном случае будет неизменяемо)
MT4 1090, Windows XP.