Советник Buy stop Sell stop Grid в виде класса

 

Открываю проект

Проект Советник Buy stop Sell stop Grid в виде класса

по проверке стратегии по работе с отложенными stop ордерами.

Суть торговли: при старте ставим два stop отложенных ордера (Buy stop  и Sell stop). Сработал один - второй удаляем (потом будем просто его модифицировать, а пока просто удаляем) и снова два stop отложенных ордера.

Смысл: набор позиций по тренду.

Картинка (результат, когда есть тренд и несколько отложенных ордеров сработали):

Buy stop Sell stop Grid

(чуть опосля ...).


Как будет проходить доступ к полному коду: ТОЛЬКО через подключение к проекту, а кусочки конечно будут в обсуждении в этой ветке. Сам советник будет в виде класса (*.mqh).


Добавлено: 

В процессе работы советника в OnTradeTransaction записываются данные в массив. Формат записи такой: если открыта позиция Buy - значит записываем "+1", если была открыта позиция Sell - значит записываем "-1"

Проверим идею пирамидинга (для случаев открытия позиции в направлении предыдущей)

 
Vladimir Karputov:

Открываю проект по проверке стратегии по работе с отложенными stop ордерами.

Суть торговли: при старте ставим два stop отложенных ордера (Buy stop  и Sell stop). Сработал один - второй удаляем (потом будем просто его модифицировать, а пока просто удаляем) и снова два stop отложенных ордера.

Смысл: набор позиций по тренду.

Картинка:

(чуть опосля ...).


Как будет проходить доступ к полному коду: ТОЛЬКО через подключение к проекту, а кусочки конечно будут в обсуждении в этой ветке. Сам советник будет в виде класса (*.mqh).


Сейчас делаю нечто похожее на заказ, только посложнее

 

С интересом послежу за проектом...

 
Vasily Bykov:

С интересом послежу за проектом...


Уточните, пожалуйста, Вы хотите, чтобы Вас подключили к проекту (Проекты - MetaEditor) ?

Проекты - Справка по MetaEditor
Проекты - Справка по MetaEditor
  • www.metatrader5.com
MetaEditor позволяет программистам вести совместную разработку приложений на MQL4/MQL5 удаленно. Специально для этих целей в нем предусмотрены...
 

Привет!


Такие роботы известны и есть. И в чем смысл вашего проекта?
 
Alexander Ivanov:

Привет!


Такие роботы известны и есть. И в чем смысл вашего проекта?

Выше описаны основные цели:

  • это создание советника в виде отдельного класса
  • развитие проектов (Проекты - MetaEditor)
  • проверка торговой стратегии на stop отложенных ордерах

Проекты - Справка по MetaEditor
Проекты - Справка по MetaEditor
  • www.metatrader5.com
MetaEditor позволяет программистам вести совместную разработку приложений на MQL4/MQL5 удаленно. Специально для этих целей в нем предусмотрены...
 

Мне тема интересная. В первую очередь, условие "в виде класса".

У меня "чисто в виде класса" - не вышло. Архитектура системы включает Основной шаблон, в котором описаны стандартные функции OnInit(), OnTick() и прочие. Также в нем объявляется объект класса CExpert - у которого есть функции - члены класса, которые и являются обработчиками всех этих событий. В Основном шаблоне - из стандартных функций вызываются функции-члены.

То есть, уже имеем "не чисто в виде класса", поскольку есть стандартные функции, из которых вызываются обработчики событий класса-советника.

И дальше, в этой архитектуре - если мы захотим заменить этот самый класс-советник - нам, выходит, надо переписывать весь этот файл шаблона. Неудобно. "Советник в виде класса" должен выглядеть следующим образом: объявляем класс советника (все его описание - во включаемых файлах), подключаем шаблон - и все. 

То есть, получается, что в шаблоне должны быть стандартные функции, объект-концентратор, подключающий эксперт к этим стандартным функциям, и тогда основной файл можно сократить до "правильной структуры" - объявления объекта-советника, и подключения шаблона.  В этом случае - в основном файле мы объявляем объект-советник, подключаем Основной Шаблон, в Основном Шаблоне объект-концентратор регистрирует объект-советник, и подключает его функции-обработчики - к стандартным функциям событий.

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


Насчет "подключить меня к проекту" - готов подключиться в режиме Read Only - врядли я буду что-то писать, но поглядеть, предложить что-то, указать на ошибки - могу.

 
George Merts:

***

И дальше, в этой архитектуре - если мы захотим заменить этот самый класс-советник - нам, выходит, надо переписывать весь этот файл шаблона. Неудобно. "Советник в виде класса" должен выглядеть следующим образом: объявляем класс советника (все его описание - во включаемых файлах), подключаем шаблон - и все. 

***

... подключаем шаблон и передаём входные параметры в класс советника


George Merts:

***

Насчет "подключить меня к проекту" - готов подключиться в режиме Read Only - врядли я буду что-то писать, но поглядеть, предложить что-то, указать на ошибки - могу.


Готово, подключил.

 
Vladimir Karputov:

... подключаем шаблон и передаём входные параметры в класс советника



Готово, подключил.

О ! Есть такое дело. Файлы есть. Как будет время - погляжу, что там.

 
Ibragim Dzhanaev:

Кто не умеет программировать, тот не может участвовать ?


Участвовать может любой - вот только доступ к ПОЛНОМУ коду будут иметь только те, кто выразит желание подключиться в проекту (Проекты - MetaEditor). В ветку будет обсуждение проекта - поэтому ценным будет мнение любого (хоть программиста, хоть пользователя).

Проекты - Справка по MetaEditor
Проекты - Справка по MetaEditor
  • www.metatrader5.com
MetaEditor позволяет программистам вести совместную разработку приложений на MQL4/MQL5 удаленно. Специально для этих целей в нем предусмотрены...
 
Ibragim Dzhanaev:

Я программировать не умею, но собрал под 4-ку, вашу идею.



Здесь только mql5. Старый терминал не котируется.

Причина обращения: