
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Не код.
Спасибо за ваше время,
Мой брокер - Hotforex, и я использую демо-счет MT4 для тестирования своих стратегий. Однако я использую Tick Data Suite для получения 99% точности бэктеста. Вы можете скачать TDS с сайта eareview.net. Он также предлагает двухнедельную пробную версию...
Я загрузил исторические тиковые данные из источника Dukascopy через TDS.
В любом случае, получили ли вы цифры вместо 00? Если да, пожалуйста, сообщите мне, что вы сделали. Важно то, что разные таймфреймы с одним и тем же инструментом хорошо работают с iHigh, iLow,... но цены Ask и Bid работают только для открытого символа графика в движке тестера стратегий (MT4).
В качестве двух альтернатив я попробовал iClose(SecondPair,TimeFrame,0), который должен возвращать цену Bid второй пары. Но он также не работает и возвращает iOpen вместо iClose!
Наконец, лучшим вариантом для моего текущего навыка было использование OHLC свечи 1 1-минутного таймфрейма и пересчет необходимых данных по всем 1-минутным свечам после закрытия последней свечи 4H. Но результат оказался неудовлетворительным...
Если вы получаете что-то вместо 00 во время бэктестинга в тестере стратегий MT4, вы сделали то, что мне нужно. но убедитесь, что у вас есть оба инструмента Ask/Bid в то же время.
Спасибо за ваше время,
Мой брокер - Hotforex, и я использую демо-счет MT4 для тестирования своих стратегий. Однако я использую Tick Data Suite для получения 99% точности бэктеста. Вы можете скачать TDS с сайта eareview.net. Он также предлагает двухнедельную пробную версию...
Я загрузил исторические тиковые данные из источника Dukascopy через TDS.
В любом случае, получили ли вы цифры вместо 00? Если да, пожалуйста, сообщите мне, что вы сделали. Важно то, что разные таймфреймы с одним и тем же инструментом хорошо работают с iHigh, iLow,... но цены Ask и Bid работают только для открытого символа графика в движке тестера стратегий (MT4).
В качестве двух альтернатив я попробовал iClose(SecondPair,TimeFrame,0), который должен возвращать цену Bid второй пары. Но он также не работает и возвращает iOpen вместо iClose!
Наконец, лучшим вариантом для моего текущего навыка было использование OHLC свечи 1 1-минутного таймфрейма и пересчет необходимых данных по всем 1-минутным свечам после закрытия последней свечи 4H. Но результат оказался неудовлетворительным...
Если вы получаете что-то вместо 00 во время бэктестинга в тестере стратегий MT4, вы сделали то, что мне нужно. но убедитесь, что у вас есть оба инструмента Ask/Bid в то же время.
Я провел несколько тестов, и теперь мне ясно, что тестер стратегий MT4 не загружает тиковые данные для символов, отличных от символа графика. Загружены ли тиковые данные других символов через сам MT4, или через TDS, здесь не имеет значения. Функции MarketInfo просто не получат нужные вам значения ask/bid.
Одним из возможных обходных путей является создание собственных функций, подобных MarketInfo, которые будут читать из ваших собственных файлов данных, содержащих тики других символов, а не полагаться на MarketInfo MT4. Потребуется дополнительный подготовительный шаг - получение таких данных во время бэктестинга и запись их в файлы данных, по одному прогону на символ. Таким образом, у вас будет доступ к ценам ask/bid для любого количества других символов.
Я быстро создал два советника, чтобы проверить, работает ли идея с файлом данных - TickFileWrite.mq4 будет записывать тиковые данные в двоичный файл с именем символа (в папке tester\files), а HosseinKOGO.mq4 будет делать то, что вы изначально задумали - читать цены ask/bid других пар во время бэктестинга.
А это часть вывода журнала при бэктесте на GBPAUD, M1:
Конечно, этот тест сделан с использованием исторических тиковых данных MT4, которые имеют точность до секунд. Интересно, а если TDS понизить до миллисекунд?
Я быстро создал два советника, чтобы проверить, работает ли идея с файлом данных - TickFileWrite.mq4 будет записывать тиковые данные в двоичный файл с именем символа (в папке tester\files), а HosseinKOGO.mq4 будет делать то, что вы изначально задумали - читать цены ask/bid других пар во время бэктестинга.
А это часть вывода журнала при бэктесте на GBPAUD, M1:
Конечно, этот тест сделан с использованием исторических тиковых данных MT4, которые имеют точность до секунд. Интересно, а если TDS понизить до миллисекунд?
По поводу двух советников, которые вы написали, я понял, что они делают по вашему объяснению, но я не могу понять, что я должен делать с ними и куда я должен вставить свои вторую, третью или... пары. Если это возможно, пожалуйста, подскажите мне, как их использовать. Я не могу понять код :D
Нет, его точность также составляет секунды. Однако провайдер утверждает, что он генерирует реальные данные тик за тиком. Я сам выбрал его, чтобы иметь более быстрые оценки для моих идей.
Что касается двух советников, которые вы написали, я понял, что они делают, из ваших объяснений, но я не могу понять, что я должен делать с ними и где я должен вставить свои вторую, третью или... пары. Если это возможно, пожалуйста, подскажите мне, как их использовать. Я не могу понять код :D
TickFileWriter.mq4 нужно запускать сначала, каждый раз на дополнительных парах (так что если вы хотите получить доступ к ценам bid/ask для GBPUSD, AUDCAD, USDJPY, например, то вы запустите тестер стратегии для этого советника 3 раза, каждый раз с каждой из 3 пар, с тиковыми данными).
Затем вставьте дополнительные пары сюда (эти строки находятся в верхней части файла HosseinKOGO.mq4):
Затем запускаете тестер стратегий на HosseinKOGO.mq4, и на графике GBPAUD M1. Затем посмотрите в журнале распечатки... проверьте, действительно ли это то, что вы хотели. Как только вы подтвердите, я помогу "украсить" коды так, чтобы у вас был один вызов функции для получения данных - один и тот же вызов функции для всех пар (т.е. GBPAUD в том числе) и будет также работать прозрачно, когда вы будете работать в реальном времени позже.
TickFileWriter.mq4 нужно запускать сначала, каждый раз на дополнительных парах (так что если вы хотите получить доступ к ценам bid/ask для GBPUSD, AUDCAD, USDJPY, например, то вы запустите тестер стратегии для этого советника 3 раза, каждый раз с каждой из 3 пар, с тиковыми данными).
Затем вставьте дополнительные пары сюда (эти строки находятся в верхней части файла HosseinKOGO.mq4):
Затем запускаете тестер стратегий на HosseinKOGO.mq4, и на графике GBPAUD M1. Затем посмотрите в журнале распечатки... проверьте, действительно ли это то, что вы хотели. Как только вы подтвердите, я помогу "украсить" коды так, чтобы у вас был один вызов функции для получения данных - один и тот же вызов функции для всех пар (т.е. GBPAUD в том числе), а также будет работать прозрачно, когда вы будете работать в реальном времени позже.
ДА!
Они там ^^
Но я не знаю, являются ли возвращаемые Ask и Bid правильными и точными или нет, поскольку я не смог понять код. Думаю, вы лучше знаете результат. Молодец!
ДА!
Они есть ^^
Но я не знаю, являются ли возвращаемые Ask и Bid правильными и точными или нет, поскольку я не смог понять код. Думаю, вы лучше знаете результат. Молодец!
Это GBPAUD H4 3.12.2018 целый день! И в этот раз я не стал прыгать до конца.
Может ли функция печати терять некоторые отчеты, когда их слишком много?
Я предполагаю, что другая проблема может быть связана с тем, что тики этих трех инструментов выходят в разные миллисекунды, поэтому, когда мы используем функцию start/OnTick на GBPAUD, она просто выполняет функцию запуска всякий раз, когда выходит тик GBPAUD. И я предполагаю, что ваш код может сказать, чтобы вернуть все эти 3 цены пар, когда ни одна из них не равна 0. Если это так, он возвращается всякий раз, когда все цены спроса / предложения всех инструментов выходят в одно и то же точное время.