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

Alexey Navoykov:
А чем функция не устраивает?

Тем, что вместо TimeCurrent может быть совсем любая функция.

fxsaber:

Тем, что вместо TimeCurrent может быть совсем любая функция.

Ну тогда если только глобальную переменную использовать.
fxsaber:

Как написать макрос, делающий то же самое

Проблема в том, что PrevHandle в макросе не создать.

По-моему, большая проблема в том, что нет оператора запятая, без него врядли получится такой макрос.

Типичный синдром непризнанных гениев... рассуждают о высоких материях, а простейшую задачу решить не могут
Ну подумайте еще... недельку
Подсказка: то, что решение на MQL существует уже само по себе является подсказкой
pavlick_:

По-моему, большая проблема в том, что нет оператора запятая, без него врядли получится такой макрос.

Можно так:

int MACROS_helper_int;
#define MACROS(NEW_HANDLE_, FN_)  (MACROS_helper_int=GetHandle())*0+(SelectHandle(NEW_HANDLE_) ? FN_ : 0);  \
                                  SelectHandle(MACROS_helper_int);

Но костыльно, куда-нибудь в условие не засунуть, только через =.

ЗЫ: и аккуратно использовать в после if, while и т.д.

if(true)
   MACROS(...);

Я бы наверное таким и не стал пользоваться.

A100:
Типичный синдром непризнанных гениев... рассуждают о высоких материях, а простейшую задачу решить не могут
Ну подумайте еще... недельку
Подсказка: то, что решение на MQL существует уже само по себе является подсказкой

Ну давайте и Вы, мастер, удивите плебеев гениальной реализацией.

Kuzmich:

Всем привет.

Терминал build 1960 (в бете 1966 тоже самое). Функции CopyTicks, CopyTicksRange безошибочно отрабатывают в индикаторе, запущенном в самом терминале, но в тестере, тот же самый индикатор, в этих функциях выдаёт результат -1 и ошибку 4014. Разработчики, подскажите, почему так?

Какой режим моделирования?

Подходят только "на основе реальных тиков" и "ежетик". На ежетике ограничение - запрос удовлетворяется только в пределах сгенерированных тиков

m1 ohlc и по ценам открытия не подходят (Ваш случай?)

pavlick_:

Можно так:

Но костыльно, куда-нибудь в условие не засунуть, только через =

Все должно быть по честному и работать даже так:

int NewHandle = 0;
datetime time = MACRO( NewHandle, TimeCurrent());
void OnStart() {}
Slava:

Какой режим моделирования?

Подходят только "на основе реальных тиков" и "ежетик". На ежетике ограничение - запрос удовлетворяется только в пределах сгенерированных тиков

m1 ohlc и по ценам открытия не подходят (Ваш случай?)

Вот, что и странно. Пробовал на разных режимах моделирования и "Все тики", и "Каждый тик на основе реальных тиков" результат одинаковый - (-1) и ошибка 4014. Понимаю, что на "OHLC на М1" и "Только цены открытия" не должно работать. Но не работает на реальных тиках! :(

A100:

Все должно быть по честному и работать даже так:

Сдаюсь, как сделать для ГВ не знаю, ваш выход.