Запустил из в роботе, дату менял туда-сюда, советник работает и алерта не выскакивает.
Тут используется TimeCurrent() - время сервера брокера. На локальной машине можете как хотите дату крутить алерта не выскочит пока на сервере не будет время больше 2017.03.15 00:00
Тут используется TimeCurrent() - время сервера брокера. На локальной машине можете как хотите дату крутить алерта не выскочит пока на сервере не будет время больше 2017.03.15 00:00
string Dts = "31.03.2017";
......
//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
datetime Dtm = StringToTime(Dts);
if (TimeCurrent()>=Dtm)
{
Comment("Trial version, the runtime has expired. Please buy the full version ");
return(INIT_FAILED);
}elseComment("Trial version, the runtime has expired "+Dts);
.......
Вместо 31.03.2017 ставите нужную вам дату компилируете советник и отдаете его во временное пользование после этой даты советник работать не будет. А если использовать локальное время то такое ограничение легко обойти просто изменив дату на компьютере.
Вместо 31.03.2017 ставите нужную вам дату компилируете советник и отдаете его во временное пользование после этой даты советник работать не будет. А если использовать локальное время то такое ограничение легко обойти просто изменив дату на компьютере.
Наверно не так вас понял.
Отдаю экзешник и уже встроенную дату не изменить никак...верно?
Где обозначены переменные робота, добавляю объект стринг и в начале инициализации всё остальное?
А как мне самому потом проверить что к примеру 11.03.2017 робот перестанет реагировать?
Отдаю экзешник и уже встроенную дату не изменить никак...верно?
Где обозначены переменные робота, добавляю объект стринг и в начале инициализации всё остальное?
А как мне самому потом проверить что к примеру 11.03.2017 робот перестанет реагировать?
Да дата в переменной string Dts прописывается в исходнике после компиляции эту дату не изменить. Остальной код в функции OnInit() при установке на график и переинициализации эксперта будут проверятся условия окончания тестового периода. Еще добавте этот же код проверки в самое начало функции OnTick() только вместо return(INIT_FAILED) напишите просто return. Это надо на случай если эксперт на протяжении всего тестового периода не будет переинициализороватся.
Вставил код из статьи, пункт 4.
Переменную password_status компилятор не понимает
Всего две строчки?
Эту функцию в какой части робота размещать?
Запустил из в роботе, дату менял туда-сюда, советник работает и алерта не выскакивает.Тут используется TimeCurrent() - время сервера брокера. На локальной машине можете как хотите дату крутить алерта не выскочит пока на сервере не будет время больше 2017.03.15 00:00
Тут используется TimeCurrent() - время сервера брокера. На локальной машине можете как хотите дату крутить алерта не выскочит пока на сервере не будет время больше 2017.03.15 00:00
Этот вариант тогда не подходит(
Этот вариант тогда не подходит(
Почему не подходит?
Вместо 31.03.2017 ставите нужную вам дату компилируете советник и отдаете его во временное пользование после этой даты советник работать не будет. А если использовать локальное время то такое ограничение легко обойти просто изменив дату на компьютере.
Почему не подходит?
Вместо 31.03.2017 ставите нужную вам дату компилируете советник и отдаете его во временное пользование после этой даты советник работать не будет. А если использовать локальное время то такое ограничение легко обойти просто изменив дату на компьютере.
Наверно не так вас понял.
Отдаю экзешник и уже встроенную дату не изменить никак...верно?
Где обозначены переменные робота, добавляю объект стринг и в начале инициализации всё остальное?
А как мне самому потом проверить что к примеру 11.03.2017 робот перестанет реагировать?
Наверно не так вас понял.
Отдаю экзешник и уже встроенную дату не изменить никак...верно?
Где обозначены переменные робота, добавляю объект стринг и в начале инициализации всё остальное?
А как мне самому потом проверить что к примеру 11.03.2017 робот перестанет реагировать?
Да дата в переменной string Dts прописывается в исходнике после компиляции эту дату не изменить. Остальной код в функции OnInit() при установке на график и переинициализации эксперта будут проверятся условия окончания тестового периода. Еще добавте этот же код проверки в самое начало функции OnTick() только вместо return(INIT_FAILED) напишите просто return. Это надо на случай если эксперт на протяжении всего тестового периода не будет переинициализороватся.
Не работает...поставил вчерашнюю дату, а советник ордера открывает и ничего не пишет(
Может чего не так написали. У меня все работает.