Смотри, как бесплатно скачать роботов
Ищи нас в Telegram!
Ставь лайки и следи за новостями
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Оцени его работу в терминале MetaTrader 5
LanguageMulti - библиотека для MetaTrader 5
- Просмотров:
- 1345
- Рейтинг:
- Опубликован:
- 2019.06.13 18:20
- Обновлен:
- 2019.09.02 17:38
- Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Библиотека позволяет использовать мультиязычность в своих проектах.
Основные возможности:
- лёгкое и удобное использование нескольких языков;
- автоопределение языка терминала;
- перевод системных и пользовательских ошибок, можно создавать несколько наборов пользовательских переводов;
- вывод места ошибки/сообщения: имя файла, имя метода, номер строки;
- корректная работа с языками при не полном или отсутствующем переводе;
- возможность использования до двух параметров
Пример использования:
//+------------------------------------------------------------------+ //| Demo LanguageMulti | //| Copyright 2012, CompanyName | //| http://www.companyname.net | //+------------------------------------------------------------------+ #include <LanguageMulti.mqh> //Подключение библиотеки #property script_show_inputs input eLng language=lng_Auto;//Выбор языка static eLng Test_lngs[]={lng_Russian,lng_English};//Используемые языки string Test_strings[][32]= {//Строки сообщений и ошибок для языков, которые указаны выше {"Это ошибка, больше так не делайте","Eto oshibka, bolshe tak ne delaite"}, //Сообщения на двух языках {"Ошшшшшшиииибка %s","Errrrrroooooorrrrr %s"}, //Сообщение с одним параметром, максимум может быть два {"","Where is my money?"}, //Отсутствует русский язык, будет использоваться английский {"",""}, //Неизвестный код ошибки }; //Инициализируем список сообщений с именем Test, получаем id int id_strings=cLng::Set_users_errors_messages("Test",Test_lngs,Test_strings); //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnStart() { cLng::lng_select=language; //Используем язык, который выбрали при запуске скрипта cLng_add_user(id_strings,0,"",""); cLng_add_user(id_strings,1,"11",""); cLng_add_user(id_strings,2,"",""); cLng_add_user(id_strings,3,"",""); cLng_add_user(id_strings,4,"",""); SymbolName(999999,false); //Тут ошибка cLng_add(GetLastError(),"",""); //Выведем сообщение об ошибке string my_string_error=cLng::CodeDescription(ERR_HISTORY_NOT_FOUND);//Расшифровываем код ошибки Print("ERR_HISTORY_NOT_FOUND ",my_string_error); Print("____________Дальше всё тоже самое, только на английском____________"); cLng::lng_select=lng_English; //Принудительно устанавливаем английский язык cLng_add_user(id_strings,0,"",""); cLng_add_user(id_strings,1,"11",""); cLng_add_user(id_strings,2,"",""); cLng_add_user(id_strings,3,"",""); cLng_add_user(id_strings,4,"",""); SymbolName(999999,false); cLng_add(GetLastError(),"",""); my_string_error=cLng::CodeDescription(ERR_HISTORY_NOT_FOUND); Print("ERR_HISTORY_NOT_FOUND ",my_string_error); }Результат работы скрипта:
2019.06.13 18:48:50.984 Demo LanguageMulti(EURUSD,M1) {Test2.mq5->OnStart->28->u0.0(1)} => Test: Это ошибка, больше так не делайте 2019.06.13 18:48:50.984 Demo LanguageMulti(EURUSD,M1) {Test2.mq5->OnStart->29->u0.1(1)} => Test: Ошшшшшшиииибка 11 2019.06.13 18:48:50.984 Demo LanguageMulti(EURUSD,M1) {Test2.mq5->OnStart->30->u0.2(1)} => Test: Where is my money? 2019.06.13 18:48:50.984 Demo LanguageMulti(EURUSD,M1) {Test2.mq5->OnStart->31->u0.3(1)} => Test: Неизвестный пользовательский код{0.3(,)} 2019.06.13 18:48:50.984 Demo LanguageMulti(EURUSD,M1) {Test2.mq5->OnStart->32->u0.4(1)} => Test: Неизвестный пользовательский код{0.4(,)} 2019.06.13 18:48:50.984 Demo LanguageMulti(EURUSD,M1) {Test2.mq5->OnStart->34->s4301(1)} => Неизвестный символ 2019.06.13 18:48:50.984 Demo LanguageMulti(EURUSD,M1) ERR_HISTORY_NOT_FOUND Запрашиваемая история не найдена 2019.06.13 18:48:50.984 Demo LanguageMulti(EURUSD,M1) ____________Дальше всё тоже самое, только на английском____________ 2019.06.13 18:48:50.984 Demo LanguageMulti(EURUSD,M1) {Test2.mq5->OnStart->41->u0.0(1)} => Test: Eto oshibka, bolshe tak ne delaite 2019.06.13 18:48:50.984 Demo LanguageMulti(EURUSD,M1) {Test2.mq5->OnStart->42->u0.1(1)} => Test: Errrrrroooooorrrrr 11 2019.06.13 18:48:50.984 Demo LanguageMulti(EURUSD,M1) {Test2.mq5->OnStart->43->u0.2(1)} => Test: Where is my money? 2019.06.13 18:48:50.984 Demo LanguageMulti(EURUSD,M1) {Test2.mq5->OnStart->44->u0.3(1)} => Test: Unknown user code{0.3(,)} 2019.06.13 18:48:50.984 Demo LanguageMulti(EURUSD,M1) {Test2.mq5->OnStart->45->u0.4(1)} => Test: Unknown user code{0.4(,)} 2019.06.13 18:48:50.984 Demo LanguageMulti(EURUSD,M1) {Test2.mq5->OnStart->47->s4301(1)} => Unknown symbol 2019.06.13 18:48:50.984 Demo LanguageMulti(EURUSD,M1) ERR_HISTORY_NOT_FOUND Requested history not found
MA Trailing
Трейлинг прибыльных позиций на текущем символе по индикатору iMA (Moving Average, MA)
OBJ_Label_ExampleПример советника, иллюстрирующего работу с графическим объектом OBJ_LABEL
High Low First Bar
Индикатор отображает уровни High и Low первого бара на текущем таймфрейме за день
Channel of two iMA BreakdownПробой канала из двух iMA (Moving Average, MA)