все мои примеры были написаны в МТ4 и там же использовались, Вы почему то не используете все возможности МТ4
эти же примеры будут работать без изменений и в МТ5, под МТ5 не будет только этот пример работать без доработки
if(Session.CheckSession(Hour())<0) { Comment("Запрет торговли по времени"); return; }
ЗЫ: перефразирую статью МТ4 - это больше чем можно представить!
Dmitiry Ananiev:
Как видите интервала уже 4. И ваш код тут не поможет.
мои все 3 примера масштабируются хоть в 101 интервал временных диапазонов или путем копирования строк инициализации обьектов или путем
создания массива экземпляров обьектов, что в первом что во втором случае это занимает 2-3 минуты ;)
Dmitiry Ananiev:
Приму любую критику для улучшения работы кода.
Вас устраивает? мне не нравятся во входных переменных использовать string - в оптимизаторе не работает и есть
вероятность не правильного ввода данных пользователем - это усложняет код и требует дополнительных проверок, вывод предупреждений и
т.п.
все мои примеры были написаны в МТ4 и там же использовались, Вы почему то не используете все возможности МТ4
эти же примеры будут работать без изменений и в МТ5, под МТ5 не будет только этот пример работать без доработки
ЗЫ: перефразирую статью МТ4 - это больше чем можно представить!
Вас устраивает? мне не нравятся во входных переменных использовать string - в оптимизаторе не работает и
есть вероятность не правильного ввода данных пользователем - это усложняет код и требует дополнительных проверок, вывод
предупреждений и т.п.
Зачем-же вывод предупреждений? Ведь если вместо "09:00" ввели "9" то можно обработать и приравнять к должному времени. Не вижу проблем в
строковых представлениях времени.
Зачем-же вывод предупреждений? Ведь если вместо "09:00" ввели "9" то можно обработать и приравнять к должному времени. Не вижу проблем в
строковых представлениях времени.
как бы обьяснить проблему.... как пример, пользователь забыл отпустить шифт и вместо 4 получил ; - при вводе строки это
без проблем запишется в string - нужно обрабатывать не корректный ввод данных
при вводе цифр input int - терминал не даст ввести ; вместо 4 - эту ситуацию не нужно обрабатывать в ошибках ввода
ЗЫ: но основное - это оптимизатор, код там должен работать я так считаю, иначе вообще в 2 клика проще в исходнике написать время
работы и не нужно ничего изобретать
как бы обьяснить проблему.... как пример, пользователь забыл отпустить шифт и вместо 4 получил ; - при вводе строки
это без проблем запишется в string - нужно обрабатывать не корректный ввод данных
при вводе цифр input int - терминал не даст ввести ; вместо 4 - эту ситуацию не нужно обрабатывать в ошибках ввода
ЗЫ: но основное - это оптимизатор, код там должен работать я так считаю, иначе вообще в 2 клика проще в исходнике написать время
работы и не нужно ничего изобретать
Ну, да. Все причуды дурака предусмотреть невозможно, но надо, на мой взгляд, больше рассчитывать на нормальных пользователей. Хотя мысль
интересная. Надо будет предусмотреть замену таких символов в строковых переменных. И есть всё-же одно преимущество в строковом
представлении времени относительно числового. Это возможность задать время с минутами в одной строке. Например "9:23" или "09:23"
обработка одинаковая.
И есть всё-же одно преимущество в строковом представлении времени относительно числового. Это возможность задать время с минутами
в одной строке. Например "9:23" или "09:23" обработка одинаковая.
вижу только одно преимущество input string перед input int - уменьшение общего кол -ва настроек советника, других преимуществ для
себя не увидел
вижу только одно преимущество input string перед input int - уменьшение общего кол -ва настроек советника, других преимуществ
для себя не увидел
В случае сей темы нет смысла делать отдельные выключатели для каждого часа, что бы можно было оптимизировать в тестере. Если
включать/выключать каждый час времени суток отдельно, получается 2^24 вариантов, а это равно 16777216. Такой количество никто не
будет оптимизировать. Поэтому сделать в данном случае строковую переменную - вполне разумно.
Но вообще, не совсем полезный подход. Лучше сделать 2-3 сессии, у которых задается начало и конец, тогда будет возможность
оптимизировать.
Наверно оптимальным будет сделать один набор переменных int для одной сессии, что бы оптимизировать (две сессии сразу оптимизировать тоже нет
смысла) и строку для возможности ввода любого количества сессий (для поклонников неограниченных возможностей).
Да и лучше задавать не начало и конец сессии, а начало и длительность - это лучше для оптимизации.
вот реализация через строку - нашёл на просторах форексфактори, функция вместе с полноценной торговой панелькой с кнопочками, нахаляву
потому что не моё
Я предпочитаю делать время старта и сколько минут/часов торговать. Тогда не нужно прописывать на неделю все периоды, если допустим делаем
старт в понедельник в 01:00
(5*24*60-90=7110 минут торгуем) и стоп в пятницу 23:30. Хотя
тут конечно на любителя, вариантов вагон.
В случае сей темы нет смысла делать отдельные выключатели для каждого часа, что бы можно было оптимизировать в тестере. Если
включать/выключать каждый час времени суток отдельно, получается 2^24 вариантов, а это равно 16777216. Такой количество
никто не будет оптимизировать. Поэтому сделать в данном случае строковую переменную - вполне разумно.
Но вообще, не совсем полезный подход. Лучше сделать 2-3 сессии, у которых задается начало и конец, тогда будет возможность
оптимизировать.
Наверно оптимальным будет сделать один набор переменных int для одной сессии, что бы оптимизировать (две сессии сразу оптимизировать тоже
нет смысла) и строку для возможности ввода любого количества сессий (для поклонников неограниченных возможностей).
Да и лучше задавать не начало и конец сессии, а начало и длительность - это лучше для оптимизации.
Спасибо. Возьму на вооружение и допилю свой класс.
Я с самого начала указал что надо по МТ4.
все мои примеры были написаны в МТ4 и там же использовались, Вы почему то не используете все возможности МТ4
эти же примеры будут работать без изменений и в МТ5, под МТ5 не будет только этот пример работать без доработки
ЗЫ: перефразирую статью МТ4 - это больше чем можно представить!
Как видите интервала уже 4. И ваш код тут не поможет.
мои все 3 примера масштабируются хоть в 101 интервал временных диапазонов или путем копирования строк инициализации обьектов или путем создания массива экземпляров обьектов, что в первом что во втором случае это занимает 2-3 минуты ;)
Приму любую критику для улучшения работы кода.
Вас устраивает? мне не нравятся во входных переменных использовать string - в оптимизаторе не работает и есть вероятность не правильного ввода данных пользователем - это усложняет код и требует дополнительных проверок, вывод предупреждений и т.п.
Но все равно спасибо за участие.
пожалуйста
все мои примеры были написаны в МТ4 и там же использовались, Вы почему то не используете все возможности МТ4
эти же примеры будут работать без изменений и в МТ5, под МТ5 не будет только этот пример работать без доработки
ЗЫ: перефразирую статью МТ4 - это больше чем можно представить!
Вас устраивает? мне не нравятся во входных переменных использовать string - в оптимизаторе не работает и есть вероятность не правильного ввода данных пользователем - это усложняет код и требует дополнительных проверок, вывод предупреждений и т.п.
Зачем-же вывод предупреждений? Ведь если вместо "09:00" ввели "9" то можно обработать и приравнять к должному времени. Не вижу проблем в строковых представлениях времени.
Зачем-же вывод предупреждений? Ведь если вместо "09:00" ввели "9" то можно обработать и приравнять к должному времени. Не вижу проблем в строковых представлениях времени.
как бы обьяснить проблему.... как пример, пользователь забыл отпустить шифт и вместо 4 получил ; - при вводе строки это без проблем запишется в string - нужно обрабатывать не корректный ввод данных
при вводе цифр input int - терминал не даст ввести ; вместо 4 - эту ситуацию не нужно обрабатывать в ошибках ввода
ЗЫ: но основное - это оптимизатор, код там должен работать я так считаю, иначе вообще в 2 клика проще в исходнике написать время работы и не нужно ничего изобретать
как бы обьяснить проблему.... как пример, пользователь забыл отпустить шифт и вместо 4 получил ; - при вводе строки это без проблем запишется в string - нужно обрабатывать не корректный ввод данных
при вводе цифр input int - терминал не даст ввести ; вместо 4 - эту ситуацию не нужно обрабатывать в ошибках ввода
ЗЫ: но основное - это оптимизатор, код там должен работать я так считаю, иначе вообще в 2 клика проще в исходнике написать время работы и не нужно ничего изобретать
Ну, да. Все причуды дурака предусмотреть невозможно, но надо, на мой взгляд, больше рассчитывать на нормальных пользователей. Хотя мысль интересная. Надо будет предусмотреть замену таких символов в строковых переменных. И есть всё-же одно преимущество в строковом представлении времени относительно числового. Это возможность задать время с минутами в одной строке. Например "9:23" или "09:23" обработка одинаковая.
И есть всё-же одно преимущество в строковом представлении времени относительно числового. Это возможность задать время с минутами в одной строке. Например "9:23" или "09:23" обработка одинаковая.
вижу только одно преимущество input string перед input int - уменьшение общего кол -ва настроек советника, других преимуществ для себя не увидел
вижу только одно преимущество input string перед input int - уменьшение общего кол -ва настроек советника, других преимуществ для себя не увидел
Это на любителя. Спорить не имеет смысла, равно как о фломастерах. На цвет разные, а на вкус одинаковые.
вижу только одно преимущество input string перед input int - уменьшение общего кол -ва настроек советника, других преимуществ для себя не увидел
В случае сей темы нет смысла делать отдельные выключатели для каждого часа, что бы можно было оптимизировать в тестере. Если включать/выключать каждый час времени суток отдельно, получается 2^24 вариантов, а это равно 16777216. Такой количество никто не будет оптимизировать. Поэтому сделать в данном случае строковую переменную - вполне разумно.
Но вообще, не совсем полезный подход. Лучше сделать 2-3 сессии, у которых задается начало и конец, тогда будет возможность оптимизировать.
Наверно оптимальным будет сделать один набор переменных int для одной сессии, что бы оптимизировать (две сессии сразу оптимизировать тоже нет смысла) и строку для возможности ввода любого количества сессий (для поклонников неограниченных возможностей).
Да и лучше задавать не начало и конец сессии, а начало и длительность - это лучше для оптимизации.
вот реализация через строку - нашёл на просторах форексфактори, функция вместе с полноценной торговой панелькой с кнопочками, нахаляву потому что не моё
В случае сей темы нет смысла делать отдельные выключатели для каждого часа, что бы можно было оптимизировать в тестере. Если включать/выключать каждый час времени суток отдельно, получается 2^24 вариантов, а это равно 16777216. Такой количество никто не будет оптимизировать. Поэтому сделать в данном случае строковую переменную - вполне разумно.
Но вообще, не совсем полезный подход. Лучше сделать 2-3 сессии, у которых задается начало и конец, тогда будет возможность оптимизировать.
Наверно оптимальным будет сделать один набор переменных int для одной сессии, что бы оптимизировать (две сессии сразу оптимизировать тоже нет смысла) и строку для возможности ввода любого количества сессий (для поклонников неограниченных возможностей).
Да и лучше задавать не начало и конец сессии, а начало и длительность - это лучше для оптимизации.
Спасибо. Возьму на вооружение и допилю свой класс.