//=========================================================================================== // 4.4. Функции для установки шаблона графика. //=========================================================================================== // 4.4.1. Функция устанавливает на указанный график указанный шаблон по его имени в списке шаблонов. voidServiceSetTemplateByName(int hwndChart, // Системный дескриптор окна графика, куда загружается шаблон. string sNameTemplate); // Имя шаблона в списке шаблонов. //=========================================================================================== // 4.4.2. Функция устанавливает на указанный график указанный шаблон по его номеру в списке шаблонов. В случае успеха функция возвращает TRUE, иначе - FALSE. bool ServiceSetTemplateByNumber(int hwndChart, // Системный дескриптор окна графика, куда загружается шаблон. int nTemplate); // Номер шаблона в списке шаблонов. Шаблоны сортируются в списке по имени. Количество шаблонов ограниченно 64.
А как это сделать программно, при помощь кода. Выполнил советник свою функцию и вырубился?
Та же библиотека с готовыми функциями управления МТ4.
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx // 7. ФУНКЦИИ ДЛЯ УПРАВЛЕНИЯ ПРОГРАММАМИ MQL4. //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx // 7.1. Функция удаляет эксперт с указанного графика. В случае успеха функция возвращает TRUE, иначе - FALSE. boolServiceDeleteExpert(int hwndChart); // Системный дескриптор окна графика, удаляемого эксперта. //====================================================================================== // 7.2. ФУНКЦИЯ удаляет индикаторы по имени из списка загруженных индикаторов. voidServiceDeleteIndicatorsByName(int hwndChart, // Системный дескриптор окна, куда прикреплен индикатор. int nWindow, // Номер подокна для удаления индикаторов. Если -1, то удаляются индикаторы из всех подокон. string &asIndicatorName[], // Одномерный массив с именами удаляемых индикаторов. int nNumberName); // Количество имён индикаторов в массиве. //====================================================================================== // 7.3. Функция удаляет скрипт с указанного графика. В случае успеха функция возвращает TRUE, иначе - FALSE. bool ServiceDeleteScript(int hwndChart); // Системный дескриптор окна графика, удаляемого скрипта.oo //====================================================================================== // 7.4. Функция управляет диалоговым окном завершения скрипта и возвращает системный дескриптор диалогового окна завершения скрипта, если окно есть, // иначе - NULL. Скрипт работает только с русской и английской локализациями. intServiceDialogScript(int bInstruction); // Команда для диалогового окна завершения скрипта: TRUE - завершить скрипт, FALSE - не завершать скрипт. //====================================================================================== // 7.5. Функция получает имена индикаторов из списка загруженных индикаторов. // В случае успеха функция возвращает количество индикаторов в указанных подокнах параметром "nWindow", иначе ноль. intServiceGetNamesIndicators(int hwndChart, // Системный дескриптор окна, куда прикреплен индикатор. int nWindow, // Номер подграфика. Если -1, то считываются имена индикаторов из всех подокон. string &asIndicatorName[], // Одномерный строковый массив для приёма имён индикаторов. // Массив должен быть инициализирован разными значениями в каждой ячейке! // Это особенность инициализации строковых массивов в MQL4. int nNumberName); // Размер массива "asIndicatorName[]" для приёма имён индикаторов. //====================================================================================== // 7.6. Функция вызывает окно списка индикаторов. bool ServiceListIndicators(int hwndChart); // Системный дескриптор окна графика, на котором вызывается окно списка индикаторов. //====================================================================================== // 7.7. Функция загружает на указанный график пользовательский индикатор по его имени. voidServiceLoadCustomIndicator(int hwndChart, // Системный дескриптор окна графика, куда загружается индикатор.void string szNameIndicator, // Имя загружаемого индикатора. int bOK); // Подтверждение запуска индикатора, при наличии диалогового окна свойств индикатора. // TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено. //====================================================================================== // 7.8. Функция загружает на указанный график эксперт по его имени. voidServiceLoadExpert(int hwndChart, // Системный дескриптор окна графика, куда загружается эксперт. string szNameExpert, // Имя загружаемого эксперта. int bOK); // Подтверждение запуска эксперта, при наличии диалогового окна свойств эксперта. // TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено. //====================================================================================== // 7.9. Функция загружает на указанный график скрипт по его имени. voidServiceLoadScript(int hwndChart, // Системный дескриптор окна графика, куда загружается скрипт. string szNameScript, // Имя загружаемого скрипта. int bOK); // Подтверждение запуска скрипта, при наличии диалогового окна свойств скрипта. Скрипт может не иметь окна свойств! // При использовании функции для загрузки скрипта из скрипта на текущем графике параметр не работает из-за // невозможности одновременной работы двух скриптов на одном графике. // TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено. //====================================================================================== // 7.10. Функция загружает на указанный график стандартный индикатор по его имени. voidServiceLoadStdIndicator(int hwndChart, // Системный дескриптор окна графика, куда загружается индикатор. string szNameIndicator, // Имя загружаемого индикатора. int bOK); // Подтверждение запуска индикатора, при наличии диалогового окна свойств индикатора. // TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено. //====================================================================================== // 7.11. Функция вызывает меню свойств эксперта. В случае успеха функция возвращает TRUE, иначе - FALSE. boolServicePropertiesExpert(int hwndChart); // Системный дескриптор окна графика, на котором вызывается меню свойств эксперта. //======================================================================================= // 7.12. Функция включает/отключает эксперты, управляя кнопкой "Советники". voidServiceSetExperts();
Не согласен. Незачем выходить за пределы mql, незачем удалять советник с чарта. Достаточно программно блокировать торговлю, предусмотрев это в коде советника.
Не согласен. Незачем выходить за пределы mql, незачем удалять советник с чарта. Достаточно программно блокировать торговлю, предусмотрев это в коде советника.
Позволь с тобой не согласится (смотреть до конца) :
Не согласен. Незачем выходить за пределы mql, незачем удалять советник с чарта. Достаточно программно блокировать торговлю, предусмотрев это в коде советника.
Да! Правильно! Исключение только для удалённого управления.
Знатоки, подскажите пожалуйста, есть в советнике такой участок кода, надо узнать как закрылась прошлая свеча на двух парах в момент открытия новой свечи, всё прекрасно работает но если в этот момент есть тики на двух парах, советник стоит на основной паре и с ней проблем нет, но если на второй паре с началом новой свечи нет тиков, то значения с неё не обнавляются и получаются данные с неё не с прошлой свечи, а с позапрошлой, можно конечно подождать минуту, это на H1 не очень критично, но может есть более разумное решение ?
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Не могу побороть проблему автоматического сохранения шаблона.
Не вставляет имя файла в окно сохранить.
Вот код.
Дорогие эксперты помогите.
Не могу побороть проблему автоматического сохранения шаблона.
Не вставляет имя файла в окно сохранить.
Вот код.
Библиотека с готовыми функциями управления МТ4.
//===========================================================================================
// 4.4. Функции для установки шаблона графика.
//===========================================================================================
// 4.4.1. Функция устанавливает на указанный график указанный шаблон по его имени в списке шаблонов.
void ServiceSetTemplateByName(int hwndChart, // Системный дескриптор окна графика, куда загружается шаблон.
string sNameTemplate); // Имя шаблона в списке шаблонов.
//===========================================================================================
// 4.4.2. Функция устанавливает на указанный график указанный шаблон по его номеру в списке шаблонов. В случае успеха функция возвращает TRUE, иначе - FALSE.
bool ServiceSetTemplateByNumber(int hwndChart, // Системный дескриптор окна графика, куда загружается шаблон.
int nTemplate); // Номер шаблона в списке шаблонов. Шаблоны сортируются в списке по имени. Количество шаблонов ограниченно 64.
Недавно проверял. Работает.
Щелчок правой кнопкой мыши на улыбающейся роже (в правом верхнем углу окна клиентского терминала) -> Советники -> Удалить
А как это сделать программно, при помощь кода. Выполнил советник свою функцию и вырубился?
А как это сделать программно, при помощь кода. Выполнил советник свою функцию и вырубился?
А как это сделать программно, при помощь кода. Выполнил советник свою функцию и вырубился?
Та же библиотека с готовыми функциями управления МТ4.
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
// 7. ФУНКЦИИ ДЛЯ УПРАВЛЕНИЯ ПРОГРАММАМИ MQL4.
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
// 7.1. Функция удаляет эксперт с указанного графика. В случае успеха функция возвращает TRUE, иначе - FALSE.
bool ServiceDeleteExpert(int hwndChart); // Системный дескриптор окна графика, удаляемого эксперта.
//======================================================================================
// 7.2. ФУНКЦИЯ удаляет индикаторы по имени из списка загруженных индикаторов.
void ServiceDeleteIndicatorsByName(int hwndChart, // Системный дескриптор окна, куда прикреплен индикатор.
int nWindow, // Номер подокна для удаления индикаторов. Если -1, то удаляются индикаторы из всех подокон.
string &asIndicatorName[], // Одномерный массив с именами удаляемых индикаторов.
int nNumberName); // Количество имён индикаторов в массиве.
//======================================================================================
// 7.3. Функция удаляет скрипт с указанного графика. В случае успеха функция возвращает TRUE, иначе - FALSE.
bool ServiceDeleteScript(int hwndChart); // Системный дескриптор окна графика, удаляемого скрипта.oo
//======================================================================================
// 7.4. Функция управляет диалоговым окном завершения скрипта и возвращает системный дескриптор диалогового окна завершения скрипта, если окно есть,
// иначе - NULL. Скрипт работает только с русской и английской локализациями.
int ServiceDialogScript(int bInstruction); // Команда для диалогового окна завершения скрипта: TRUE - завершить скрипт, FALSE - не завершать скрипт.
//======================================================================================
// 7.5. Функция получает имена индикаторов из списка загруженных индикаторов.
// В случае успеха функция возвращает количество индикаторов в указанных подокнах параметром "nWindow", иначе ноль.
int ServiceGetNamesIndicators(int hwndChart, // Системный дескриптор окна, куда прикреплен индикатор.
int nWindow, // Номер подграфика. Если -1, то считываются имена индикаторов из всех подокон.
string &asIndicatorName[], // Одномерный строковый массив для приёма имён индикаторов.
// Массив должен быть инициализирован разными значениями в каждой ячейке!
// Это особенность инициализации строковых массивов в MQL4.
int nNumberName); // Размер массива "asIndicatorName[]" для приёма имён индикаторов.
//======================================================================================
// 7.6. Функция вызывает окно списка индикаторов.
bool ServiceListIndicators(int hwndChart); // Системный дескриптор окна графика, на котором вызывается окно списка индикаторов.
//======================================================================================
// 7.7. Функция загружает на указанный график пользовательский индикатор по его имени.
void ServiceLoadCustomIndicator(int hwndChart, // Системный дескриптор окна графика, куда загружается индикатор.void
string szNameIndicator, // Имя загружаемого индикатора.
int bOK); // Подтверждение запуска индикатора, при наличии диалогового окна свойств индикатора.
// TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено.
//======================================================================================
// 7.8. Функция загружает на указанный график эксперт по его имени.
void ServiceLoadExpert(int hwndChart, // Системный дескриптор окна графика, куда загружается эксперт.
string szNameExpert, // Имя загружаемого эксперта.
int bOK); // Подтверждение запуска эксперта, при наличии диалогового окна свойств эксперта.
// TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено.
//======================================================================================
// 7.9. Функция загружает на указанный график скрипт по его имени.
void ServiceLoadScript(int hwndChart, // Системный дескриптор окна графика, куда загружается скрипт.
string szNameScript, // Имя загружаемого скрипта.
int bOK); // Подтверждение запуска скрипта, при наличии диалогового окна свойств скрипта. Скрипт может не иметь окна свойств!
// При использовании функции для загрузки скрипта из скрипта на текущем графике параметр не работает из-за
// невозможности одновременной работы двух скриптов на одном графике.
// TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено.
//======================================================================================
// 7.10. Функция загружает на указанный график стандартный индикатор по его имени.
void ServiceLoadStdIndicator(int hwndChart, // Системный дескриптор окна графика, куда загружается индикатор.
string szNameIndicator, // Имя загружаемого индикатора.
int bOK); // Подтверждение запуска индикатора, при наличии диалогового окна свойств индикатора.
// TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено.
//======================================================================================
// 7.11. Функция вызывает меню свойств эксперта. В случае успеха функция возвращает TRUE, иначе - FALSE.
bool ServicePropertiesExpert(int hwndChart); // Системный дескриптор окна графика, на котором вызывается меню свойств эксперта.
//=======================================================================================
// 7.12. Функция включает/отключает эксперты, управляя кнопкой "Советники".
void ServiceSetExperts();
А как это сделать программно, при помощь кода. Выполнил советник свою функцию и вырубился?
https://www.mql5.com/ru/forum/110207
Не согласен. Незачем выходить за пределы mql, незачем удалять советник с чарта. Достаточно программно блокировать торговлю, предусмотрев это в коде советника.
Не согласен. Незачем выходить за пределы mql, незачем удалять советник с чарта. Достаточно программно блокировать торговлю, предусмотрев это в коде советника.
Позволь с тобой не согласится (смотреть до конца) :
Не согласен. Незачем выходить за пределы mql, незачем удалять советник с чарта. Достаточно программно блокировать торговлю, предусмотрев это в коде советника.
Знатоки, подскажите пожалуйста, есть в советнике такой участок кода, надо узнать как закрылась прошлая свеча на двух парах в момент открытия новой свечи, всё прекрасно работает но если в этот момент есть тики на двух парах, советник стоит на основной паре и с ней проблем нет, но если на второй паре с началом новой свечи нет тиков, то значения с неё не обнавляются и получаются данные с неё не с прошлой свечи, а с позапрошлой, можно конечно подождать минуту, это на H1 не очень критично, но может есть более разумное решение ?
{//1 if (iClose(SignalSimbol,PERIOD_H1,1) > iOpen(SignalSimbol,PERIOD_H1,1)) svcolor1 = 1; // бычья свеча if (iClose(SignalSimbol,PERIOD_H1,1) < iOpen(SignalSimbol,PERIOD_H1,1)) svcolor1 = 2; // медвежья свеча if (iClose(SignalSimbol,PERIOD_H1,1) == iOpen(SignalSimbol,PERIOD_H1,1)) svcolor1 = 3; // додж if (iClose(TradeSimbol,PERIOD_H1,1) > iOpen(TradeSimbol,PERIOD_H1,1)) svcolor2 = 1; // бычья свеча if (iClose(TradeSimbol,PERIOD_H1,1) < iOpen(TradeSimbol,PERIOD_H1,1)) svcolor2 = 2; // медвежья свеча if (iClose(TradeSimbol,PERIOD_H1,1) == iOpen(TradeSimbol,PERIOD_H1,1)) svcolor2 = 3; // додж spread = MarketInfo(TradeSimbol,MODE_SPREAD); TimeBar_t = (TimeCurrent()-Time[0])/60; // время в минутах с открытия свечи RefreshRates (); }//1Библиотека с готовыми функциями управления МТ4.
Недавно проверял. Работает.