Обсуждение статьи "Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXIII): Основной торговый класс - контроль допустимых параметров" - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Что подразумевается под "состоянием эксперта"?
предположим у меня ТС по 2-м индикаторам, но по одному индикатору я торгую все время, по другому индикатору только 2 раза после запуска и в дальнейшем буду открывать ордера после последнего убытка по 1-му индикатору....
не важно какая ТС, но некая ТС с у которой ордера выставляются по не зависимому принципу, но момент включения второй ТС важен, т.е. мультиэксперт можно назвать, или 2 ТС в одном ЕА...
если перегрузить терминал можно сильно усложнить алгоритм поиска стартовых ордеров, ведь мы можем не знать какая ТС первой начала работать?
как и в Вашем большом эксперте, возможно возникнет необходимость сохранения данных, поэтому и спрашиваю будет или уже писали или не предусмотрены классы/функции для сохранения сложных форматов данных?
библиотека может.
В истории торговли MT4 этой же информации нет.
В истории торговли MT4 этой же информации нет.
Да, нет. Но есть (на данный момент) в списке событий. Он записывается на протяжении работы эксперта. И в нём всё доступно.
Естественно, что после перезагрузки терминала, или перезапуска советника, текущая история советника будет утеряна. Но это лишь пока, так как в дальнейшем все важные элементы всех списков будут сохраняться в файлы, и читаться из них при перезапуске. Не в тестере естественно.
предположим у меня ТС по 2-м индикаторам, но по одному индикатору я торгую все время, по другому индикатору только 2 раза после запуска и в дальнейшем буду открывать ордера после последнего убытка по 1-му индикатору....
не важно какая ТС, но некая ТС с у которой ордера выставляются по не зависимому принципу, но момент включения второй ТС важен, т.е. мультиэксперт можно назвать, или 2 ТС в одном ЕА...
если перегрузить терминал можно сильно усложнить алгоритм поиска стартовых ордеров, ведь мы можем не знать какая ТС первой начала работать?
как и в Вашем большом эксперте, возможно возникнет необходимость сохранения данных, поэтому и спрашиваю будет или уже писали или не предусмотрены классы/функции для сохранения сложных форматов данных?
Не очень понимаю честно говоря. Как библиотека может знать о логике ещё не созданного эксперта? Она же предназначена для облегчения создания программ для терминалов, и совершенно не в курсе какие программы при её помощи будут создаваться.
В то же время, если что-то сложно определить программно, то вполне вероятно, что с помощью библиотеки это будет сделать просто, и тогда будет возможность самому экспертописателю всё быстро проконтролировать.
Мне для большего понимания нужен не абстрактный пример.
Не очень понимаю честно говоря. Как библиотека может знать о логике ещё не созданного эксперта? Она же предназначена для облегчения создания программ для терминалов, и совершенно не в курсе какие программы при её помощи будут создаваться.
В то же время, если что-то сложно определить программно, то вполне вероятно, что с помощью библиотеки это будет сделать просто, и тогда будет возможность самому экспертописателю всё быстро проконтролировать.
Мне для большего понимания нужен не абстрактный пример.
достаточно чтобы Вы реализовали:
Естественно, что после перезагрузки терминала, или перезапуска советника, текущая история советника будет утеряна. Но это лишь пока, так как в дальнейшем все важные элементы всех списков будут сохраняться в файлы, и читаться из них при перезапуске. Не в тестере естественно.
на первый взляд это простая задача, но проблем прилично: синхронизация с файлом, своевременная запись, логика восстановления после перезагрузки.... много нюансов, в которых хотел бы я посмотреть реализацию записи сложных типов данных
достаточно чтобы Вы реализовали:
Естественно, что после перезагрузки терминала, или перезапуска советника, текущая история советника будет утеряна. Но это лишь пока, так как в дальнейшем все важные элементы всех списков будут сохраняться в файлы, и читаться из них при перезапуске. Не в тестере естественно.
на первый взляд это простая задача, но проблем прилично: синхронизация с файлом, своевременная запись, логика восстановления после перезагрузки.... много нюансов, в которых хотел бы я посмотреть реализацию записи сложных типов данных
Так это давно запланировано - можно сказать, что изначально. Буду реализовывать когда будут созданы все нужные коллекции данных - чтобы всё, и сразу.
Но то, о чём писалось - что нужно понимать когда какая ТС первой вступила в торговлю - для этого не нужны такие сложности. Ведь библиотека видит всю историю терминала от пополнения счёта, и до настоящего времени. Для MetaTrader4 важно самостоятельно разрешить в терминале всю историю. Я не стал этого делать при помощи dll - планы предоставить возможные возможности (каламбурчик) штатными средствами, потому dll и не рассматривал, и не буду рассматривать.
Поэтому можно всегда быстро найти все сделки каждой ТС за любой промежуток времени и сравнить. Какая сделка первая - той ТС и тапки.
MQL4 не хранит историю сработавших отложенных ордеров, в истории ордеров можно только определить:
Я проверял данный функционал библиотеки на mql4. История тут совсем не при делах, библиотека отлавливает сам факт активации отложенного ордера и в этот момент доступны все свойства открытой позиции.
Я проверял данный функционал библиотеки на mql4. История тут совсем не при делах, библиотека отлавливает сам факт активации отложенного ордера и в этот момент доступны все свойства открытой позиции.
Не только в этот момент. История всех сработавших ордеров (да и вообще - всех торговых событий) хранится в библиотеке и доступна на протяжении всей работы. Т.е., можно всегда найти всю историю позиции - от установки отложенного ордера, до полного её закрытия.
Правда пока не реализовано сохранение истории работы советника в файл - после перезапуска советника история всех его торговых событий будет потеряна и начнёт накапливаться заново после очередного торгового события. Но такое поведение временное - изначально было запланировано всю важную информацию сохранять в файлы. Это уже будет далее - после создания всех нужных коллекций данных.
В CEngine есть метод GetListAllOrdersEvents(), который возвращает в управляющую программу полный список всех торговых событий, произошедших на счёте с момента запуска программы, работающей на основе библиотеки.
Чтобы получить полный список торговых событий, принадлежащих эксперту (или его позициям с неким магиком), нужно отфильтровать полученный список по нужному магику:
А затем в цикле по полученному списку можно получать поочерёдно все торговые события из списка и работать с ними.
Не только в этот момент. История всех сработавших ордеров (да и вообще - всех торговых событий) хранится в библиотеке и доступна на протяжении всей работы. Т.е., можно всегда найти всю историю позиции - от установки отложенного ордера, до полного её закрытия.
Правда пока не реализовано сохранение истории работы советника в файл - после перезапуска советника история всех его торговых событий будет потеряна и начнёт накапливаться заново после очередного торгового события. Но такое поведение временное - изначально было запланировано всю важную информацию сохранять в файлы. Это уже будет далее - после создания всех нужных коллекций данных.
В CEngine есть метод GetListAllOrdersEvents(), который возвращает в управляющую программу полный список всех торговых событий, произошедших на счёте с момента запуска программы, работающей на основе библиотеки.
Чтобы получить полный список торговых событий, принадлежащих эксперту (или его позициям с неким магиком), нужно отфильтровать полученный список по нужному магику:
А затем в цикле по полученному списку можно получать поочерёдно все торговые события из списка и работать с ними.
Я сказал только о том, что важно для меня на текущий момент. И что проверено. Спасибо за разъяснения, когда будет необходимость буду терзать тебя вопросами.
далеко в улучшения библиотеки (ресурсы, звуки и т.д.) а базовые задачи, как я считаю, пропустили.
Спасибо, библиотека очень нужная.