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

MQL5 Uzman Danışmanlar

İş tamamlandı

Tamamlanma süresi: 12 saat
Geliştirici tarafından geri bildirim
Спасибо, приятно работать с заказчиком.

İş Gereklilikleri

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

//+------------------------------------------------------------------+
//|  подготовить массив тикетов для закрытия                         |
//+------------------------------------------------------------------+
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;   
   }

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

Yanıtlandı

1
Geliştirici 1
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
2
Geliştirici 2
Derecelendirme
(74)
Projeler
93
53%
Arabuluculuk
3
33% / 0%
Süresi dolmuş
3
3%
Serbest
Yayınlandı: 16 kod
3
Geliştirici 3
Derecelendirme
(72)
Projeler
147
67%
Arabuluculuk
21
10% / 71%
Süresi dolmuş
44
30%
Serbest
4
Geliştirici 4
Derecelendirme
(8)
Projeler
38
47%
Arabuluculuk
6
33% / 50%
Süresi dolmuş
10
26%
Serbest
5
Geliştirici 5
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
Benzer siparişler
Имеется защищенный от копирования счет на МТ5, обычные копировщики не копируют его. Сделки только по eurusd.f c суффиксом .f Сделок не много, только сделка 1 в день. Доступ и пароль инвестора к счету предоставлю. Необходимо решение для копирования с этого счета, предполагаю, что система должна увидеть сделку визуально, например через BAS и дальше передать данные для открытия сделки в МТ5. Другие рабочие решения от
1. Загальна логіка Треба створити ЕА для MetaTrader 5 на основі індикатора Zig Zag (параметри індикатора стандартні: Depth, Deviation, Backstep) та рівнів Фібоначчі. Детально логіка входу описана в додатку до ТЗ. 2. Відкриття сету ордерів ЕА відкриває сет відкладених ордерів (кількість ордерів від 1 до 5) Для кожного ордеру задається - рівень входу (значення рівня Фібоначчі) - рівень SL

Proje bilgisi

Bütçe
20 - 30 USD
Son teslim tarihi
from 1 to 10 gün