Ошибки, баги, вопросы - страница 507

 
sergey1294:
У сделки нет время закрытия, так как сделка это операция и у нее есть время исполнения HistoryDealGetInteger(тикет,DEAL_TIME). Если сделка привела к закрытию позиции, то это и будет время закрытия позиции. Хотя странно что в свойствах функции PositionGetInteger есть идентификатор POSITION_TIME - время открытия позиции а веря закрытия позиции нет.
Ничего странного с точки зрения неттинга. Время открытия является временем первой сделки, а что будет дальше даже Богу не ведома...
 

Здравствуйте у меня при скачивании истории по всем инструментам (больше 600, сервер BroCo-Demo), примерно на 300-том символе терминал в журнале пишет:

NI    0    Scripts    12:19:11    script Закачка_истории (EURUSD,H1) loaded successfully
MJ    3    MemoryException    12:24:20    31703040 bytes not available
EE    3    MemoryException    12:24:20    31703040 bytes not available
NM    3    MemoryException    12:24:21    31703040 bytes not available
HD    3    MemoryException    12:25:15    245760 bytes not available
LL    3    MemoryException    12:25:15    245760 bytes not available
PG    3    MemoryException    12:25:15    245760 bytes not available

DN    3    MemoryException    12:25:15    245760 bytes not available

историю скачиваю при помощи скрипта описанного в разделе "Организация доступа к данным" (немного его изменив иначе он работал только на валютах) Код скрипта прикрепляю

Файлы:
 

Подскажите пожалуйста, например у нас есть :

Class cClass()

    {

       Public: 

            cClass2 *pointer; 

            void fn()    {  pointer = new  cClass2;  }

            ~Class()

                  {

                         delete(pointer);                   // эта строка здесь нужна???

                  } 

     }

OnTick()

      {

            cClass var; 

      }      // Здесь динамически выделенная память будет свободна без delete?

 

Т.е. при уничтожении класса освобождается ли динамически выделенная память внутри класса?  

 
220Volt:

Подскажите пожалуйста, например у нас есть :

У меня деструктор примерно также устроен и работает. Единственно, нужна проверка описателя на инвалидность (точнее, на её отсутствие), прежде, чем к нему обращаться.

Есть также статья Роша про использование указателей, там есть, что посмотреть. 

 

У меня есть класс, работает с динамическим массивом, в деструкторе нет делейт, ошибки не выдаются, но я сомневаюсь.

Документация по MQL5: Основы языка / Типы данных / Объект динамического массива
Документация по MQL5: Основы языка / Типы данных / Объект динамического массива
  • www.mql5.com
Основы языка / Типы данных / Объект динамического массива - Документация по MQL5
 
220Volt:

У меня есть класс, работает с динамическим массивом, в деструкторе нет делейт, ошибки не выдаются,

Значит, память, занимаемая объектом, не освобождается.

Когда экспериментрировал на эту тему, у меня после закрытия программы в журнале появлялись сообщения о наличии неосвобождённой памяти (или что-то в этом роде). 

Ну и стандартный Ахтунг:

Объект, созданный с помощью оператора new, должен быть явно уничтожен оператором delete.

 

Я понял почему я начал сомневаться, массивы через delete удалить не удастся, потому я и не удалял. Это я в C поковырялся , вот глупости всякие в голову начали лезть

 
220Volt:

Я понял почему я начал сомневаться, массивы через delete удалить не удастся, потому я и не удалял. Это я в C поковырялся , вот глупости всякие в голову начали лезть

Гм. Я подумал, что говоря про "динамические массивы", Вы имели в виду "динамические объекты" и связанные с ними описатели. Судя по началу темы про классы и описатели.
Документация по MQL5: Основы языка / Типы данных / Объект динамического массива
Документация по MQL5: Основы языка / Типы данных / Объект динамического массива
  • www.mql5.com
Основы языка / Типы данных / Объект динамического массива - Документация по MQL5
 

Виноват :(

Спасибо. 

 
220Volt:

Виноват :(

Спасибоcf

Причина обращения: