Импорт данных и виртуальный тестер (разработка)

 

Вдохновленный темой здесь, я считаю, что MT5 со всей его мощью не хватает некоторых жизнеспособных опций. Это не тема о том, почему MetaQuotes не дал мне. А скорее о том, как я могу найти решение этой проблемы. Похоже, что контроль над тиковыми данными и рыночной информацией не будет реализован в нашем поколении метатрейдеров. Так почему же это важно? Ниже я приведу несколько причин.

1) У моего брокера средние спреды по EURJPY, например, намного ниже, чем у default-data, как я могу тестировать с этими средними спредами и наоборот? Брокер не mt5.

2) Моя система разработана для колеблющихся рынков, как бы моя система справилась с длительным трендовым рынком. Достаточно ли хорош мой алгоритм, чтобы удержать его вне фазы? И наоборот для тренда.

3) Я считаю, что рынки случайны, как мне протестировать эту систему на случайных данных и сравнить результаты с реальными данными?

4) Мой брокер/продавец ... дал/продал мне тонны высококачественных данных, но у них нет сервера mt5, как я могу получить их в mt5 для проведения обратных тестов?

5) Я верю в реальные тики, а не в тики, сгенерированные алгоритмом. Я сохранил свои тики за последние x лет и предпочел бы использовать их, какие у меня есть варианты?

6) Я хочу уверенности и лучшего контроля над Environment[market-info] и Data[price|time|spreads], что мне делать?

У меня было больше причин, но сейчас я не могу вспомнить их все. Надеюсь услышать ваши доводы :)

 

Цель:

Я считаю, что цель должна быть простой. А простая цель, которую я имею в виду - это заставить тестер стратегий mt5 использовать данные в формате .csv | .hst. Все остальные прелести могут прийти позже.

Я считаю, что первой фазой обсуждения должен быть вопрос "жизнеспособно ли это". Очевидный вопрос здесь "почему именно mt5". Как я уже говорил, он более мощный, чем его предшественник. Большинство из нас [кому не все равно], сильно вложились в язык mql*. Кроме того, обсуждение других платформ не очень хорошо пройдет на этом сайте. И, наконец, повторное изобретение колеса не обсуждается.

Поэтому я ищу идеи, чтобы включить как можно больше из того, что у нас есть. Так что давайте выслушаем эти светлые идеи, люди!

1> Я думаю, что если эти EMULATION_MODES можно будет полностью использовать в бэк-тестере, это сделает все возможным. Кроме того, возможность Sleep в бэктестере также была бы полезным инструментом. Я все еще исследую это и смотрю на текущие виртуальные вещи, которые уже разработаны. Извините, если кажется, что я не знаю своего дела, но на эту тему есть спрос, и поэтому мне нужны вы, ребята. Будьте здоровы.

 
Ubzen:

Цель:

Я считаю, что цель должна быть простой. А простая цель, которую я имею в виду - это заставить тестер стратегий mt5 использовать данные в формате .csv | .hst. Все остальные прелести могут прийти позже.

Я считаю, что первой фазой обсуждения должен быть вопрос "жизнеспособно ли это". Очевидный вопрос здесь "почему именно mt5". Как я уже говорил, он более мощный, чем его предшественник. Большинство из нас [кому не все равно], сильно вложились в язык mql*. Кроме того, обсуждение других платформ не очень хорошо пройдет на этом сайте. И, наконец, повторное изобретение колеса не обсуждается.

Поэтому я ищу идеи, чтобы включить как можно больше из того, что у нас есть. Так что давайте выслушаем эти светлые идеи, люди!

1> Я думаю, что если эти EMULATION_MODES можно будет полностью использовать в бэк-тестере, это сделает все возможным. Кроме того, возможность Sleep в бэктестере также была бы полезным инструментом. Я все еще исследую это и смотрю на текущие виртуальные вещи, которые уже разработаны. Извините, если кажется, что я не знаю своего дела, но на эту тему есть спрос, и поэтому мне нужны вы, ребята. Будьте здоровы.

Пожалуйста, имейте в виду, что тестер стратегий все еще, насколько я могу судить, находится в стадии разработки. Я на собственном опыте убедился, что некоторые вещи просто не работают, многие типы объектов поддерживаются, но вы не можете щелкнуть правой кнопкой мыши на графике и увидеть список объектов, поэтому будьте немного осторожны при разработке решения, то, что вы разработаете, может не поддерживаться. Если, например, вы создали некоторые продукты для рынка, которые полагались на объекты-кнопки или ChartGetInteger() с CHART_FIRST_VISIBLE_BAR, CHART_VISIBLE_BARS, CHART_WIDTH_IN_PIXELS и CHART_HEIGHT_IN_PIXELS, то у вас были бы продукты, которые нельзя было бы попробовать в качестве демонстрационных продуктов, поскольку эти функции/функции не работают в тестере стратегий.

