Нужна помощь!

 

//---------------------------------------------------------------------+
int Intel(string symvol,int number,int magic){
 if(Volume[0]<2){     
  for(int h=0; h<=OrdersHistoryTotal(); h++){
    if(OrderSelect(h,SELECT_BY_POS,MODE_HISTORY)){
      if(OrderSymbol()==symvol && OrderMagicNumber()==magic){
        if(OrderType()==0 || OrderType()==1){
              old_ticket[number]=OrderTicket();
          if(old_ticket[number]>tickets[number]){
            tickets[number]=old_ticket[number];
              prof[number]=OrderProfit();
              types[number]=OrderType();
              oop[number]=OrderOpenPrice();
              ooc[number]=OrderClosePrice();
              otp[number]=OrderTakeProfit();
              osl[number]=OrderStopLoss();
          }
        }
      }
    }
  }
  return(0);
}

Подскажите что не так с кодом при проверке данных одни нули, все переменные глобальные.

 
Nelya Soshina:

Подскажите что не так с кодом при проверке данных одни нули, все переменные глобальные.

Во-первых, Volume[0] иногда может содержать на первом тике число 2 или 3, так называемый приход "пачки", и у Вас этот бар просто не обработается. Советую по-другому проверять наличие нового бара.

Во-вторых, h<=OrdersHistoryTotal() тут знак равно лишний, так индексация начинается с нуля.

В-третьих, непонятно что у Вас хранит начальная инициализация tickets[number]. Скорее всего, не выполняется условие

if(old_ticket[number]>tickets[number])
 
tickets[number]=0;
Все глобальные переменные при запуске равны нулю.
Volume[0]<2

Именно на этот момент расчет.

Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Глобальные переменные создаются путем размещения их объявлений вне описания какой-либо функции. Глобальные переменные определяются на том же уровне, что и функции, т. е. не локальны ни в каком блоке. Область видимости глобальных переменных - вся программа, глобальные переменные доступны из всех функций, определенных в программе...
 

Причина найдена tester MT4 не способен работать с подобным полномасштабным кодом. И поэтому идет сбой.

Спасибо за ответ, тема закрыта. 

 
Nelya Soshina:

Причина найдена tester MT4 не способен работать с подобным полномасштабным кодом. И поэтому идет сбой.

Спасибо за ответ, тема закрыта. 

Во здо́рово... Вот это вы называете полномасштабным кодом?
 
а зачем там переменная h в цикле если индексация по number?
 
Alexey Viktorov:
Во здо́рово... Вот это вы называете полномасштабным кодом?

Весь код я думаю и Вы бы никому не показали!?)

 
Nelya Soshina:

Весь код я думаю и Вы бы никому не показали!?)

Я и частями ничего не показываю. А такой код, даже полный, мало кто станет читать.

Так какой код можно считать полномасштабным???

 
Alexey Viktorov:

Я и частями ничего не показываю. А такой код, даже полный, мало кто станет читать.

Так какой код можно считать полномасштабным???

Хорошо быть умным, правда? 

ТЕМА ЗАКРЫТА!

 
Nelya Soshina:

Хорошо быть умным, правда? 

ТЕМА ЗАКРЫТА!

С Новым годом. Удачи и полноценного счастья в новом году.

 
Alexey Viktorov:

Я и частями ничего не показываю. А такой код, даже полный, мало кто станет читать.

Так какой код можно считать полномасштабным???

Я бы представленный код назвал -полумасштабным.