Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 862

 

Кстати о кубиках!

Подскажите пожалуйста тогда как стереть  ненужный "кубик"?

 
im-zvv:

Кстати о кубиках!

Подскажите пожалуйста тогда как стереть  ненужный "кубик"?

Для этого надо знать в какой позиции этот"кубик", сколько байт он занимает, перемастить туда файловый указатель и записать на это место новое значение.

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

 
Alexey Viktorov:

Для этого надо знать в какой позиции этот"кубик", сколько байт он занимает, перемастить туда файловый указатель и записать на это место новое значение.

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

 Очевидно все эти вычисления здорово увеличат время обработки.

Буду искать другие способы. 

Спасибо. 

 
Alexey Viktorov:

Для этого надо знать в какой позиции этот"кубик", сколько байт он занимает, перемастить туда файловый указатель и записать на это место новое значение.

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

Если не принципиально и есть возможность использовать WinApi, то, думаю, задачу можно решить через FileMapping.

 

Буду пробовать все. Начну с создания "пустого" файла, с обстрактными переменными для резерва. Потом буду подменять полученными данными.

Может сработает. Проблема только с величиной файла.Ведь он может увеличиться. Придется перед каждым считыванием создавать новый резерв.

 
Ищу статьи по теме использование оператора new в mql4, посоветуйте такие статьи? Кто кратко может объяснить для чего нужны классы если есть функции и глобальные переменные, много просмотрено видео и справку читал много раз так и не понял в чём смысл?
 
Seric29:
Ищу статьи по теме использование оператора new в mql4, посоветуйте такие статьи? Кто кратко может объяснить для чего нужны классы если есть функции и глобальные переменные, много просмотрено видео и справку читал много раз так и не понял в чём смысл?

оператор new в MQL нужен только для создания указателя на экземпляр обьекта


MQL - программы довольно специализированные и ООП, в основном, удобно использовать для инкапсуляции , я выше сегодня приводил пример класса CWorkTime https://www.mql5.com/ru/forum/160683/page861#comment_11840254

для ограничения времени работы эксперта, удобно использовать инкапсуляцию, чтобы сделать несколько экземпляров объекта ограничения времени работы, примерно так:

int OnInit()
{
   Work1=new CWorkTime(StartHour_1,StartMinute_1,StopHour_1,StopMinute_1);
   Work2=new CWorkTime(StartHour_2,StartMinute_2,StopHour_2,StopMinute_2);
}

.....


void OnTick()
  {

if(Work1.Disable() || Work1.Disable())
{
 Comment("Не торговое время!!!");
 }
else
{......

т.е. теперь в моем примере можно задать 2 интервала времени работы эксперта

ЗЫ: читать - поиском по форуму раздел статьи "Объектно"

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2019.05.26
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 
Igor Makanu:

Понятно в большей степени классы компануют данные переменные и функции, а в оставшейся степени наверное делают что-то могущественное если я правильно понял, потому что всё можно организовать функциями, может классы быстрее работают чем функции получается более быстрый доступ к данным, я читал форумы писали что более равномерно и экономно используют память и всё такое.

 

Почему не работает этот код?

#property version   "1.00"
#property strict
string iComments="\n 
 class CArray : public Cobject 
{
public:
    double m_Array[100];
}//дальше в OnInit()
 {Carray *arr = new CArray;
   arr.m_Array[22] = 1.23456;

....
}

Может нужно класс описать через двоеточие ::?Смысл идеи создать указатель который будет указывать на другой указатель.

 

Здравствуйте!

Еще раз спасибо Alexey Viktorov за подсказку по кавычкам - все работает. НО: в этот понедельник возникла ситуация - немцы торговали, а у англичан выходной. И получилось, что в условии для открытия позиции по евро использовались старые значения фунта. Отсюда просьба: подскажите, как задать в коде проверку, что по обоим символам в этот день ведется торговля?

Спасибо.

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