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

MQL5 전문가

작업 종료됨

실행 시간 12 시간
피고용인의 피드백
Спасибо, приятно работать с заказчиком.

명시

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

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

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

응답함

1
개발자 1
등급
프로젝트
0
0%
중재
0
기한 초과
0
무료
2
개발자 2
등급
(74)
프로젝트
93
53%
중재
3
33% / 0%
기한 초과
3
3%
무료
게재됨: 16 코드
3
개발자 3
등급
(72)
프로젝트
147
67%
중재
21
10% / 71%
기한 초과
44
30%
무료
4
개발자 4
등급
(8)
프로젝트
38
47%
중재
6
33% / 50%
기한 초과
10
26%
무료
5
개발자 5
등급
프로젝트
0
0%
중재
0
기한 초과
0
무료
비슷한 주문
Нужно создать торговый советник для МТ5 для автоматической торговли золотом, серебром и нефти, газа. Торговля будет происходить на основании данных индикаторов, корреляции данных инструментов. Должна быть панель управления с настройками на английском языке
AO - при пересечении уровня 0 в какую-либо сторону открывать соответствующий ордер. RSI - при пересечении отметки 30 пунктов снизу открывать ордер на покупку, при пересечении отметки 70 пунктов сверху открывать ордер на продажу. Стратегии не зависят друг от друга. Предустановка размеров ТП и СЛ, предустановка уровней ТС
Нужно разработать торгового советника для MetaTrader 5. Логика стратегии: работа на M1 (таймфрейм изменяемый) уровни Fibonacci задаются вручную (0 и 100) вход осуществляется в зоне 0–38.2 Fibonacci используется RSI BUY — RSI ≤ 30 SELL — RSI ≥ 70 дополнительный сигнал — пересечение RSI и его скользящей средней Функции управления позицией: Stop Loss за сигнальной свечой Break Even два типа Trailing Stop (обычный и
1. Общая концепция Советник предназначен для автоматического обнаружения ценовых волн, их визуализации с помощью инструмента «Сетка Фибоначчи» и циклической торговли на откатах. Основная особенность — мультиволновой режим: советник должен одновременно отслеживать и отрисовывать все движения, подходящие под фильтр размера. 2. Логика поиска и визуализации волн Динамическое натяжение: Советник сканирует рынок на глубину
к примеру 10 стратегий выстреливают одновременно в одну и ту же милисекунду при открытие бара надо их сделать последовательными один за другим, с проверкой, что предыдущий ордер был открыт и модифицирован SL TP оредра могут быть отложенные и маркет пока один ордер исполняется другие ждут в очереди так как используется ММ настоящий баланс double Total_Current_Risk() { double res = 0; for (int i = 0; i <

프로젝트 정보

예산
20 - 30 USD
기한
에서 1  10 일