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

 
Ilya Malev:

И во-вторых нужно использовать это значение индикаторного буфера в других индикаторах и советниках,

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

Кстати, не помню точно, но вроде бы можно. Попробуйте. )
 
Anatoli Kazharski:
Кстати, не помню точно, но вроде бы можно. Попробуйте. )
Даже если так, у меня десяток индикаторов с атрибутами по типу DRAW_NONE вызывают один другого, и тогда мне уже нужна какая-то отдельная подсистема, группирующая в одном месте показания от всех работающих индикаторов по положению указателя мыши. :)
 
Ilya Malev:
Даже если так, у меня десяток индикаторов с атрибутами по типу DRAW_NONE вызывают один другого, и тогда мне уже нужна какая-то отдельная подсистема, группирующая в одном месте показания от всех работающих индикаторов по положению указателя мыши. :)
Вот этот аргумент уже серьёзней. Можно его тоже в сервисдеск добавить. ))
 
Если можно через iCustom получать значения типа INDICATOR_CALCULATIONS, тогда да, все что нужно сделать это разрешить появление таких значений в окне данных. Если мне ответят на мой запрос сервисдеск, предложу такой вариант.
 
A100:
Ошибка компиляции: 'a' - is not static member
а так нормально. А в чём разница?

//должен обращаться к функции, хотя бы потому что уж стоят скобки и тип, да еще a базового класса приватный
class A     { int a; };
class B : A { void a(); };
void B::a() {}
// здесь инлайнится, все правильно
class A     { int a; };
class B : A { void a() {} };
// так работает, видно проблема с компилятором
class A     {int h; void f(); };
class B : A {void a(); };
void B::a() {}
 

Не знаю, как у вас, но у я вижу уже несколько ошибок компилятора.

1) не различает функции и переменные при наследовании.

2)  переменная базового класса приватная, так что сначала должно выйти сообщение что невозможно получить доступ к приватным членам

 
sigma7i:

Не знаю, как у вас, но у я вижу уже несколько ошибок компилятора.

1) не различает функции и переменные при наследовании.

2)  переменная базового класса приватная, так что сначала должно выйти сообщение что невозможно получить доступ к приватным членам

Приведите примеры. Интересно посмотреть, в каких именно случаях такие проблемы с точки зрения оформления кода.
 
Anatoli Kazharski:
Приведите примеры. Интересно посмотреть, в каких именно случаях такие проблемы с точки зрения оформления кода.

вроде привел уже примеры. Но сделаю более развернутый чтобы еще было понятно:

Заметьте в третьем примере в классе А я заменил имя переменной на "h" и этот код компилируется(разумеется если закомментировать 1 и 2 примеры) , что подтверждает мою догадку.

 

//+------------------------------------------------------------------+
//|                                                           ds.mq5 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+



//должен обращаться к функции, хотя бы потому что уж стоят скобки и тип, да еще a базового класса приватный
class A     { int a; };
class B : A { void a(); };
void B::a() {}
// здесь инлайнится, все правильно
class A     { int a; };
class B : A {void a() {} };
// так работает, видно проблема с компилятором
class A     {int h; void f(); };
class B : A {void a(); };
void B::a() {}


void OnStart()
  {
    // c объектами работает правильно
  
    B variable;
    variable.a();   // ошибка доступа, здесь все нормально
    variable.a = 1; // ошибка доступа, как и следовало ожидать, здесь все нормально
  }
//+------------------------------------------------------------------+
 

Ситуация: тест идет на Н1 (думаю, это важно - речь о мультипериодном тестировании). последний дневной (D1) бар в тестере SeriesInfoInteger выдает к примеру 2015.10.08. Беру показания индикатора iMA на D1 со сдвигом 2. Выдает значение для 2015.10.05 (а должно 2015.10.06 со сдвигом 2).

То есть индикатор запаздывает в тестере по сравнению с построением таймсерий. Происходит это четко в момент старта нового бара D1. У кого-нибудь было такое? Пример моделировать пока не буду.

 
Ilya Malev:

Ситуация: тест идет на Н1. последний дневной (D1) бар в тестере SeriesInfoInteger выдает к примеру 2015.10.08. Беру показания индикатора iMA со сдвигом 2. Выдает значение для 2015.10.05 (а должно 2015.10.06 со сдвигом 2).

То есть индикатор запаздывает в тестере по сравнению с построением таймсерий. У кого-нибудь было такое? Пример моделировать пока не буду.

Да, такое бывает когда работаешь с ТФ, насколько я помню, только старше текущего в тестере. Данные по нему еще не успевают обновиться. Т.е. когда по Н1 уже новый день на первом тике этого нового дня на D1 еще предыдущий день.
Причина обращения: