Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Абсолютно идиотский вариант. Прикола ради. Не запускал. Погрешность равна примерно разнице между временем прихода тика и временем последнего события Timer
Легенький безобидный массивчик на 48 байт.
Можно ли использовать это с OnTick??
Можно ли использовать это с OnTick??
Таймер нужен только для обновления массива timerBid[].
Цену_5_секунд_назад предполагается использовать из OnTick(). Она лежит в timerBid[5], что я явно обозначил, объявив переменную bigFiveSecondsAgo.
Ну и само-собой, в тестере MT4 это работать не будет. Да и работа в тестере лишена смысла, так как время тика в тестере рандомное в виду отсутствия тиковой истории.
Здесь по нормальному должен быть цикл, но я поленился его писать. Да и нет смысла по тому, что в этом случае нужно явно обозначить размер массива... Тогда уже задаем количество секунд в настройках, а от этого количества секунд ресайзим массив в OnInit(). Короче, писать "по-правильному" имеет смысл только если нужно задавать количество секунд в настройках.
Вместо OnTick устанавливаете OnTimer со временем 5 секунд
Получается проверка раз у 5 секунд. Ему нужно 5 секунд назад, а не раз в 5 секунд :)
То есть вся остальная движуха теряется. Только через CopyTicksRange. Только диапазон "от и до" уменьшить
Получается проверка раз у 5 секунд. Ему нужно 5 секунд назад, а не раз в 5 секунд :)
То есть вся остальная движуха теряется. Только через CopyTicksRange. Только диапазон "от и до" уменьшить
Не только. У кольцевого буфера меньше накладных расходов.
Можно ли использовать это с OnTick??
Пробуйте. Но я еще раз подчеркну: это шляпа. Нормальное решение примерно такое.
(MT4 эксперт)
Пробуйте. Но я еще раз подчеркну: это шляпа. Нормальное решение примерно такое.
(MT4 эксперт)
Запихайте, к стати, кто-нибудь в класс, пожалуйста.
Оставьте только 3 публичных метода: .init(), .update() и .get(int secondsAgo)
Ну это типа интерфейс)
Я просто не умею в ООП. Пример будет для меня полезным.
Не только. У кольцевого буфера меньше накладных расходов.
Он скальпингом занимается. Вероятнее всего ему нужно каждый текущий момент смотреть на цену, которая была 5 секунд назад
Запихайте, к стати, кто-нибудь в класс, пожалуйста.
Оставьте только 3 публичных метода: .init(), .update() и .get(int secondsAgo)
Ну это типа интерфейс)
Я просто не умею в ООП. Пример будет для меня полезным.
Вот пример :)
https://www.mql5.com/ru/articles/351
Он скальпингом занимается. Вероятнее всего ему нужно каждый текущий момент смотреть на цену, которая была 5 секунд назад
Я про то же. Кольцевой буфер тоже позволяет такое, но дешевле.
https://www.mql5.com/ru/forum/6343/42842636#comment_42842636
Не понятно...
Нужна цена 5 секунд назад от каждой свечи?
Или 5 секунд назад от текущего времени?
Или нужно найти цену которая замирает/зависает на 5 секунд?
PS Чем пытаться уйти от массивов, лучше сосредоточиться над увеличением скорости работая с массивами.