Что еще не работает в тестере стратегий?

Что нам действительно нужно, так это чтобы Metaquotes разработала локальное приложение History Data Server. Оно не только управляло бы хранящимися данными истории, но и позволяло бы нам создавать собственные символы, настраивая свойства символов... обратное тестирование с автономными графиками было бы простым.

Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Symbol Properties
Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Symbol Properties
  • www.mql5.com
Standard Constants, Enumerations and Structures / Environment State / Symbol Properties - Documentation on MQL5
 
Ubzen:

Цель:

Я считаю, что цель должна быть простой. А простая цель, которую я имею в виду - это заставить тестер стратегий mt5 использовать данные в формате .csv | .hst. Все остальные плюсы могут прийти позже.

...

Как это может быть возможно? У нас нет никакого контроля над тестером стратегий. У нас есть только 2 варианта, я думаю:

  1. Использовать тестер стратегий как есть, и пытаться работать над данными. ST использует .hcs файл, структура которого на данный момент неизвестна AFAIK. Возможно ли заменить этот файл на свой собственный и получить какие-то результаты?
  2. Использовать виртуальный тестер стратегий, над которым мы имеем полный контроль. Это означает больше работы , но и больше независимости, в то время как больше не зависит отизменений формата hcs ,например.

Мы можем исследовать эти два варианта. Моя идея была больше на втором.

 

Написание полноценной системы - задача не из простых, но это вполне достижимая цель.

Однако, как только вы начнете писать такую систему, вы будете тратить свое время на разработку этой системы, а не на торговлю или разработку торговых систем. Потому что объем работы бесконечен.

Главное решение, которое необходимо принять, - это решение построить свою собственную систему. Вы должны полностью перейти за пределы MT5, иначе вам всегда и постоянно придется идти на какие-то компромиссы и писать двойной код (как это происходит сейчас для MT4-MT5). Кроме того, некоторые замечательные вещи, такие как агенты тестера стратегий, не так просто реализовать.

Есть, по крайней мере, один уже существующий фреймворк, поэтому следует использовать что-то подобное.

Let me google that for you
Let me google that for you
  • bit.ly
Let Me Google That For You
 
graziani:

Написание полной системы - задача не из простых, но это вполне достижимая цель.

Мне интересно понять, как вы собираетесь заставить ее работать с советниками и индикаторами, закодированными в mql5?
 
RaptorUK:
Мне интересно понять, как вы собираетесь заставить его работать с mql5 кодированными советниками и индикаторами?

вы не можете. вы должны перейти от MT5. все будущие советники/индикаторы пишутся вне MT4/MT5, затем вы используете MT4/MT5 как поставщика тикового потока и для исполнения ордеров.

Для целей бэктестинга можно переделать формат базы данных ( запрещено, но выполнимо), и заменить M1 на S1 (одна секунда, не один тик) записи, а затем просто прогнать историю M1 в ST. но я не вижу в этом смысла, потому что для живого потока нужно писать совершенно другой советник, который должен использовать внутренние индикаторы, так как он должен обрабатывать собранный тиковый поток, а не массивы истории.

Я имел в виду, что, начав такой проект, вы сосредоточитесь на создании еще одного "MT4/5", а не на торговле.

 
graziani:

вы не можете. вы должны перейти от MT5. все будущие советники/индикаторы пишутся вне MT4/MT5, затем вы используете MT4/MT5 как поставщика тикового потока и для исполнения ордеров.

Для целей бэктестинга можно переделать формат базы данных ( запрещено, но выполнимо), и заменить M1 на S1 (одна секунда, не один тик) записи, а затем просто прогнать историю M1 в ST. но я не вижу в этом смысла, потому что для живого потока нужно писать совершенно другой советник, который должен использовать внутренние индикаторы, так как он должен обрабатывать собранный тиковый поток, а не массивы истории.

Я имел в виду, что, начав такой проект, вы сосредоточитесь на создании еще одного "MT4/5", а не на торговле.

Спасибо за ответ, я думал, что понял, что вы предлагаете, я просто хотел, чтобы вы были ясны, и вы были ясны.

 

@RaptorUK: Спасибо, я понимаю, что все может не поддерживаться. Я не знаю всего, что не работает в тестере стратегий. Я не делаю продукт для рынка. У тех, кто делает продукты, есть свои собственные проблемы. Они могут либо модифицировать коды, которые мы делаем, либо ждать Mq. Mq не участвует в этих обсуждениях (игнорирует нас), я больше не прошу их ни о чем.

