Нужно дописать советник или подправить ошибки...

MQL5 Experts

Tâche terminée

Temps d'exécution 12 heures
Commentaires de l'employé
Спасибо, приятно работать с заказчиком.

Spécifications

Открытие ордеров в советнике полностью реализованно...Требуется проверить на ошибки или добавить свою функцию закрытия ордеров...

//+------------------------------------------------------------------+
//|  подготовить массив тикетов для закрытия                         |
//+------------------------------------------------------------------+
void PrepareTicketsToClose(int signal, bool Revers, int & ticketsClose[][2], 
				   double & lots[],double arrayTickets[][9])
   {
   int size=ArrayRange(arrayTickets,0);
double SAR=iSAR(0,0,0.02,0.2,1);
 //----
   if (size==0) return;
 
   int i,type,ticket,closeSize;
   for (i=0;i<size;i++)
      {
      type=arrayTickets[i][1];
      // если тип ордера не рыночный, то пропуcкаем
      if (type>OP_SELL) continue;
 
      if (Revers) // перевернем тип рыночного ордера
         {
         if (type==OP_BUY) type=OP_SELL; else type=OP_BUY;
         }
      
      // тут решаем для каждого открытого ордера его судьбу
      //  оставить в рынке или добавить в массив на закрытие
      if (type==OP_BUY)
         {
         //  
         // код разрешающий оставить покупку
         Здесь решаем - оставить ордер BUY или закрыть
         
         // как пример
         if (signal==OP_BUY && SAR>Close[1]) continue;
         }
      
      if (type==OP_SELL)
         {
         //  
         // код разрешающий оставить продажу
         Здесь решаем - оставить ордер SELL или закрыть

         
         // как пример
         if (signal==OP_SELL && SAR<Close[1]) continue;
         }
 
      closeSize=ArrayRange(ticketsClose,0);
      ArrayResize(ticketsClose,closeSize+1);
      ArrayResize(lots,closeSize+1);
      ticketsClose[closeSize][0] = arrayTickets[i][0]; // # тикета
      ticketsClose[closeSize][1] = arrayTickets[i][1]; // тип ордера
      Print("arrayTickets[i][0]=",arrayTickets[i][0],"   ticketsClose[closeSize][0]=",ticketsClose[closeSize][0]);
      
      // здесь укажем сколько лотов нужно закрыть
      lots[closeSize] = arrayTickets[i][2]; // закрываемый объем
      // можно закрывать частично, тогда нужно переписать строку сверху
      }
//----
   return;   
   }

ЭТО КУСОК КОДА ЗАКРЫТИЯ ОРДЕРОВ...

Répondu

1
Développeur 1
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
2
Développeur 2
Évaluation
(74)
Projets
93
53%
Arbitrage
3
33% / 0%
En retard
3
3%
Gratuit
Publié : 16 codes
3
Développeur 3
Évaluation
(72)
Projets
147
67%
Arbitrage
21
10% / 71%
En retard
44
30%
Gratuit
4
Développeur 4
Évaluation
(8)
Projets
38
47%
Arbitrage
6
33% / 50%
En retard
10
26%
Gratuit
5
Développeur 5
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
Commandes similaires
Подобные решения уже есть в интернете, написаны в виде советника. Из их минусов - разработчики советника предоставляют котировки около 50 торговых пар. Мне необходимо, чтобы в мт5 поступали котировки абсолютно всех торговых пар. Ссылку на подобный советник могу предоставить, как на ориентир, образец
Советник 200+ USD
Советник по мартингейлу на хеджевых счетах на МТ5 Торгуем рыночными ордерами. Торговая панель средней сложности. Более конкретное ТЗ вышлю всем заинтересовавшимся. Оплата и сроки обсуждаемы. Нужен советник по индикатору Во вложении ТЗ. все значения переменные

Informations sur le projet

Budget
20 - 30 USD
Délais
de 1 à 10 jour(s)