Автоматизация торговли на финансовых рынках Автоматизация торговли на финансовых рынках

 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Универсальный советник

 
Начать новую тему   Ответить на тему    Список форумов Автоматизация торговли на финансовых рынках -> Программирование в MQL4
Предыдущая тема :: Следующая тема  
Автор Сообщение
Mark Piccioli



Зарегистрирован: 08.02.2006
Сообщения: 36

СообщениеДобавлено: Ср Фев 18, 2009 3:10 pm    Заголовок сообщения: Универсальный советник Ответить с цитатой

Универсальный советник

Поискал у Игоря такую реализацию, но что-то не нашел. Если кто-то посчитает, что я плохо искал – ткните носом, не обижусь.

Возникла идея написания универсального советника. Смысл универсальности заключается в том, что один советник будет торговать сигналы, которые получены другими методами (например, другими советниками, рассчитанные вручную, полученные из других программ и т.п.) Все эти сигналы попадаю в один файл, который и предстоит разобрать советнику и выполнить определенные действия.

Это дает возможность использовать советника, в котором нет определенной стратегии, то есть это просто инструмент, а сама стратегия или несколько стратегий остаются собственностью автора. А если хорошо подумать, то можно и другие бенефиты найти.

И так у нас есть сигнал/ы

Инструмент EURUSD
Дата 2009-11-24
Время 12:43
Тип ордера OP_BUYLIMIT
Размер позиции 0.1
По цене 1.2610
Цель 1.3290
Стоп 1.2420
Истечение через несколько часов, допустим через 24

в файле это может иметь вид
….
200811241243;EURUSD;2;0.1;1.2610;1.3290;1.2420;24;1
200902170230;GBPJPY;3;0.1;131.35;130.35;131.75;24;1

… здесь еще пример для лимитного села по паре GBPJPY

Единица в конце строки означает, что ордер активный, так как после установки, хотелось бы сохранить историю, то есть сбросить признак например в 0.
Советник читает файл, и если :
1. Ордер активный (1)
2. Дата и время больше даты исполнения и меньше даты истечения
3. Ограничения ДЦ позволяют выставить такой ордер
- ордер выставляется
3а. Если ограничения имеют место быть (слишком близко к текущей цене или др.), либо цена прошла эту границу
- открывается рыночный ордер по текущей цене, в данном случае для EURUSD типа OP_BUY

Если все получилось, признак в файле меняется на 0. В качестве альтернативного варианта, после выполнения данные можно записать в другой файл «истории» а из основного удалить.

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

Я сам программирую на MQL, и одно время увлекался автоматической торговлей, но потом ушел на брокера, у которого нет МТ, и слегка подзабыл, как и что в языке MQL, к тому же, это может быть интересно не только мне. И потом, я не совсем уверен, что смогу правильно организовать работу с файловой системой, так как делал это пару раз и то только чтение или прямая запись в конец файла.

Здесь мне видится несколько проблем:
1. Если советник откроет файл, то файл будет занят и не понятно, как другие советники смогут в него что-то записать. Следовательно, нужно открыть, прочитать, выполнить действия и файл закрыть. Делать это придется с какой-то периодичностью и принципиально проблему не снимает, так как все равно можно попасть на запрет совместного использования.
2. То же самое, при внесении данных в файл в ручном режиме и другим программным средством.
3. Каким образом позиционироваться в файле для смены признаков Активный-НеАктивный.
4. Как заставить советника, торговать по любому инструменту, а не только по тому, к которому он прикреплен. Либо, сигнальные файлы вести для каждого инструмента, что не очень удобно. Так как если пользоваться для генерации сигналов неким абстрактным инструментом, нужно будет в нем еще определить имя файла по названию инструмента, а это не всегда возможно.

Если кому-то интересно взяться за такую работу – буду очень признателен. И наверняка не только я.
Можно взяться за реализацию совместно. В таком случае – пишите.
Ну, или хотя бы обсудить вопросы работы с файлами.

Заранее спасибо всем, кто откликнется.

С уважением,
Марк
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Автоматизация торговли на финансовых рынках -> Программирование в MQL4 Часовой пояс: GMT + 5
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете добавлять вложения в этом форуме
Вы не можете просматривать вложения в этом форуме
Рейтинг@Mail.ru


Powered by phpBB © 2001, 2005 phpBB Group