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

 

Не тех. поддержка, но на ум сразу пришло кое-что. Может та настройка выделенная красным прямоугольником не включена у линий?


 
Igor Zakharev #:

Не тех. поддержка, но на ум сразу пришло кое-что. Может та настройка выделенная красным прямоугольником не включена у линий?


Нет там всё стоит по полной "Показывать на всех ТФ"

Я бы попусту сюда не писал тогда.

Ещё выяснил что если рисуешь на старших ТФ тогда ниже чем на М5 не отображается

Если нарисовать на ТФ М1 тогда везде отображается

Бред какой-то!

Я скорее всего предполагаю в чем тут глюк! Если нет котирововк достаточных на М1 и начало линии или любого объекта за пределами истории котировок М1 тогда объект не отображается.

Я считаю что это некорректно и это необходимо исправить!

ТЕХ ПОДДЕРЖКА УСТРАНИТЕ ГЛЮКИ!

 
Vladislav Boyko #:

Как вызывать конструктор копирования?

А вам это зачем ?

 
Volodymyr Zubov #:

А вам это зачем ?

Я думал, что это, скорее всего, невозможно, а оказалось, что возможно. Для этого и спрашивал - чтобы узнать что-то новое для себя.

[Удален]  
Vladislav Boyko #:

Это интересно, спасибо! А что это за синтаксис? Что-то типа разыменования?

Да, это называется разыменование указателя.

Компилятор MQL часто делает его неявно, но в Вашем примере он этого делать не стал, так как существует конструктор с точно соответствующим типом аргумента.

 

Почему нет ошибки при компиляции, если я убираю скобку(красным цветом выделил)?

if(iClose(Symbol(),Signal_TF_RSI,1)<Price_RSI_Center && iOpen(Symbol(),Signal_TF_RSI,1) && iOpen(Symbol(),PERIOD_M1,0)<Price_RSI_Center_0)<Price_RSI_Center)SellNow=true;
 
Koldun Zloy #:

Да, это называется разыменование указателя.

Компилятор MQL часто делает его неявно

Похоже, так делать потенциально опасно.

class A {};

void f( const A& ) { Print(__FUNCSIG__); }

void OnStart()
{
  A* a = new A;    
  
  f(*a); // Однозначно всегда.
  f(a);  // Может начать вызываться другая функция, если кто-то подключит ниже какой-нибудь #include.
  
  delete a;
}

// #include
void f( const A* ) { Print(__FUNCSIG__); }


Можно возразить, что это касается и простых типов (int->long и т.д.). Но в данном случае можно самому разыменовывать, и тогда не будет подобной проблемы.

 
Aleksey Vyazmikin #:

Почему нет ошибки при компиляции, если я убираю скобку(красным цветом выделил)?

если функция/метод нигде не вызывается, то "по мнению компилятора" и хрен с ней :-) детальный анализ по поводу ошибков производится не будет

возможно по { } компилятор сориентировался в графе вызовов и проигнорил

 
Aleksey Vyazmikin #:

Почему нет ошибки при компиляции, если я убираю скобку(красным цветом выделил)?

Потому что все правильно.

iOpen(Symbol(),Signal_TF_RSI,1 && iOpen(Symbol(),PERIOD_M1,0)<Price_RSI_Center_0)

Это третий входной параметр функции iOpen (слева).

[Удален]  
fxsaber #:

Похоже, так делать потенциально опасно.


Можно возразить, что это касается и простых типов (int->long и т.д.). Но в данном случае можно самому разыменовывать, и тогда не будет подобной проблемы.

Полностью согласен.