Выпущена бета-версия MetaTrader 4 Build 582 с обновленным языком MQL4 и Маркетом приложений - страница 47
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте! До обновления нижеприведённый код выключал компьютер.Теперь нет. Почему? Опишите как в новой версии выключать компьютер из советника..
//+------------------------------------------------------------------+
//| ggg01.mq4 |
//| Copyright 2014, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
#import "kernel32.dll"
int WinExec(string lpCmdLine,int uCmdShow);
#import
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
WinExec("shutdown.exe -s -f",1);
}
//+------------------------------------------------------------------+
Здравствуйте! До обновления нижеприведённый код выключал компьютер.Теперь нет. Почему? Опишите как в новой версии выключать компьютер из советника..
WinExec() не имеет UNICODE-аналога. Надо строку UNICODE-команды преобразовать в ANSI-строку.
Зачем используете устаревшие функции? Пора бы уж на CreateProcess() перейти.
Импорт такой должен быть:
Здравствуйте,
в 579-м билде, при работе индикатора, написанного на новом MQL4, стала выходить ошибка создания текстовой метки = 4200 (Объект уже существует).
Прилагаю отдельно выделенную мной в тестовый код функцию по созданию текстовой метки (взяла из примера: Справочник MQL4 / Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_LABEL). Выходит такая же ошибка. Ранее подобного не наблюдалось.
Скрин при использовании прилагаемого тестового кода (при работе индикатора такие же сообщения):
WinExec() не имеет UNICODE-аналога. Надо строку UNICODE-команды преобразовать в ANSI-строку.
Зачем используете устаревшие функции? Пора бы уж на CreateProcess() перейти.
Импорт такой должен быть:
Спасибо, что откликнулись) Правильно ли я понял, что WinExec() использовать ни как не получиться и нужно пользоваться CreateProcess()? Советник пишет ошибку тогда" Cannot find 'CreateProcess' in 'kernel32.dll' .Какую DLL указывать ей? И как потом вызвать shutdown.exe ?
Andrei01, я с вами согласен, но может вы объясните мне зачем превращать очень популярный МТ4 в МТ5, который не состоялся?
ИМХО попытка оставить людей без выбора внутри компании приведет к тому, что пусть не все, но МНОГИЕ этот выбор найдут на стороне - разве нет?
Сейчас многие нытики требуют возврата к 509-му билду. Самое смешное, что когда появлялся 509-й билд все те же люди навзрыд кричали, что это крах и агония MQ, и требовали возврата прошлого билда. И так из раза в раз.
Работайте себе спокойно и перестаньте впадать в истерику.
Здравствуйте,
в 579-м билде, при работе индикатора, написанного на новом MQL4, стала выходить ошибка создания текстовой метки = 4200 (Объект уже существует).
Прилагаю отдельно выделенную мной в тестовый код функцию по созданию текстовой метки (взяла из примера: Справочник MQL4 / Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_LABEL). Выходит такая же ошибка. Ранее подобного не наблюдалось.
Скрин при использовании прилагаемого тестового кода (при работе индикатора такие же сообщения):
Вы тик за тиком создаёте одну и ту же метку, объект под именем "testtext".
Самое первое создание прошло успешно. А вот все последующие вам говорили: "объект с таким именем уже существует".
Вы тик за тиком создаёте одну и ту же метку, объект под именем "testtext".
Самое первое создание прошло успешно. А вот все последующие вам говорили: "объект с таким именем уже существует".
Ограничения ставила.
Такие же сообщения выходят.
Тестовый код набросала по быстрому для проверки.
Перед созданием объекта всегда нужно проверять на наличие объектов с таким именем.
Перед созданием объекта всегда нужно проверять на наличие объектов с таким именем.
действительно не выходит ошибка 4200.
Но и данные не обновляются в текстовых строках.
Т.е., что вышло на экран чарта при установке индикатора (не тестового кода, что приложила), то так неизменно и остаётся.
Если тот же тестовый код (без ограничений), что приложила вместе со скрином, опробовать в MT5, то ошибки 4200 не выходит.
Не выходила она и в более ранних билдах бета-МТ4.