Класс для биржевой торговли - ищу соинвесторов

 
Самое сложное в написании советника, это создание эффективной инфроструктуры по работе с ордерами. Если человек не является, профессиональным программистом, но уже обладает достаточными знаниями для создания советников, то ему необойтись без торгового класса, которому можно в простой интерпритации сообщать, что он должен делать, а он будет всё это делать. Работа с ордерами на бирже MOEX имеет свою особенности, и цена ошибки может быть высока, поэтому я доверяю этот вопрос профессионалам.
Предлогаю всем, заинтересованным лицам отписаться в данной ветке, с указанием суммы, которую они готовы потратить на создание подобного класса. Потом посчитаем, и попробуем найти профессионала для написания подобного класса.
Я готов инвестировать 100 долларов США.
Что будет уметь класс:
- Работать с открытием/удалением/модификацией ордеров 
- Работать с совершением сделок
- Получать информацию из истории о всех деталях сделки/ордера/позиции

- Запрашивать и получать прочую информацию, связанную с осуществлением торговых операций

Ниже примеры функций для работы с классом:

Пример открытия позиции:

void OpenPositions(int Type=-1,double Lot=0.1,double TakeProfit=1,double StopLoss=0,string comment="comm")
  {
   Order.Market_Order_Open(Magic,Type,Lot,TakeProfit,StopLoss,comment);
  }

Пример модификации позиции:

void ModOpenOrders(double TakeProfit=1,double StopLoss=0.0)
  {
   Order.Market_Order_Mod(TakeProfit,StopLoss,1);
  }

Пример открытия и модификации отложенного ордера:

//Открытие
void OpenExpOrders(int Type=-1,double Lot=0.1,double PriceOpen=1,double TakeProfit=1,double StopLoss=0,string comment="comm")
  {
   Order.Exp_Order_Open(Magic,Type,Lot,PriceOpen,TakeProfit,StopLoss,0,comment,1);
  }
//Модификация
void ModExpOrders(int Type=-1,double PriceOpen=1,double TakeProfit=1,double StopLoss=0)
  {
   Order.Exp_Order_Mod(Magic,Type,ALL,PriceOpen,TakeProfit,StopLoss,0,1);
  }


Пример получения информации:

void OpenOrdersInfo()
  {
// --- подсчет всех отложенных Sell-ордеров
   CountExpOrder_OS=StringToInteger(Order.Exp_Order_Info(Magic,SELL,ALL,"Number"));
// --- подсчет всех отложенных Buy-ордеров
   CountExpOrder_OB=StringToInteger(Order.Exp_Order_Info(Magic,BUY,ALL,"Number"));
// --- подсчет всех рыночных ордеров  
   CountMarketOrder_OS=StringToInteger(Order.Market_Order_Info(Magic, SELL, ALL, "Number"));
   CountMarketOrder_OB=StringToInteger(Order.Market_Order_Info(Magic, BUY, ALL, "Number"));
// --- Определяем тип рыночной позиции
   PosType=Order.Market_Order_Info(Magic,ALL,ALL,"Type");
// --- Определяем объем рыночной позиции   
   PosLot=StringToDouble(Order.Market_Order_Info(ALL,ALL,ALL,"Lot"));
   if(PrintInfoPoz==true)
   {
      Print("Отложенных ордеров на покупку открыто(Magic: ",Magic,")=",CountExpOrder_OB);
      Print("Отложенных ордеров на продажу открыто(Magic: ",Magic,")=",CountExpOrder_OS);
      Print("Рыночных ордеров на покупку открыто(Magic: ",Magic,")=",CountMarketOrder_OB);
      Print("Рыночных ордеров на продажу открыто(Magic: ",Magic,")=",CountMarketOrder_OS);
      Print("Тип позиции(Magic: ",Magic,")=",PosType);
      Print("Объем позиции(Magic: ",Magic,")=",PosLot);
   }
  }


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

//Открыли позицию на покупку
OpenPositions(BUY,LotA,MAT,SL,commentWrite_B);
// BUY - тип сделки  - покупка или продажа
// LotA - объем сделки
// MAT - цена тейк профита
// SL  - цена стоп лосса
// commentWrite_B - Комментарий


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

В случае сбора средств и открытия работы Исполнителю, я могу сразу предоставить данный класс с описанием инвестору, что бы он не ожидал окончания работ, а уже сейчас мог полноценно работать над своей стратегией.

Совершение сделок - Торговые операции - MetaTrader 5
Совершение сделок - Торговые операции - MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
На 90% Вы расписали желание иметь MQL4-style в MT5. В КБ такое есть.
 

Если собираетесь работать на MQL5, тогда нужно с самого начала называть вещи своими именами: 

Тогда не будет путаницы.

 
fxsaber:
На 90% Вы расписали желание иметь MQL4-style в MT5. В КБ такое есть.

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

 
Vladimir Karputov:

Если собираетесь работать на MQL5, тогда нужно с самого начала называть вещи своими именами: 

Тогда не будет путаницы.

Слушайте, уже больше года работаю с MQL5. Я так везде и пишу - ордер/позиция/сделка - в коде старые названия, ибо так мне удобней для адаптации к MQL5. Сути это не меняет. Есть жедание сказать что-то важное и полезное - вэлком.

 
Aleksey Vyazmikin:

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

  1. Упомянутая библа пашет и на бирже.
  2. Без исходника Вашего класса говорить бессмысленно.

 
Aleksey Vyazmikin:

Также лучше сразу написать список методов, которые класс должен включать, дабы люди знали под что инвестировать (если будут желающие), а разработчик точно знал, что от него требуется.

 
Alexey Kozitsyn:

Также лучше сразу написать список методов, которые класс должен включать, дабы люди знали под что инвестировать (если будут желающие), а разработчик точно знал, что от него требуется.

Есть ТЗ где все описано (правда сейчас там часть в редакционной правке из-за текущих работ с Исполнителем, который стал получать большой доход от сигналов и решил забросить фриланс), концепции не один уже год, она перекочевала с MQL4. В общем, если будет у людей желание, то конечно будет описание всех функций в деталях, но суть и пример как это выглядит показал.

 
fxsaber:

  1. Упомянутая библа пашет и на бирже.
  2. Без исходника Вашего класса говорить бессмысленно.

1. Весьма странно, весьма... хотел бы опробовать.

2. Могу сбросить вам в ЛС исходник, посмотрите?

 

Не понятно, чем отличается этот класс от стандартной библиотеки CTrade.

Если предлагаемый класс настолько хорош и необходим, то, может, начать не со сбора денег, а с обращения к Администрации MQ? Написали же стандартные библиотеки - пусть напишут еще и столь нужный программный продукт. Тем более, что часть работы уже сделано.

 
Aleksey Vyazmikin:

2. Могу сбросить вам в ЛС исходник, посмотрите?

Да.