[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 309
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Именно. Глобальная переменная Reason получает значение, но получает она его не в deinit(), а в init(), чтобы можно было видеть при запуске init() причину последней деинициализации и, исходя из значения, выполнять то или иное действие. Но не работает как положено.
Вам сказали, как сделать. Именно в deinit() мы узнаем причину последней деинициализации и передаем ее через переменную, объявленную на глобальном уровне. В init() проверяете значение переменной и узнаете причину последней деинициализации. Это работает!.
PS Видимо, не все осознают, что init()/deinit() не изменяют значения переменных, объявленных на глобальном уровне, если это явно не указано в операторах внутри функций.
Вообще-то в init() лучше, ордера не закрывать. Там MarketInfo() часто работает не так, как ожидалось.
Вам сказали, как сделать. Именно в deinit() мы узнаем причину последней деинициализации и передаем ее через переменную, объявленную на глобальном уровне. В init() проверяете значение переменной и узнаете причину последней деинициализации. Это работает!.
Это предположил, что Вы будете делать с этой функцией. Такой функцией обычно бегают по истории.
Даже не представляю, что б функцию гоняли по циклу...
Даже не представляю, что б функцию гоняли по циклу...
Да пожалуйста :
Понял, что у Артёма проблема именно с переключением с ТФ М5. Там ошибка. Надо бы проверить так ли это. Может это баг МТ4.
Нет это не баг. Вот советник. Менял таймфреймы с M1до H1
19:20:02 111 CADJPY,M15: initialized19:20:09 111 CADJPY,M15: DeinitReason 3
19:20:09 111 CADJPY,M15: deinitialized
19:20:09 111 CADJPY,M15: uninit reason 3
19:20:09 Supertrend[1] CADJPY,M15: deinitialized
19:20:09 Supertrend[1] CADJPY,M15: uninit reason 3
19:20:09 HLC CADJPY,M15: deinitialized
19:20:09 HLC CADJPY,M15: uninit reason 3
19:20:09 AMA optimized1 CADJPY,M15: deinitialized
19:20:09 AMA optimized1 CADJPY,M15: uninit reason 3
19:20:09 AMA optimized1 CADJPY,M15: deinitialized
19:20:09 AMA optimized1 CADJPY,M15: uninit reason 3
19:20:09 Supertrend[1] CADJPY,H1: initialized
19:20:09 HLC CADJPY,H1: initialized
19:20:09 AMA optimized1 CADJPY,H1: initialized
19:20:09 AMA optimized1 CADJPY,H1: initialized
19:20:09 111 CADJPY,H1: initialized
Нет это не баг. Вот советник. Менял таймфреймы с M1до H1
Ну и хорошо! А то у меня тоже сильно всё завязано на причины деинициализации.
Вообще-то в init() лучше, ордера не закрывать. Там MarketInfo() часто работает не так, как ожидалось.
Даже не представляю, что б функцию гоняли по циклу...
Ну и хорошо! А то у меня тоже сильно всё завязано на причины деинициализации.
Да. Нельзя. В справке написано. Обычное дело.Вот окончательный вариант для проверки. Предыдущий был не очень удачным, поскольку init()/deinit() иногда не дружат с print()
Задался я вопросом написать функцию. Суть такая, что необходимо что, при откате N-свечей в в определённую строну, просчитывать количество свечей. НО. Для это есть несколько условий, а точнее будет со временем их перечень.
Скажем так, тренд, например, направлен вниз,... пошёл откат вверх. Я хочу чтоб если прошло 5 свечей вверх, и каждая свеча была бычья, и, например, размер каждой свечи был больше заданного i_sizeOfCurrBar, и ещё какие-н. условия, то выводим количество баров непрерывно бычьих, и возвращаем какой-то результат из функции.
Как это лучше написать? На данный момент я начал писать, и понимаю что тут нужно прогонять через цикл по бара, и как-то ограничить просмотр в глубину истории не по фиксированному количеству баров, а по барам, с теми параметрами, которые нас интересуют на условиям.
Вот что у меня, есть:
На данный момент идёт просто перебор от предпоследнего бара, то бара с индексом 6, т.е. 5 баров в подряд. Но мне нужно, чтоб эксперт просчитывал только бары, которые вляются бычьими, а не все в подряд. Как это будет адекватнее реализовать?
По размеру я вроде как отфильтровал верно.
Ну а когда всё будет уже прописано, снизу уже счётчик будет просчитывать количество непрерывных баров с nht,etvsvb параметрами и если таких баров достаточно, то возвращается какое-н. значение функции.
Вам сказали, как сделать. Именно в deinit() мы узнаем причину последней деинициализации и передаем ее через переменную, объявленную на глобальном уровне. В init() проверяете значение переменной и узнаете причину последней деинициализации. Это работает!.
PS Видимо, не все осознают, что init()/deinit() не изменяют значения переменных, объявленных на глобальном уровне, если это явно не указано в операторах внутри функций.
Вообще-то в init() лучше, ордера не закрывать. Там MarketInfo() часто работает не так, как ожидалось.