Скрипты: Конвертирование реальных тиковых данных в FXT-файлы тестера стратегий - страница 6
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Пока непонятно, в чем проблема. Опишите последовательность действий, которые совершаете.
Я хочу загрузить историю из файла TKS. Если я скажу 1000 свечей, то это должно создать 1000 свечей истории из файла tks, а затем заполнить остальные как галочки. В настоящее время скрипт использует историю 1000 свечей от МТ4. Что не правильно, если я скажу. Я хочу полностью использовать тики MT5 в тестере стратегий. Даже если свечи должны быть из MT5. Можете ли вы помочь мне сейчас?
Я хочу загрузить историю из файла TKS. Если я скажу 1000 свечей, то это должно создать 1000 свечей истории из файла tks, а затем заполнить остальные как галочки. В настоящее время скрипт использует историю 1000 свечей от МТ4. Что не правильно, если я скажу. Я хочу полностью использовать тики MT5 в тестере стратегий. Даже если свечи должны быть из MT5. Можете ли вы помочь мне сейчас?
Тогда Вам нужно изменить под свои нужды функцию IsPreviousHistoryWrite().
Но есть более простой путь: игнорировать те бары, которые создаются по реальной истории символа и начинать обработку данных в тестируемом эксперте/индикаторе с того момента, когда наберется достаточное количество истории, сгенерированной на реальных тиках. Делается это очень просто (вставить в самое начало OnTick() или OnCalculate()):
Тогда Вам нужно изменить под свои нужды функцию IsPreviousHistoryWrite().
Но есть более простой путь: игнорировать те бары, которые создаются по реальной истории символа и начинать обработку данных в тестируемом эксперте/индикаторе с того момента, когда наберется достаточное количество истории, сгенерированной на реальных тиках. Делается это очень просто (вставить в самое начало OnTick() или OnCalculate()):
Большое спасибо .. Но я не проверял своего эксперта / индикатора. Но с рынка. Так что я могу видеть, какой из них лучше для меня. Некоторым нужна история, чтобы начать, и, следовательно, подумывал генерировать ее только через MT5. Ваша первая идея - это то, что мне нужно сделать.
Привет, Игорь Герасько ,
Я пытался внести изменения. Но это не делает действительный файл. Пожалуйста, вы можете помочь?
Привет, Игорь Герасько ,
Я пытался внести изменения. Но это не делает действительный файл. Пожалуйста, вы можете помочь?
К сожалению, это не так просто, как кажется. Для создания FXT-файла приходится изрядно попотеть, т. к. причин отбраковки файлов тестер не пишет. Приходится строить все на догадках.
К тому же для такой модификации, которую Вы хотите получить, нужно продумать новую структуру скрипта. Так, сначала потребуется проверить, есть ли в тиковом файле тики, достаточные для построения предыдущих баров (назовем их "исторические бары"). Затем найти тик, который будет первым тиком стартового исторического бара. И уже от него создавать исторические бары до даты начала теста. Всего этого я не вижу в приведенном коде. Есть только чтение файла и построение заданного количества баров. А тот факт, что это могут быть бары после даты начала тестирования, нигде не проверяется.
К сожалению, это не так просто, как кажется. Для создания FXT-файла приходится изрядно попотеть, т. к. причин отбраковки файлов тестер не пишет. Приходится строить все на догадках.
К тому же для такой модификации, которую Вы хотите получить, нужно продумать новую структуру скрипта. Так, сначала потребуется проверить, есть ли в тиковом файле тики, достаточные для построения предыдущих баров (назовем их "исторические бары"). Затем найти тик, который будет первым тиком стартового исторического бара. И уже от него создавать исторические бары до даты начала теста. Всего этого я не вижу в приведенном коде. Есть только чтение файла и построение заданного количества баров. А тот факт, что это могут быть бары после даты начала тестирования, нигде не проверяется.
Спасибо за ваш добрый ответ. Я поделился полным файлом .. Если хотите, поделитесь моим файлом EURUSD.tks и сообщу вам, где он начинается и заканчивается.
Спасибо за ваш добрый ответ. Я поделился полным файлом .. Если хотите, поделитесь моим файлом EURUSD.tks и сообщу вам, где он начинается и заканчивается.
Какой-либо эталонный тиковый файл не нужен. Мы ведь обсуждаем работу с любым тиковым файлом.
В текущей реализации скрипт проверяет дату начала и дату окончания тиковых данных, сравнивая их с датами начала и окончания тестирования, заданных пользователем в параметрах скрипта. Теперь же, когда требуется построить исторические бары на основании тиков, необходимо добавить проверку достаточности тиков ранее даты начала тестирования. Сложность заключается в том, что трудно вычислить время начала первого исторического бара. Ведь где-то нужно раздобыть данные о том, когда котировки должны были быть, но их нет в тиковом файле (дыра в тиковом файле), а когда котировок действительно не было и, следовательно, в тиковом файле такие данные искать не нужно. Вроде бы напрашивается решение о сравнении с теми данными, которые есть в hst-файлах, но тут же возникает две дополнительные сложности:
Какой-либо эталонный тиковый файл не нужен. Мы ведь обсуждаем работу с любым тиковым файлом.
В текущей реализации скрипт проверяет дату начала и дату окончания тиковых данных, сравнивая их с датами начала и окончания тестирования, заданных пользователем в параметрах скрипта. Теперь же, когда требуется построить исторические бары на основании тиков, необходимо добавить проверку достаточности тиков ранее даты начала тестирования. Сложность заключается в том, что трудно вычислить время начала первого исторического бара. Ведь где-то нужно раздобыть данные о том, когда котировки должны были быть, но их нет в тиковом файле (дыра в тиковом файле), а когда котировок действительно не было и, следовательно, в тиковом файле такие данные искать не нужно. Вроде бы напрашивается решение о сравнении с теми данными, которые есть в hst-файлах, но тут же возникает две дополнительные сложности:
Я не понял, что вы хотите сказать. Я поделился файлом с вами. Это тот же код, что и у вас, но с моим маленьким тиком. Я надеюсь, что вы можете помочь мне, если я допустил ошибку. Пожалуйста, попробуйте один раз, если у вас есть время.
Я не понял, что вы хотите сказать. Я поделился файлом с вами. Это тот же код, что и у вас, но с моим маленьким тиком. Я надеюсь, что вы можете помочь мне, если я допустил ошибку. Пожалуйста, попробуйте один раз, если у вас есть время.
Дело не в ошибке, а в том, что для решения Вашей задачи еще много, чего нужно продумать (я описал некоторые моменты выше). В приведенном Вами коде ни один из этих моментов не учтен.
Я бы занялся этой проблемой, если бы задача была действительно насущной. Но я ее считаю надуманной. Тем более у нее есть простое решение.