Новая версия платформы MetaTrader 5 build 3300: Быстрая компиляция и улучшенная навигация по коду в MetaEditor - страница 8

 
Alexey Viktorov #:

Скажите, а у вас массив структур объявлен в основном коде, а выполнение в данный момент в библиотеке? Да ещё и переход в эту библиотеку случился через 3 других библиотеки?

Весь код в одном файле mq5.

Ниже приведена структура кода:

.....................
struct strTickNewBarEx
  {
   int               ID;                  // Идентификатор последнего бара

   datetime          Time;                // Время последнего бара

   double            OpenPrice;           // Цена открытия бара
   double            HighPrice;           // Максимальная цена бара
   double            LowPrice;            // Минимальная цена бара
   double            ClosePrice;          // Цена закрытия бара
  };
.....................

void OnTick()
  {
.....................
      OnCalculateDecision();
.....................
  }

void OnCalculateDecision() 
  {
.....................
                                ExecuteSchemeTwoTF1H(arGBarLongB_TF1H, arGFrB_TF1H, arGFrOptB_TF1H, arGDP2, arGDSProc, arGDOBuy, Symbol(), Point(), Digits(), 1, cGK);
.....................
  }

void ExecuteSchemeTwoTF1H(strTickNewBarEx & arLTF1H[],
                          strFractalEx & arLFrTF1H[],
                          strFractalEx & arLFrOptTF1H[],
                          strDataParametrs2 & arLDP[],
                          strDSTwoProcessEx & arLDSPr[],
                          strDataOrder & arLDO[],
                          string sLSymbol, double dLPoint, int iLDigits, ENUM_TRADE_OPERATION toOper, char chLSign)
  {
.....................
            CheckTradeSignalTwoTF1H(arLTF1H, arLFrTF1H, arLFrOptTF1H, arLDP, arLDSPr, sLSymbol, dLPoint, toOper, chLSign, j);
.....................
  }

bool CheckTradeSignalTwoTF1H(strTickNewBarEx & arLTF1H[],
                             strFractalEx & arLFrTF1H[],
                             strFractalEx & arLFrOptTF1H[],
                             strDataParametrs2 & arLDP[],
                             strDSTwoProcessEx & arLDSPr[],
                             string sLSymbol,
                             double dLPoint,
                             ENUM_TRADE_OPERATION toOper,
                             char chLSign,
                             uchar uLIDThread)
  {
.....................
   strTickNewBarEx arLTF[];
.....................

   while(bLHeader && !IsStopped())
     {
.....................
                     ArrayFree(arLRates);
                     //CopyRates(sLSymbol, InpTimeFrames2_0, 1, 1, arLRates);
                     CopyRates(sLSymbol, arLDP[l].strTimeFrames2_3, 0, 1, arLRates);

                     ArrayResize(arLTF, 1);

                     arLTF[0].ID = -1;
                     arLTF[0].Time = arLRates[0].time;

                     arLTF[0].OpenPrice = arLRates[0].open;
                     arLTF[0].HighPrice = arLRates[0].high;
                     arLTF[0].LowPrice = arLRates[0].low;
                     arLTF[0].ClosePrice = arLRates[0].close;
.....................
     }
.....................
  }
В момент остановки выполнения кода программа находится в точке на строчке: 
arLTF[0].ID = -1;
 

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

Во многих интерфейсах она просто мешает....