bool CheckTradingPermission()
{
//--- Для режима реального времениif(IsRealtime())
{
//--- Проверка соединения с серверомif(!TerminalInfoInteger(TERMINAL_CONNECTED))
return(false);
//--- Разрешение на торговлю на уровне данной запущенной программыif(!MQLInfoInteger(MQL_TRADE_ALLOWED))
return(false);
//--- Разрешение на торговлю на уровне терминалаif(!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
return(false);
//--- Разрешение на торговлю для текущего счетаif(!AccountInfoInteger(ACCOUNT_TRADE_ALLOWED))
return(false);
//--- Разрешение на автоматическую торговлю для текущего счетаif(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT))
return(false);
}
//---return(true);
}
Опубликовал статью ZigZag всему голова (Часть II): Примеры получения, обработки и отображения данных В первой части был описан модифицированный индикатор ZigZag и класс для получения данных индикаторов такого типа. Теперь мы покажем как создать индикаторы на основе этих инструментов, а также напишем эксперта для тестов, который будет заключать...
Баг MT5(build 2323), один и тот же шаблонный объект B<int> можно создать после объекта класса B<void*>, но если сделать это перед, то возникает ошибка компиляции. Возможно причина в работе кеша генератора шаблонных классов.
template<typename T>
class B{
T data;
};
voidOnStart (){
//B<int> b_int_0; // Compiler Error 'void' - unexpected token, probably type is missing?
B<void*> b; // OK
B<int> b_int_1; // OK
}
Баг MT5(build 2340) дважды используется один и тот же код: первый проход - успешная компиляция, второй - ошибка компиляции. Видимо проблемы связаны с кешом генератора шаблонных функций. Ошибка исчезает если для шаблонной функции "void run(const T &ff)" заменить передачу по ссылке на передачу по значению "void run(const T ff)".
- для МТ5 обычный проект C# - Net Framework dll - 64 бит
- для МТ4 обычный проект C# - Net Framework dll - 32 бит, но обернутый в managed C вызовы
исходники dll на 100% идентичные , естественно за исключением обертки для МТ4 ,
ОС Win10-64
ну и сам то вопрос, почему МТ4 совершает вызовы функций ровно в 4 раза быстрее , цифры примерно такие 100 000 вызовов dll на МТ4 7,5 сек , на МТ5 30 сек
- для МТ5 обычный проект C# - Net Framework dll - 64 бит
- для МТ4 обычный проект C# - Net Framework dll - 32 бит, но обернутый в managed C вызовы
исходники dll на 100% идентичные , естественно за исключением обертки для МТ4 ,
ОС Win10-64
ну и сам то вопрос, почему МТ4 совершает вызовы функций ровно в 4 раза быстрее , цифры примерно такие 100 000 вызовов dll на МТ4 7,5 сек , на МТ5 30 сек
ИМХО. C-runtime в одном случае и виртуальная машина в другом.
пропустил нововведение на форуме, там где имя фамилия, дата и рядом с кнопкой переводы, цифры - 1 2 3 , есть не у всех, вчера вроде и у меня не было, почему не увсех, и на чем определяются страницы?
В эксперте реализован графический интерфейс. Также реализованы пользовательские события (например, события по изменению графического интерфейса). Произвожу отладку на реальных данных (F5). Как только ставлю точку останова на пользовательское событие - отладчик останавливается, но последующее нажатие на F5 (продолжение отладки) не приводит к изменению в самом графическом интерфейсе. Вопрос: так и должно быть, или это баг отладчика?
Если убрать точку останова (отладка продолжается) - изменения в графическом интерфейсе происходят нормально.
ANATOLI KAZHARSKI код
Спасибо, не заметил MQL_TRADE_ALLOWED.
Туплю, не могу решить простую задачу. Нужно при следующих настройках запуска советника понять, что торговля запрещена.
Такая проверка не прокатывает.
OrderCheck - из пушки по воробьям. Прошу подсказать.
Возможно причина в работе кеша генератора шаблонных классов.
Баг MT5(build 2340) дважды используется один и тот же код: первый проход - успешная компиляция, второй - ошибка компиляции.
Видимо проблемы связаны с кешом генератора шаблонных функций.
Ошибка исчезает если для шаблонной функции "void run(const T &ff)" заменить передачу по ссылке на передачу по значению "void run(const T ff)".
Баг MT5(build 2340) Ошибка компиляции при попытке доступа к internal class для шаблонного параметра шаблонной функции.
Кто-нибудь может просветить по такому вопросу:
имеем dll написанную на C# ,но скомпилированную:
- для МТ5 обычный проект C# - Net Framework dll - 64 бит
- для МТ4 обычный проект C# - Net Framework dll - 32 бит, но обернутый в managed C вызовы
исходники dll на 100% идентичные , естественно за исключением обертки для МТ4 ,
ОС Win10-64
ну и сам то вопрос, почему МТ4 совершает вызовы функций ровно в 4 раза быстрее , цифры примерно такие 100 000 вызовов dll на МТ4 7,5 сек , на МТ5 30 сек
Кто-нибудь может просветить по такому вопросу:
имеем dll написанную на C# ,но скомпилированную:
- для МТ5 обычный проект C# - Net Framework dll - 64 бит
- для МТ4 обычный проект C# - Net Framework dll - 32 бит, но обернутый в managed C вызовы
исходники dll на 100% идентичные , естественно за исключением обертки для МТ4 ,
ОС Win10-64
ну и сам то вопрос, почему МТ4 совершает вызовы функций ровно в 4 раза быстрее , цифры примерно такие 100 000 вызовов dll на МТ4 7,5 сек , на МТ5 30 сек
ИМХО. C-runtime в одном случае и виртуальная машина в другом.
В эксперте реализован графический интерфейс. Также реализованы пользовательские события (например, события по изменению графического интерфейса). Произвожу отладку на реальных данных (F5). Как только ставлю точку останова на пользовательское событие - отладчик останавливается, но последующее нажатие на F5 (продолжение отладки) не приводит к изменению в самом графическом интерфейсе. Вопрос: так и должно быть, или это баг отладчика?
Если убрать точку останова (отладка продолжается) - изменения в графическом интерфейсе происходят нормально.
МТ5, билд 2340.