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

 
ALXIMIKS:

Конструктор копирования и оператор присваивания вообще планируются хоть в каком-то будущем???


Конструктор копирования упоминается в справке https://www.mql5.com/ru/docs/basis/types/classes

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

//+------------------------------------------------------------------+
//| Класс с конструктором по умолчанию                               |
//+------------------------------------------------------------------+
class CFoo
  {
   datetime          m_call_time;     // время последнего обращения к объекту
public:
   //--- конструктор с параметром, имеющем значение по умолчанию, не является конструктором по умолчанию
                     CFoo(const datetime t=0){m_call_time=t;};
   //--- конструктор копирования 
                     CFoo(const CFoo &foo){m_call_time=foo.m_call_time;};
 
   string ToString(){return(TimeToString(m_call_time,TIME_DATE|TIME_SECONDS));};
  };

Документация по MQL5: Основы языка / Типы данных / Структуры и классы
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
  • www.mql5.com
Основы языка / Типы данных / Структуры и классы - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
ALXIMIKS:

 оператор присваивания вообще планируются хоть в каком-то будущем???


Есть перегрузка https://www.mql5.com/ru/docs/basis/function/operationoverload

Для удобства чтения и написания кода разрешается перегрузка некоторых операций. Оператор перегрузки записывается с помощью ключевого слова operator. Разрешена перегрузка следующих операций:

  • бинарные +,-,/,*,%,<<,>>,==,!=,<,>,<=,>=,=,+=,-=,/=,*=,%=,&=,|=,^=,<<=,>>=,&&,||,&,|,^;
  • унарные +,-,++,--,!,~;
  • оператор присваивания =;
  • оператор индексации [].
Документация по MQL5: Основы языка / Функции / Перегрузка операций
Документация по MQL5: Основы языка / Функции / Перегрузка операций
  • www.mql5.com
Основы языка / Функции / Перегрузка операций - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Извините за неточность и вольное формулирование того что хотел.

Конструктор копирования и оператор присваивания вообще планируются хоть в каком-то будущем???

базовый класс  A 15 полей, от него образовано два потомка B и С - у каждого еще по +5 полей.

А дальше квест на 20 минут.

Спросить хотел о неявных конструкторах копирования и операторах присваивания.

Ели они есть и я до сих пор не догнал как их использовать - пожалуйста суньте еще раз носом (буду признателен).

О явных конструкторах копирования и операторов присваивания я знаю и использовал,

но убил много времени в пустую как мне кажется (много полей было, на много больше чем в примере),

хотя и использовал оптимальный путь реализации (путем повторного использования кода базового класса).

 
ALXIMIKS:

Извините за неточность и вольное формулирование того что хотел.

Спросить хотел о неявных конструкторах копирования и операторах присваивания.

Значит, я неправильно понял и ответ выше был правилен

mql5:
Да, делать будем, но в ближайших планах этого пока нет.
 
Tapochun:
Спасибо за ответ, как раз сейчас именно так и сделал. Видимо из-за того, что графическое построение DRAW_NONE, а индикатор в отдельном окне, эти два свойства построений накладываются друг на друга, из-за чего происходит исчезновение данных в подокне. Однако, если сделать через INDICATOR_CALCULATIONS, тогда данные буферов 1 и 2 не будут отражаться в окне данных, но к ним можно будет обращаться из советника. Придется пожертвовать окном данных)
Дело не в DRAW_NONE. У Вас данные буферов различаются на три порядка, поэтому МАКД просто не видно на фоне цены (масштабируется). Хотя, он есть на экране))
 
После последнего обновления терминала (986, 26 сентября 2014) в "Обзоре рынка" стали самостоятельно появляться инструменты USDCHF и USDRUR. Удаляю, через некоторое время снова появляются. Почему? 
 
Dima_S:
Дело не в DRAW_NONE. У Вас данные буферов различаются на три порядка, поэтому МАКД просто не видно на фоне цены (масштабируется). Хотя, он есть на экране))
Спасибо Вам большое. Это для меня очень ценная информация! Действительно, все логично! Жаль в статьях про соразмерность цен в буферах и вывод на экран в одном подокне нет информации ( хотя может сам не заметил ).
 

МТ4 711  билд

Cкрипт открывает два новых чарта и запускает на них 2 других скрипта.

Где-то раз на 10 запусков вылетает шибка (закономерности не уловил):

2014.10.02 12:21:59.892 Script open_script GBPJPY,M5: removed
2014.10.02 12:21:59.892 open_2_script GBPJPY,M5: global initialization failed
2014.10.02 12:21:59.892 open_2_script GBPJPY,M5: Invalid EX4 file (9)
2014.10.02 12:21:59.890 Script open_script GBPJPY,M5: removed
2014.10.02 12:21:59.890 open_script GBPJPY,M5: global initialization failed
2014.10.02 12:21:59.890 open_script GBPJPY,M5: Invalid EX4 file (6)
2014.10.02 12:21:59.887 Script open_script GBPJPY,M5: loaded successfully
2014.10.02 12:21:59.878 Script open_script GBPJPY,M5: loaded successfully
2014.10.02 12:21:59.692 Two_orders_in_same_time GBPJPY,M5: initialized
2014.10.02 12:21:59.679 Script Two_orders_in_same_time GBPJPY,M5: loaded successfully

 От чего оно может такое быть? Что означает 6 в "Invalid EX4 file (6)"?

Спасибо. 

 
ALXIMIKS:

МТ4 711  билд

Cкрипт открывает два новых чарта и запускает на них 2 других скрипта.

Где-то раз на 10 запусков вылетает шибка (закономерности не уловил):

 От чего оно может такое быть? Что означает 6 в "Invalid EX4 file (6)"?

Спасибо. 

Мы исследуем аналогичную проблему - запуск с конфигурационным файлом. Иногда эксперт не может запуститься с аналогичными симптомами.

Пока не нашли причину. Как только найдём, сразу же и исправим

 
stringo:

Мы исследуем аналогичную проблему - запуск с конфигурационным файлом. Иногда эксперт не может запуститься с аналогичными симптомами.

Пока не нашли причину. Как только найдём, сразу же и исправим

Мне помогла маленькая задержка между вызовами функций на запуск скриптов  Sleep(50);

Может проблема в одновременном обращении разных потоков к одной и той же программе для ее загрузки

Вставьте mutex)) 

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