OnTick(), OnTester(), OnTesterPass() - пожалуйста объясните простыми словами что использовать: 1. в Тестере в режиме Визуализации 2. в реальной торговле Советника - OnTick() ? 3. при оптимизации
Почему не оставили так как было в МТ4? Как на практике со всем этим работать? - один код в тестере, другой в реале, третий в оптимизациях?
Maxim121285 #: У меня в OnStart(); всё хорошо работает.
Я не написал, но подразумевал их в Советнике. В Советнике OnStart() не работает, а OnTick() или OnTester() - пока разницы не заметил. Но я пока дебагирую код, пытаюсь переделать из mql4 в mql5, так что он еще в нерабочем состоянии, за исключением нескольких функций.
Когда тестирую с Визуализацией, открывается новое окно в котором и производится тестирование. В коде есть функция, которая рисует Label. Пытаюсь вручную изменить свойства этого объекта (сдвинуть по горизонтальной/вертикальной осям, привязать к другим углам и т.п.), но ничего не происходит. Вручную сдвинуть его также не получается. Т.е. Label остается там же где и был изначально создан кодом.
Можно ли в Тестере МТ5, в режиме с Визуализацией, пользоваться графическими объектами?
grezky #: Когда тестирую с Визуализацией, открывается новое окно в котором и производится тестирование. В коде есть функция, которая рисует Label. Пытаюсь вручную изменить свойства этого объекта (сдвинуть по горизонтальной/вертикальной осям, привязать к другим углам и т.п.), но ничего не происходит. Вручную сдвинуть его также не получается. Т.е. Label остается там же где и был изначально создан кодом.
Можно ли в Тестере МТ5, в режиме с Визуализацией, пользоваться графическими объектами?
Добрый день. В тестере стратегий MQL5 отложенные ордера Buy Stop иногда срабатывают на покупку, когда график и близко к ним снизу не подошёл. Понятно, что на графике bid, но всё же смотришь на свечу этой минуты и её данные - даже от максимума до цены ордера почти 40 пунктов! Это при том, что спред я вроде как задал вручную, 1 (один) пункт. Естественно результаты такого тестирования - сверхчастые срабатывания стоп-лоссов, причём потери-то как раз полномасштабные, в соответствии с ценой открытия, хотя оно вроде как преждевременное. Да и вообще на первый взгляд такого быть не должно: на демо-счёте Альфа-форекса, к примеру, ордера открываются не за 40 пунктов, а согласно спреду, либо, при диких скачках, иногда не открывается вообще, но лучше уж не открывать, чем открывать с погрешностью в десятки пунктов.
На первый взгляд одно из двух - или я как-то хреново задал условия тестирования, или тестер косячит. Но что там можно не так задать? Спред специально задал почти нулевой, а тестер это не выполнил. Причём не единожды, а многократно на протяжении периода тестирования. Возможно, кто подскажет, в чём тут дело? Может, спред где-то ещё задаётся, а не там, где значок бакса на тестере? Или где-то надо какую-нибудь галку поставить, чтобы запретить тестеру самодеятельность, и чтобы он следовал условиям? Тыкал вроде разные режимы, ничто на это не влияет. То, что на демо-счёте не так, вселяет с одной стороны надежду, что в реальности такого не будет. Но можно ли и тестер вежливо попросить так не делать? Ведь результаты такого тестирования, на первый взгляд, не отражают реальности. Спасибо.
"Разница между ценами Bid и Ask называется спредом. При тестировании спред не моделируется, а берется из исторических данных. Если в исторических данных спред меньше или равен нулю, то используется текущий спред на момент запроса информации со стороны тестерного агента.
time0 и time1 - это время начало и конца прямоугольника. Все работает отлично до момента, когда прямоугольник затрагивает выходные дни. Ошибка возникает в следующим: Код рассчитывает дату следующим образом: 26-23=Временной диапазон. А в MetaTrader 25 числа(Выходной) нет и получается, что нужно делать расчет как-то по-другому. Буду очень признателен, если вы подскажите, как это исправить!
Sergei Gurov #: Здравствуйте! Я хотел бы узнать какое количество баров занимает прямоугольник созданный мной(пользователем) через mql5. Делал я это следующим образом:
time0 и time1 - это время начало и конца прямоугольника. Все работает отлично до момента, когда прямоугольник создается в выходные дни. Ошибка возникает в следующим: Код рассчитывает дату следующим образом: 26-23=Временной диапазон. А в MetaTrader 25 числа(Выходной) нет и получается, что нужно делать расчет как-то по-другому. Буду очень признателен, если вы подскажите, как это исправить!
Проверяйте день недели. Если выходной, то плюс сутки и опять проверка, потому, что может быть суббота а потом не понедельник. С праздничными днями сложней. Они непредсказуемы программно.
Проверяйте день недели. Если выходной, то плюс сутки и опять проверка, потому, что может быть суббота а потом не понедельник. С праздничными днями сложней. Они непредсказуемы программно.
А может есть какой-либо другой способ, как можно узнать количество баров занимаемых в прямоугольником?
События
OnTick(), OnTester(), OnTesterPass() - пожалуйста объясните простыми словами что использовать:
1. в Тестере в режиме Визуализации
2. в реальной торговле Советника - OnTick() ?
3. при оптимизации
Как на практике со всем этим работать? - один код в тестере, другой в реале, третий в оптимизациях?
У меня в OnStart(); всё хорошо работает.
У меня в OnStart(); всё хорошо работает.
Я не написал, но подразумевал их в Советнике.
В Советнике OnStart() не работает, а OnTick() или OnTester() - пока разницы не заметил.
Но я пока дебагирую код, пытаюсь переделать из mql4 в mql5, так что он еще в нерабочем состоянии, за исключением нескольких функций.
В коде есть функция, которая рисует Label. Пытаюсь вручную изменить свойства этого объекта (сдвинуть по горизонтальной/вертикальной осям, привязать к другим углам и т.п.), но ничего не происходит. Вручную сдвинуть его также не получается.
Т.е. Label остается там же где и был изначально создан кодом.
Можно ли в Тестере МТ5, в режиме с Визуализацией, пользоваться графическими объектами?
Когда тестирую с Визуализацией, открывается новое окно в котором и производится тестирование.
В коде есть функция, которая рисует Label. Пытаюсь вручную изменить свойства этого объекта (сдвинуть по горизонтальной/вертикальной осям, привязать к другим углам и т.п.), но ничего не происходит. Вручную сдвинуть его также не получается.
Т.е. Label остается там же где и был изначально создан кодом.
Можно ли в Тестере МТ5, в режиме с Визуализацией, пользоваться графическими объектами?
Вручную нельзя.
time0 и time1 - это время начало и конца прямоугольника. Все работает отлично до момента, когда прямоугольник затрагивает выходные дни. Ошибка возникает в следующим: Код рассчитывает дату следующим образом: 26-23=Временной диапазон.
А в MetaTrader 25 числа(Выходной) нет и получается, что нужно делать расчет как-то по-другому. Буду очень признателен, если вы подскажите, как это исправить!
Здравствуйте! Я хотел бы узнать какое количество баров занимает прямоугольник созданный мной(пользователем) через mql5. Делал я это следующим образом:
time0 и time1 - это время начало и конца прямоугольника. Все работает отлично до момента, когда прямоугольник создается в выходные дни. Ошибка возникает в следующим: Код рассчитывает дату следующим образом: 26-23=Временной диапазон.
А в MetaTrader 25 числа(Выходной) нет и получается, что нужно делать расчет как-то по-другому. Буду очень признателен, если вы подскажите, как это исправить!
Проверяйте день недели. Если выходной, то плюс сутки и опять проверка, потому, что может быть суббота а потом не понедельник. С праздничными днями сложней. Они непредсказуемы программно.
Проверяйте день недели. Если выходной, то плюс сутки и опять проверка, потому, что может быть суббота а потом не понедельник. С праздничными днями сложней. Они непредсказуемы программно.
А может есть какой-либо другой способ, как можно узнать количество баров занимаемых в прямоугольником?