Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Потому, что индикаторы расчитываются на определенное количество баров назад. При наличии пропусков - понятно, что те же MA могут в различные моменты времени быть расчитаны на различные периоды ВРЕМЕНИ назад. Т.е. вычисляя MA(9) - подразумевается, что MA считаем по 9 последним периодам времени. А при наличии пропусков мы получим (по факту) то MA(10), то MA(20).
Почему? И на графиках ALL* тоже?
Я специально уточнил: на графиках, генерируемых экспертом AllMinutes тоже неправильно?
Правильно настолько, насколько могут быть правильными индикаторы на придуманных данных :) По любому, правильнее, чем на данных с пропусками, но все же :(
Вопрос с ПРИЧИНОЙ пропуска все равно открыт.
Как вариант - постоянная проверка IsConnected().
Кроме того, если баров не было из-за потери связи, при её возобновлении они должны докачаться.
Правда, такую ситуацию я не тестировал, и не знаю, как поведёт себя "заполнитель дыр".
Единственный вариант решения вопроса, который я вижу - это подтверждение НЕИЗМЕННОСТИ цены со стороны сервера.
А если подтверждение о неизменности потеряется так же, как сейчас может потеряться пинг?
Опрос доступности сервера, насколько я понимаю, происходит постоянно. И разницы между обычной проверкой состояния соединения и запросом неизменившейся цены - ни какой.
Имхо, конечно.
Единственный вариант решения вопроса, который я вижу - это подтверждение НЕИЗМЕННОСТИ цены со стороны сервера.
А если подтверждение о неизменности потеряется так же, как сейчас может потеряться пинг?
Опрос доступности сервера, насколько я понимаю, происходит постоянно. И разницы между обычной проверкой состояния соединения и запросом неизменившейся цены - ни какой.
Имхо, конечно.
А на генерацию тиковых данных эта заполнение никак не отразиться?
Только для этого кроме изменения имени файла надо изменить имя символа в заголовке файла.
Для этого в эксперте AllMinutes надо везде, где строка "ALL" соединяется со строкой _Symbol[curChart] (имя символа), оставить только _Symbol[curChart].
Будьте внимательны, иногда они объединяются функцией StringConcatenate(), тогда, если аргумена у функции всего 2, её использовать вообще не надо. Например, вместо
должно быть
Но если аргументов больше, функцию надо оставить, просто удалив из неё "ALL". Например, вместо
должно быть
Кроме того, график соответствующего символа и периода должен быть закрыт. Иначе МТ сам скачает "правильные" (на залатанные) котировки.
А вообще, как по мне, такое тестирование не имеет смысла =)
Лучше тестировать на стандартном инструменте, а индикаторы считать по ALL-графикам. Для этого достаточно сгенерировать необходимые графики, открыть их в режиме офф-лайн, и при расчёте индикаторов первым аргументом указывать StringConcatenate( "ALL", Symbol() )
Удачи ;)
[Quote]Пробовал переименовывать имя файла заполненной истории и подсовывать вместо неполной - вообще не хочет генерировать тики в тестере. Там наверное формат файла другой, так что наверное для бэктеста не покатил, только в реалтайме сгодиться. [/Quote]
А я просто импортировал котировки из ALL... да и всё... :)
Скажи, komposter, а можно ли таким образом засунуть в тестер реальные тиковые котировки? Вроде как ребята с MetaQuotes говорили что можно. ..
Из залатанных минуток сконвертировал все остальные таймфреймы, удалил все .fxt. Тестирую, модель "Все тики". Жму галку "пересчитать". На таймфрейме М1 все окейно, минутка к минутке... А вот на М15, например, опять пропуски минуток... Вопрос: откуда этот гад (тестер) берет минутки? Есть подозрение, что он все по тому же алгоритму просто напросто игнорирует минутки у которых OHLC одинаковы... Вопрос: зачем тогда нужно лотание дыр?