На днях я опубликовал обновленную версию библиотеки OrderWrappers 1.0.6. Скачать её можно отсюда. Назначение библиотеки - предоставить функции-обертки для стандартных функций работы с ордерами, дополнив их обработкой возможных ошибок.
Любая из функций - OrderSend, OrderClose, OrderCloseBy, OrderModify, OrderDelete - является критически важной в том смысле, что нарушение в её работе может повлечь существенные потери трейдера. Поэтому обработчики ошибок, аналогичные тем, что имеются в данной библиотеке, вынуждены писать все авторы автоматических торговых систем. Каждый делает это по-своему, "изобретая велосипед", и, вполне вероятно, делает это не всегда корректно, оставляя лазейки для неприятных ситуаций.
Интересный вопрос заключается в том, почему компания MetaQuotes реализовала такой опасный для трейдера програмный интерфейс (API). Ведь, для трейдера гораздо удобнее иметь функции, автоматически реагирующие на нештатные ситуации, и основные шаблоны правильной их обработки известны производителю несомненно лучше любого стороннего автора советников.
Ответ прост: для компании MetaQuotes приоритетом в разработке ПО являются интересы брокера, а не клиента. Если бы МетаКвоты радели за интересы трейдера, им бы не составило труда реализовать непосредственно в терминале достаточно интеллектуальную обработку ошибок.
суббота, 8 мая 2010 г.
понедельник, 3 мая 2010 г.
Развитие ситуации по прогнозу курса EURUSD
Похоже, что развитие ситуации идет по первому (основному) варианту прогноза, но из-за начальной неопределенности и выбранной смешанной стратегии без стоп-лосса не обошлось. К этому моменту можно уже было отыграть 600 пунктов на продаже, но в данный момент короткую позицию, если она еще открыта, необходимо закрыть.

Предполагается движение вверх на 600 пунктов, после чего опять движние вниз, так что теоретически можно планировать покупку и затем продажу. Вот как выглядит прогноз с учетом последних данных.

Следует отметить, что прогнозы публикуются по известному принципу "как есть", т.е. без гарантий ;-). Напоминаю, что это эксперимент.

Предполагается движение вверх на 600 пунктов, после чего опять движние вниз, так что теоретически можно планировать покупку и затем продажу. Вот как выглядит прогноз с учетом последних данных.

Следует отметить, что прогнозы публикуются по известному принципу "как есть", т.е. без гарантий ;-). Напоминаю, что это эксперимент.
воскресенье, 2 мая 2010 г.
Прогнозирование курса EURUSD
В качестве эксперимента выкладываю 2 варианта прогноза курса EURUSD на понедельник, 3 мая, полученный с помощью нейронной сети. Позднее я планирую сравнить здесь же прогноз с фактическим изменением курса.


Как видно, характер движений на рисунках отличается, поэтому приходится формировать некую промежуточную стратегию. Например, такую: вход на покупку со стопом 500 пунктов (пятизначных) и трейлингом, тейк 750 пунктов. При закрытию этой позиции по стопу - переворот в продажу по рынку с теми же установками, а если по тейку - то отложенником, чтобы убедиться в намечающемся развороте.


Как видно, характер движений на рисунках отличается, поэтому приходится формировать некую промежуточную стратегию. Например, такую: вход на покупку со стопом 500 пунктов (пятизначных) и трейлингом, тейк 750 пунктов. При закрытию этой позиции по стопу - переворот в продажу по рынку с теми же установками, а если по тейку - то отложенником, чтобы убедиться в намечающемся развороте.
МетаТрейдер 4: пресловутая сборка номер 226
Наверное, то, о чем пойдет сегодня речь, не новость для пользователей МетаТрейдера, но обойти стороной эту животрепещущую тему нельзя.
Несколько недель назад МетаКвоты выпустили очередную сборку МетаТрейдера под номером 226. В официальном списке новшеств упомянуты всякие мелочи, а самое главное намеренно замолчено: в экзешник встроена защита от анализа сторонними средствами, то есть попросту говоря от отладки. Причины такого решения понятны - МетаКвоты предполагают усложнить таким образом жизнь тем, кто пишет декомпиляторы скриптов MQL4 с целью снять защиту с прибыльных советников. Но одновременно МетаКвоты усложняют жизнь и абсолютно всем законопослушным пользователям программы. Можете не сомневаться, любая подобная защита существенно усложняет продукт изнутри, и стабильность его работы падает. Кроме того, становится сильно затруднена, если не сказать вообще невозможна, отладка советников, которые реализованы с использованием DLL. По поводу обеих проблем с самого момента выхода новой сборки постоянно сыпится шквал жалоб. Какой бы благой ни казалась цель разработчиков, выбранный ими способ явно дискредитирует всю идею. Какова реакция МетаКвотов? Они демонстративно молчат, выказывая полное неуважение к пользователям. Да и что они могут ответить? Только то, что они все уже "продумали", и иного решения в силу своей "гениальности", представить не могут? Понятно, что ответ в таком стиле выльется в долгие разбирательства на форумах. Проще конечно же засунуть голову в песок, и сделать вид, что ничего не происходит.
А стоило ли вообще заваривать кашу? Если программа доступна хакеру с потрохами, что и имеет место в случае терминала, то какой бы навороченной ни была её защита, её все равно сломают - ну не за неделю, так за месяц. Было бы из-за чего ломать. А ведь если найдется действительно успешный эксперт, то лучшего вложения средств, чем заказ на взлом, трудно представить. Итог - МетаКвоты подложили очередные грабли всем пользователям за просто так. Может быть это недостаток компетентности, может быть недомыслие - трудно сказать, но факт остается фактом.
Реальная защита торговых систем может быть осуществлена только с использованием сервера. Многие авторы, которые серьезно подходят к проблеме безопасности советников, именно так давно и делают. Вся логика работы торговой системы "крутится" на сервере, а для терминала создаются скрипты-заглушки, которые лишь получают сигналы для торговли. Аналогичный подход мог бы быть применен и в самой платформе МетаТрейдера. Для этого её архитектура должна быть изменена путем добавления нового звена - сервера приложений. Важные части скриптов должны загружаться туда и выполняться непосредственно там. Терминал же будет выступать в качестве интерфейса для отображения результатов обработки и управления входными параметрами. Разумеется, те скрипты, которые не требуют защиты, могут быть оставлены на локальном компьютере пользователя, т.е. выполняться в терминале как и прежде. МетаКвоты, при желании, могли бы организовать централизованный сервис - что-то вроде единого онлайн магазина по образцу Apple Store или базы расширений для FireFox. Пользователь, купив советник в этом магазине, тем самым неявным образом инициировал бы его автоматическую установку на сервер приложений для своего счета. Будет ли этот сервер у каждого ДЦ свой или МетаКвоты могли бы организовать кластер таких серверов у себя - вопрос открытый. Выгоду от подобной централизации получили бы и пользователи, и сами МетаКвоты. Конечно, всегда существует опасность, что и среди людей, имеющих доступ к серверу, найдутся желающие стырить советник, но эта ситуация видимо принципиально не исправляется на все 100% в современном мире, где даже в банках встречаются мошенники. По сути дела и сейчас у нас нет гарантий, что МетаКвоты не станут анализировать под тем или иным предлогом конкретный ex4-файл. Зато все внешние силы по отношению к тройке "пользователь - МетаКвоты - ДЦ", при серверной модели хранения советников, оказываются за бортом.
Несколько недель назад МетаКвоты выпустили очередную сборку МетаТрейдера под номером 226. В официальном списке новшеств упомянуты всякие мелочи, а самое главное намеренно замолчено: в экзешник встроена защита от анализа сторонними средствами, то есть попросту говоря от отладки. Причины такого решения понятны - МетаКвоты предполагают усложнить таким образом жизнь тем, кто пишет декомпиляторы скриптов MQL4 с целью снять защиту с прибыльных советников. Но одновременно МетаКвоты усложняют жизнь и абсолютно всем законопослушным пользователям программы. Можете не сомневаться, любая подобная защита существенно усложняет продукт изнутри, и стабильность его работы падает. Кроме того, становится сильно затруднена, если не сказать вообще невозможна, отладка советников, которые реализованы с использованием DLL. По поводу обеих проблем с самого момента выхода новой сборки постоянно сыпится шквал жалоб. Какой бы благой ни казалась цель разработчиков, выбранный ими способ явно дискредитирует всю идею. Какова реакция МетаКвотов? Они демонстративно молчат, выказывая полное неуважение к пользователям. Да и что они могут ответить? Только то, что они все уже "продумали", и иного решения в силу своей "гениальности", представить не могут? Понятно, что ответ в таком стиле выльется в долгие разбирательства на форумах. Проще конечно же засунуть голову в песок, и сделать вид, что ничего не происходит.
А стоило ли вообще заваривать кашу? Если программа доступна хакеру с потрохами, что и имеет место в случае терминала, то какой бы навороченной ни была её защита, её все равно сломают - ну не за неделю, так за месяц. Было бы из-за чего ломать. А ведь если найдется действительно успешный эксперт, то лучшего вложения средств, чем заказ на взлом, трудно представить. Итог - МетаКвоты подложили очередные грабли всем пользователям за просто так. Может быть это недостаток компетентности, может быть недомыслие - трудно сказать, но факт остается фактом.
Реальная защита торговых систем может быть осуществлена только с использованием сервера. Многие авторы, которые серьезно подходят к проблеме безопасности советников, именно так давно и делают. Вся логика работы торговой системы "крутится" на сервере, а для терминала создаются скрипты-заглушки, которые лишь получают сигналы для торговли. Аналогичный подход мог бы быть применен и в самой платформе МетаТрейдера. Для этого её архитектура должна быть изменена путем добавления нового звена - сервера приложений. Важные части скриптов должны загружаться туда и выполняться непосредственно там. Терминал же будет выступать в качестве интерфейса для отображения результатов обработки и управления входными параметрами. Разумеется, те скрипты, которые не требуют защиты, могут быть оставлены на локальном компьютере пользователя, т.е. выполняться в терминале как и прежде. МетаКвоты, при желании, могли бы организовать централизованный сервис - что-то вроде единого онлайн магазина по образцу Apple Store или базы расширений для FireFox. Пользователь, купив советник в этом магазине, тем самым неявным образом инициировал бы его автоматическую установку на сервер приложений для своего счета. Будет ли этот сервер у каждого ДЦ свой или МетаКвоты могли бы организовать кластер таких серверов у себя - вопрос открытый. Выгоду от подобной централизации получили бы и пользователи, и сами МетаКвоты. Конечно, всегда существует опасность, что и среди людей, имеющих доступ к серверу, найдутся желающие стырить советник, но эта ситуация видимо принципиально не исправляется на все 100% в современном мире, где даже в банках встречаются мошенники. По сути дела и сейчас у нас нет гарантий, что МетаКвоты не станут анализировать под тем или иным предлогом конкретный ex4-файл. Зато все внешние силы по отношению к тройке "пользователь - МетаКвоты - ДЦ", при серверной модели хранения советников, оказываются за бортом.
четверг, 29 апреля 2010 г.
Добро пожаловать!
Добро пожаловать на блог, посвященный известному программному продукту для работы на Форексе - МетаТрейдеру, и в целом компании MetaQuotes, которая его производит.
Наверно, такое вступление звучит многообещающе для читателей-трейдеров, так как они надеются увидеть здесь описание торговых стратегий, сигналы для входа в рынок, индикаторы и скрипты, но всего этого не планируется (по крайнней мере, пока).
Основное назначение данного блога - познакомить читателя с проблемами МетаТрейдера как ПО. К сожалению, проблем таких много, они сказываются на производительности и удобстве пользования программой и в конечном счете - на прибылях. Компания производитель не в силах исправить некоторые проблемы и может быть даже сознательно создает новые, но точно узнать причину этого вряд ли удастся в силу закрытости компании. Остается лишь догадываться - особый ли местечковый менталитет, принципиальная политика фирмы, низкая квалификация сотрудников, или что-либо еще является причиной излюбленного подхода к общению с конечными пользователями: проигнорировать или удалить сообщение об ошибке, в лучшем случае сделать отписку в духе "сам пользователь виноват", не вникая в суть и обнаруживая при этом свою некомпетентность, нежелание признавать свои ошибки.
Случилось так, что автор этих строк гораздо лучше разбирается в программировании, чем в трейдинге. Именно поэтому мой опыт программирования позволяет мне судить о качестве разработке МетаТрейдера. Собственно МетаТрейдер был выбран в свое время для трейдинга именно в силу того, что программа предоставляет широкие возможности для создания автоматических торговых систем - роботов. По прошествии нескольких лет использования МетаТрейдера и нескольких безуспешных попыток установить конструктивное общение с разработчиками, я вынужден начать данный блог.
Наверно, такое вступление звучит многообещающе для читателей-трейдеров, так как они надеются увидеть здесь описание торговых стратегий, сигналы для входа в рынок, индикаторы и скрипты, но всего этого не планируется (по крайнней мере, пока).
Основное назначение данного блога - познакомить читателя с проблемами МетаТрейдера как ПО. К сожалению, проблем таких много, они сказываются на производительности и удобстве пользования программой и в конечном счете - на прибылях. Компания производитель не в силах исправить некоторые проблемы и может быть даже сознательно создает новые, но точно узнать причину этого вряд ли удастся в силу закрытости компании. Остается лишь догадываться - особый ли местечковый менталитет, принципиальная политика фирмы, низкая квалификация сотрудников, или что-либо еще является причиной излюбленного подхода к общению с конечными пользователями: проигнорировать или удалить сообщение об ошибке, в лучшем случае сделать отписку в духе "сам пользователь виноват", не вникая в суть и обнаруживая при этом свою некомпетентность, нежелание признавать свои ошибки.
Случилось так, что автор этих строк гораздо лучше разбирается в программировании, чем в трейдинге. Именно поэтому мой опыт программирования позволяет мне судить о качестве разработке МетаТрейдера. Собственно МетаТрейдер был выбран в свое время для трейдинга именно в силу того, что программа предоставляет широкие возможности для создания автоматических торговых систем - роботов. По прошествии нескольких лет использования МетаТрейдера и нескольких безуспешных попыток установить конструктивное общение с разработчиками, я вынужден начать данный блог.
Подписаться на:
Сообщения (Atom)