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

 
judgewings:

Подскажите, если ранее счет пользовался сигналом, то в дальнейшем этот счет сам сигнал распространять не может?

 upd: имеется ввиду не вторичное копирование сигнала, а новая система! пользование сигналом прекращено более полугода назад. 

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

Не могу понять что означает комментарий SO: 100% в истории , сделки закрываются без моего участи . Хотелось бы разобраться почему так происходит.

 
Sreca:

Не могу понять что означает комментарий SO: 100% в истории , сделки закрываются без моего участи . Хотелось бы разобраться почему так происходит.

 

StopOut. Нет средств для маржинального залога.

 
Народ. по Московскому времени во сколько открывается новый бар на дневном графике?
 
Zeleniy:
Народ. по Московскому времени во сколько открывается новый бар на дневном графике?

Это зависит от условий брокера (ДЦ).

 

Возникает непонятная проблема при запуске эксперта.  Терминал выдаёт в лог ошибку:  EX5 loading failed  и удаляет эксперта с графика, даже не запустив его.

Код такой:

#import "MyExpert.ex5"
  int Init();
#import  

#include <Files\FilePipe.mqh>

int OnInit() {  Init(); return 0; }

Здесь MyExpert.ex5 - это некий эксперт, код его очень большой, привести не могу. Но с ним проблем нет, работает нормально. Импортирумая функция там объявлена так:

int Init() export

{

//...

}

Самое то удивительное, что если из приведённого выше кода убираю строчку с #include, то всё ОК, код запускается и работает.  Причём не имеет значения, какой там указан включаемый файл. Можно указать любой другой, и код тоже перестанет работать.

Сразу скажу, что включамый файл мне нужен в дальнейшем.  Я тут просто закомментировал весь основной код, оставив лишь проблемное место.  В общем, импорт из моего эксперта почему-то не хочет дружить c #include.  Кто знает, в чём может быть дело?

 

Здравствуйте. Подскажите, почему при запросе свойств трендовой линии переменная res всегда true, хотя в ручную ставлю флаг показ только W1, или только MN1?

Необходимо что-бы она показывалась только  на одном из таймов.

bool res=false;
res=(bool)ObjectGetInteger(0,"line",OBJPROP_TIMEFRAMES,OBJ_PERIOD_W1|OBJ_PERIOD_MN1);
if(res) Alert("линия line показывается на OBJ_PERIOD_W1 и OBJ_PERIOD_MN1");
 
marketeer:
Насколько я помню, EMPTY_VALUE всего лишь задает, какое значение будет считаться пустым и не отображаться. С инициализацией буфера оно не имеет ничего общего. Вы сами должны заполнять буфер нулевым значением, чтобы там не было мусора.
Так-то оно так, но получается, что при каждом новом баре обязательно "чистить" все последние "индексы" заданных буферов? Спрашивается зачем? В МТ4 такой ситуации не было, я понимаю, при первичной инициализации я его почистил, но потом по идее это должен делать сам МТ, впрочем по идее и при инициализации это должен делать МТ, а не программист, с какой целью буфер индикатора - это просто выделение памяти я не совсем понимаю...
 
svds75:

Здравствуйте. Подскажите, почему при запросе свойств трендовой линии переменная res всегда true, хотя в ручную ставлю флаг показ только W1, или только MN1?

Необходимо что-бы она показывалась только  на одном из таймов.

...get... - это получение свойств. И если res=true - это всего лишь признак удачного получения свойства.

Для установки свойств служит ...set...

 

В продолжение своего прошлого поста.  Методом научного тыка мне удалось отыскать проблемное место, приводящие к багу.

Имеем такую библиотеку с функцией:

//---- testbuglib.mq5 ------

#property library

class A { }; class B   { private:    A* a; public:    A* b; }; int Test() export {   return 0; }

А вот основной файл:

#include <Files\File.mqh>  // тут можно указать любой файл mqh

#import "testbuglib.ex5"
  int Test();
#import  

int OnInit() {  Test(); return 0; }

 Получившийся советник не работает, в логе выдаётся: "EX5 loading failed"

Файлы:
TestBug.mq5  1 kb