Просто ограничить количество обсчитываемых на запуске баров не достаточно?
2.
Не совсем прямое) сообщение можно отправить через глобальные переменные.
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
- www.mql5.com
Основы языка / Переменные / Глобальные переменные - Документация по MQL5
Integer:
Просто ограничить количество обсчитываемых на запуске баров не достаточно?
Просто ограничить количество обсчитываемых на запуске баров не достаточно?
Не... всё ограничено...
Можно конечно попробовать выгружать всё состояние в файл... но я прикинул - он будет большим....
Ну можно ещё через файлы, DLL и т.д. Только все эти способы требуют проверки состояния через определённые промежутки времени... Хотелось бы избежать этого
Реализация в виде простого индикатора или советника. При смене таймфрейма графика класс будет пересчитываться с нуля. Плохо.
Сделать расчеты только внутри функции "is new bar", а вывод графика сделать не только в "is new bar" но и в "on init". При этом, функция "is new bar" будет срабатывать по данным только одного таймфрейма, который определяется входным параметром индикатора. Таким образом, при смене тайм-фрейма будет происходить только перерисовка(согласно неким правилам), а трудоемкий расчет только по "is new bar" для фиксированного тайм-фрейма.
-Alexey-:
Сделать расчеты только внутри функции "is new bar", а вывод графика сделать не только в "is new bar" но и в "on init". При этом, функция "is new bar" будет срабатывать по данным только одного таймфрейма, который определяется входным параметром индикатора. Таким образом, при смене тайм-фрейма будет происходить только перерисовка(согласно неким правилам), а трудоемкий расчет только по "is new bar" для фиксированного тайм-фрейма.
Вы не внимательно прочли вводную...Сделать расчеты только внутри функции "is new bar", а вывод графика сделать не только в "is new bar" но и в "on init". При этом, функция "is new bar" будет срабатывать по данным только одного таймфрейма, который определяется входным параметром индикатора. Таким образом, при смене тайм-фрейма будет происходить только перерисовка(согласно неким правилам), а трудоемкий расчет только по "is new bar" для фиксированного тайм-фрейма.
AlexSTAL:
Вы не внимательно прочли вводную...
Думаю, все же внимательно. Или вы имеете в виду то, что не указали, как часто класс оперирует данными всех таймфреймов?Вы не внимательно прочли вводную...
-Alexey-:
Думаю, все же внимательно. Или вы имеете в виду то, что не указали, как часто класс оперирует данными всех таймфреймов?
На каждом тике по всем ТФ... разделить ТФ невозможно.... Т.е. я оперирую плавающим общим ТФ на каждом тике...
Думаю, все же внимательно. Или вы имеете в виду то, что не указали, как часто класс оперирует данными всех таймфреймов?
AlexSTAL:
Быть может следующая особенность позволит избежать пересчета. Если экземпляр класса инициализирован на уровне глобальных переменных, то конструктор класса запускается один раз при присоединении советника к графику. При смене таймфрейма (при уже присоединенном советнике) конструктор класса больше не запускается. - Реализация в виде простого индикатора или советника. При смене таймфрейма графика класс будет пересчитываться с нуля. Плохо.
Lizar:
Быть может следующая особенность позволит избежать пересчета. Если экземпляр класса инициализирован на уровне глобальных переменных, то конструктор класса запускается один раз при присоединении советника к графику. При смене таймфрейма (при уже присоединенном советнике) конструктор класса больше не запускается.
Быть может следующая особенность позволит избежать пересчета. Если экземпляр класса инициализирован на уровне глобальных переменных, то конструктор класса запускается один раз при присоединении советника к графику. При смене таймфрейма (при уже присоединенном советнике) конструктор класса больше не запускается.
Вы спасли мир! Большое спасибо. Почему то я в эту сторону даже не смотрел... С индикатором то это не прокатит - только с советником...
Пора на пенсию....
AlexSTAL:
Что ж, передавайте привет спасенному миру. Да, в советнике точно можно.Вы спасли мир! Большое спасибо. Почему то я в эту сторону даже не смотрел... С индикатором то это не прокатит - только с советником...
Пора на пенсию....
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Есть класс, который оперирует данными нескольких таймфреймов одного инструмента (читай: всеми). Разделить его по таймфреймам не представляется возможным из-за логики.
В конечном счете результат его работы - графическое отображение информации для текущего таймфрейма графика инструмента.
Какие варианты рисуются у меня в голове:- Реализация в виде простого индикатора или советника. При смене таймфрейма графика класс будет пересчитываться с нуля. Плохо.
- Реализация в виде индикатора, который не добавляется на график, но создаётся iCustom с фиксированным таймфреймом (например только M1). Данный вариант идеален, но как управлять дополнительными методами класса (к примеру что-то дополнительно вывести)? Прямое сообщение ему не отправить...
- Реализация в виде одного индикатора или советника для всех необходимых инструментов, без изменения таймфрейма графика, на который он будет "закинут" (всё рисование на отдельно открытом графике). Но здесь полностью теряется многопоточность вычислений...
У кого какие дельные мысли есть?