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

 

На реальных биржевых серверах конечно же объемы отдельно на продажу и покупку.

На тестовых биржевых (не путайте с форексом) серверах котировки зачастую от совершенно другой тестовой симулятивной системы и биржевые "демо сервера" ни в коем случае нельзя использовать для анализа.

 

Ошибка при выполнении: incorrect casting of pointers (build 977, но и раньше такая периодически возникала)

//AAA15.mq5
#define PF              Print( __FUNCTION__ );
#define PFI( i )        Print( __FUNCTION__, " ", i );
class A { public:
};
class R { public:
        void y( A* a )          { PF  ((B *)a).g( 1 ); }
};
class L : public R { public:
        void y( A* a )          { PF  ((B *)a).g( 2 ); }
};
class B : public A { public:
        virtual void g( R* r )  { PF  r.y( GetPointer( this ) ); delete( r ); }
        virtual void g( int i ) { PFI( i ) }
};
class C : public B { public:
        virtual void g( int i ) { PFI( i ) }
};
#import "AAA17.ex5"
        C *f();
#import "AAA16.ex5"
        void h();
        R *w();
#import
#ifndef HEADER
void OnStart()
{
        f().g( w() );
        h();
}
#endif
//AAA16.mq5
#property library
#define HEADER
#include "AAA15.mq5"
void h() export { PF  f().g( w()); }
R *w()   export { PF  return new L(); }
//AAA17.mq5
#property library
#define HEADER
#include "AAA15.mq5"
class X { public:
        X()           { PF  c = new C(); }
        virtual ~X()  { PF  delete( c ); }
        C *c;
};
static X x;
C *f() export { PF  return ( x.c ); }

Если что-то передвинуть (в примеру поменять местами объявления #import) или вместо 3-х сделать 2 файла, или убрать вызов h() - то вместо указанной - возникают уже другие ошибки

Если код выше перекомпоновать, то в конечном счете вызывается R::y, а должна вызываться L::y

 В более сложном варианте некоторые обычные функции из модулей сами (видимо другими конструкторами) вызываются до (!) статических конструкторов (как если бы в приведенном выше примере f() вызывалась бы до X::X, который в свою очередь правильно вызывается до OnStart). Пример постараюсь привести, но там громадные файлы. Но иногда работает правильно, значит ошибка не у меня, поскольку порядок создания объектов определяется самим компилятором и я не могу на него повлиять

 

Еще обратил внимание, что если внести в основной модуль (OnStart) несущественные изменения (добавить какую нибудь переменную или Print), то часто он не запускается, пока все используемые ex5 модули не перекомпилируешь. При этом сообщение в Экспертах информирует, что в одном из неосновных ex5 модулей не найдена функция, которая там заведомо есть (что подтверждается рабоспособностью после перекомпиляции всех модулей).

И опытным путем было установлено, что функции, которые сами вызываются до (!) статических конструкторов вызываются именно из этой функции (которую MT не может периодически найти)

 
Уважаемые программисты, кто мог-бы меня консультировать по вопросам подготовки советника для выставления в "Маркет"? Можно в личку и/или здесь.
 
yosuf:
Уважаемые программисты, кто мог-бы меня консультировать по вопросам подготовки советника для выставления в "Маркет"? Можно в личку и/или здесь.
А Вы тему откройте отдельную и можно будет в ней обсуждать вопрос.
 
Сегодня был странный глюк с МТ4: демо-счёт на сервере MetaQuotes-Demo в "Навигаторе" в терминале вдруг переместился в список другого брокера. Пришлось этот шальной счёт удалить из терминала, а затем снова прописать.
 
Renat:

На реальных биржевых серверах конечно же объемы отдельно на продажу и покупку.

На тестовых биржевых (не путайте с форексом) серверах котировки зачастую от совершенно другой тестовой симулятивной системы и биржевые "демо сервера" ни в коем случае нельзя использовать для анализа.

Renat,

спасибо! 

 
Renat:
А время было торговым? Лучше всего обратиться в службу поддержки брокера.
Время торговое, тики тикают. К брокеру обратился. Они ответили, что российские CFD - индикативы. Почему они отображаются в терминале черным, они не знают.
В общем, продолжение исследования дало такие результаты. При наведении курсора мыши на тикеры в обзоре рынка всплывает тултип, в котором для серых символов написано Trade: No. А вот для российских CFD, которые выводятся черным цветом, выводится Trade: Close (еще раз обращаю внимание, что время - торговое и тики по символу в этот момент приходят). Из чего я делаю вывод, что брокер имеет несколько уровней запрета торговли, из них лишь некоторые (или даже только один) помечаются серым цветом, а все остальные свалены в общую кучу с действующими символами, так как отображаются черным.
 
marketeer:
В общем, продолжение исследования дало такие результаты. При наведении курсора мыши на тикеры в обзоре рынка всплывает тултип, в котором для серых символов написано Trade: No. А вот для российских CFD, которые выводятся черным цветом, выводится Trade: Close (еще раз обращаю внимание, что время - торговое и тики по символу в этот момент приходят). Из чего я делаю вывод, что брокер имеет несколько уровней запрета торговли, из них лишь некоторые (или даже только один) помечаются серым цветом, а все остальные свалены в общую кучу с действующими символами, так как отображаются черным.

С расцветкой символов подымался вопрос.

Вот ответ конкретно по расцветке на демо-сервере MQ^

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Расцветка в Обзоре рынка

barabashkakvn, 2014.05.12 18:55

Вот ответ из Сервисдеск: "На нашем сервере цвет фона символа по сути ничего не значит.

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

 

Т.е. за расшифровкой цвета фона символа нужно обращаться к своему брокеру и единого стандарта по расцветке нет. 

а вот обещание исправить:

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Расцветка в Обзоре рынка

Renat, 2014.05.13 12:37

С цветовым безумием давно надо было решать проблему.

Мы добавим команду сброса цветового оформления и новые команды по группировке и сортировке инструментов в окне.

Сейчас идет кардинальный апгрейд систем команд, меню и интерфейсов в MT4/MT5 и к 25 мая будет бета перед выставкой iFX EXPO. Вообще новые билды дадут потрясающие возможности трейдерам.


 
barabashkakvn:

С расцветкой символов подымался вопрос.

Вот ответ конкретно по расцветке на демо-сервере MQ^

а вот обещание исправить:


Возможно. Только по факту пока не очень удобно, так как UI вводит в заблуждение. Ждемс улучшений.