@angevoyageur: Я согласен, что нам нужно что-то вроде варианта#2. Я не против сделать немного больше работы для большей независимости. То, что мы придумаем, должно быть легко принято и одобрено. Иначе вся работа будет напрасной. Я не думаю, что мы сможем сделать это так просто, как : [код вашей ea в mql5] [запускаем тестер стратегий] [и виртуальный тестер стратегий начинает работать]. Однако, мы могли бы использовать замену для уже существующих функций, поставив 'v' перед именем функции.

@graziani: Как насчет этого для простоты. FileRead( my.csv ); FileRead( my.market.info ). Замените вашу Marketinfo() на vMarketInfo(). Рисуйте объекты по мере движения тестера стратегий. Сделайте отчет.......Done. :), Так что вы думаете? Легче сказать, чем сделать, верно?

Переход за пределы mt4 или mt5 не сработает, потому что я пытаюсь заручиться поддержкой таких же кодеров, как и я, переходящих с mql4-mql5. Для того чтобы поддерживать мотивацию в таких проектах, нужна успешная адаптация другими, хотя бы для целей тестирования|bug-reporting. Мне нравятся Агенты и Оптимизаторы, я надеялся, что кто-нибудь скажет, что это легко реализовать (вот как) :(. Давайте посмотрим правде в глаза, все возможности mt4/mt5 не будут поддерживаться первой версией этого VST.

Поддержка данных, рыночной информации, рыночного исполнения, мультивалютности и простой отчетности - вот что необходимо на данный момент. Чем больше людей смогут добровольно участвовать в этом проекте, тем успешнее он будет. Если проект перейдет за пределы mt, нам придется создать все вышеперечисленное + множество других вещей, которые мы никогда не рассматривали раньше.

Я очень надеялся, что мы сможем использовать готовые коды mql5. Если никто не предложит способ сделать это angevoyageur#1, то мы перейдем к angevoyageur#2.

 
RaptorUK:

Спасибо за ответ, я думал, что понял, что вы хотели сказать, я просто хотел, чтобы вы пояснили, и вы это сделали.


Нет вопроса о том, чтобы делать что-то вне MT5. Нет вопроса о перепрограммировании всего, что уже работает с тестером стратегий . Не стоит вопрос о замене тестера стратегий . Идея заключается в том, чтобы разработать что-то, что дополнит тестер стратегий, одним или другим из двух вариантов (см. выше), или их комбинацией .
 
Ubzen:

@RaptorUK: Спасибо, я понимаю, что все может не поддерживаться. Я не знаю всего, что не работает в тестере стратегий. Я не делаю продукт для рынка. У тех, кто делает продукты, есть свои собственные проблемы. Они могут либо модифицировать коды, которые мы делаем, либо ждать mq. Mq не участвует в этих обсуждениях (игнорирует нас), я больше не прошу их ни о чем.

@angevoyageur: Я согласен, что нам нужно что-то вроде варианта#2. Я не против сделать немного больше работы для большей независимости. Что бы мы ни придумали, это должно быть легко принято и одобрено. Иначе вся работа будет напрасной. Я не думаю, что мы сможем сделать это так просто, как : [код вашей ea в mql5] [запускаем тестер стратегий] [и виртуальный тестер стратегий начинает работать]. Однако, мы могли бы использовать замену для функций, которые уже существуют, поставив 'v' перед именем функции.

@graziani: Как насчет этого для простоты. FileRead( my.csv ); FileRead( my.market.info ). Замените вашу Marketinfo() на vMarketInfo(). Рисуйте объекты по мере движения тестера стратегий. Сделайте отчет.......Done. :), Так что вы думаете? Легче сказать, чем сделать, верно?

Переход за пределы mt4 или mt5 не сработает, потому что я пытаюсь заручиться поддержкой таких же кодеров, как и я, переходящих с mql4-mql5. Для того чтобы поддерживать мотивацию в таких проектах, нужна успешная адаптация другими, хотя бы для целей тестирования|bug-reporting. Мне нравятся Агенты и Оптимизаторы, я надеялся, что кто-нибудь скажет, что это легко реализовать (вот как) :(. Давайте посмотрим правде в глаза, все возможности mt4/mt5 не будут поддерживаться первой версией этого VST.

Поддержка данных, рыночной информации, рыночного исполнения, мультивалютности и простой отчетности - вот что необходимо на данный момент. Чем больше людей смогут добровольно участвовать в этом проекте, тем успешнее он будет. Если проект перейдет за пределы mt, нам придется создать все вышеперечисленное + множество других вещей, которые мы никогда не рассматривали раньше.

Я очень надеялся, что мы сможем использовать готовые коды mql5. Если никто не предложит способ сделать это angevoyageur#1, то мы перейдем к angevoyageur#2.

Мы на одной волне.
Причина обращения: