- [Архив!] FOREX - Тенденции, прогнозы и следствия (Эпизод № 23: Март 2013) Продолжение следует...
- "Деревья не растут до небес"
- Обсуждение статьи "Улучшаем работу с Панелями: добавляем прозрачность, меняем цвет фона и наследуемся от CAppDialog/CWndClient"
Можно ли создать такую возможность, чтобы перетаскивать SL и TP на графике во время тестирования?
Только виртуальные - горизонтальными линиями.
А мне кажется можно. Я примерно представляю возможный вариант, но надо пробовать и проверять. К примеру установку ордеров при тестировании методом перетаскивания скрипта в нужную точку графика я уже использую при тестировании. Думаю надо использовать событие нажатие мыши CHARTEVENT_CLICK для запуска скрипта в котором считывать координаты мыши и использовать эти данные для модификации ордера.
В тестере OnChartEvent не работает. Но есть мысли, как это сделать.
Я тут выкидывал в блог свой проект по торговле в тестере, могу попробовать добавить модификацию СЛ и ТП. Вопрос в том, как указать,для какого ордера выставляем тейки и стопы? Сначала мышкой кликать на линии ордера?
В тестере OnChartEvent не работает. Но есть мысли, как это сделать.
Я тут выкидывал в блог свой проект по торговле в тестере, могу попробовать добавить модификацию СЛ и ТП. Вопрос в том, как указать,для какого ордера выставляем тейки и стопы? Сначала мышкой кликать на линии ордера?
Посмотрите реализацию как распознать к какой позиции принадлежит ордер. Исходник по понятным причинам не выкладываю, но суть и без него понятна. Положить в папку "эксперты"
В тестере OnChartEvent не работает. Но есть мысли, как это сделать.
Я тут выкидывал в блог свой проект по торговле в тестере, могу попробовать добавить модификацию СЛ и ТП. Вопрос в том, как указать,для какого ордера выставляем тейки и стопы? Сначала мышкой кликать на линии ордера?
Как это не работает. У меня кнопки на графике в тестере управляют работой эксперта для ручной торговли. Событие нажатие кнопки использует OnChartEvent. В визуальном режиме тестирую стратегии.
Да. "При тестировании в эксперте можно обрабатывать пользовательские события с помощью функции OnChartEvent(), но в индикаторах эта функция в тестере не вызывается. Даже если индикатор имеет обработчик OnChartEvent() и этот индикатор используется в тестируемом эксперте, то сам индикатор не будет получать никаких пользовательских событий."
- www.mql5.com
Как это не работает. У меня кнопки на графике в тестере управляют работой эксперта для ручной торговли. Событие нажатие кнопки использует OnChartEvent. В визуальном режиме тестирую стратегии.
У вас эксперт для МТ4 или МТ5?
МТ4. В МТ5 не торгую.
Ок, завтра проверю еще раз. Посмотрел в справке 950 билд, все ограничения как были, так и остались.
----------------------------------------- из help VN4 950 build ----------------
Справочник MQL4 / Программы MQL4 / Особенности работы программ в тестере стратегий
Обработка событий в тестере
В тестере стратегий реализована обработка следующих событий: инициализация советника перед одиночным прогоном OnInit(), деинициализация советника после одиночного прогона OnDeInit(), моделирование нового тика OnTick().
Кроме того, по окончании тестирования эксперта на исторических данных перед вызовом функции деинициализации OnDeInit() генерируется событие Tester, обработка которого осуществляется в функции OnTester(). Значение, возвращаемое данной функцией, используется в качестве критерия Custom max при оптимизации входных параметров.
Обработка событий Timer и ChartEvent в тестере стратегий не поддерживается.
---------------------------------------
У меня для тестера сделан отдельный режим, я мониторю состояния кнопок по OnTick.
Ок, завтра проверю еще раз. Посмотрел в справке 950 билд, все ограничения как были, так и остались.
----------------------------------------- из help VN4 950 build ----------------
Справочник MQL4 / Программы MQL4 / Особенности работы программ в тестере стратегий
Обработка событий в тестере
В тестере стратегий реализована обработка следующих событий: инициализация советника перед одиночным прогоном OnInit(), деинициализация советника после одиночного прогона OnDeInit(), моделирование нового тика OnTick().
Кроме того, по окончании тестирования эксперта на исторических данных перед вызовом функции деинициализации OnDeInit() генерируется событие Tester, обработка которого осуществляется в функции OnTester(). Значение, возвращаемое данной функцией, используется в качестве критерия Custom max при оптимизации входных параметров.
Обработка событий Timer и ChartEvent в тестере стратегий не поддерживается.
---------------------------------------
У меня для тестера сделан отдельный режим, я мониторю состояния кнопок по OnTick.
Много чего не соответствует справке. При тестировании к примеру из советника таймсерии других ТФ читаются нормально, а при вызове из индикатора выдают значения, которые у них были на момент запуска теста. Не знаю, может я что-то не так понимаю с этими событиями, так как я не профессиональный прогер. Но у меня при нажатии кнопки глобальной переменной терминала присваивается определённый код, в советнике код дешифрируется и используется для той или иной операции. И это работает совершенно одинаково, что в тестере, что в реале. Кнопки у меня сделаны в индикаторе, хотя наверно можно было сделать и непосредственно в советнике. В индикаторе удобней, так как не надо в каждом советнике создавать кнопки, достаточно одного индикатора.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования