Виталий, я не понял почему надо переключать график на D1. Чушь какая-то…
Почему вы так заполняете массивы
Разве не проще будет так
И самое главное… Пора уже давно забыть, как страшный сон, функцию int start()… Пора уже научиться пользоваться правильными именами функций…
Алексей! Во-первых, спасибо за подсказку. Я использую Notepad++ c подсветкой синтаксиса. Судя по тому, что CopyHigh() и CopyLow() у меня не подсветились в этом редакторе, я этими функциями ни разу за свои уже более чем 15 лет программирования так и не воспользовался. Да, так действительно проще. Теперь так и буду делать. Знаете, умные книжки говорят, что 20 процентов знания языка достаточно, чтоб решить 80 процентов задач программиста. Я до сих пор не знаю ВСЕХ нюансов MQL4 - использую то, что требуется, да и всё. Знаете, я даже не замечал ранее, что есть 2 такие хорошие функции :). Так что спасибо. Вам +1 в карму, мне +2 полезняшки в копилку :) Во-вторых, код был написан в 2007 году (это видно в коде скрипта, удаляющего линии) - я просто подправли старый код под новые условия, да и всё. :) В третьих, согласен, нужно привыкать к новым правильным именам функций. Опять же - просто подправил старое. Старт работает - да и Бог с ним. Но привыкать нужно, ни куда не денешься. :)
Там полезняшек гораздо больше двух. Есть ещё копирование открытия, закрытия и даже OHLC сразу в один массив структур. Только жаль, что математические функции не работают со структурами…
Признаюсь, с некоторым трепетом сегодня открывал сайт с мыслью – ответят? Нет?
Ответили!
Спасибо большое, Ростислав!
Поставил, проверил – «летает»! Отлегло в душе!
Все отлично!
Теперь и правда буду ждать от Вас исходник – ведь в этом екзешнике даже цвет не поменяешь.
И вообще – исходник можно изменять под свои «хотелки», пробовать, экспериментировать, учиться, развиваться, если хотите.
И мне лично это всегда помогало. Хоть чему то научился, что то понял.
Поэтому я – за исходники!
В отношении интеллектуальной собственности, –
·так обычному трейдеру она просто не нужна,
·а если программист захочет «увести» часть кода – ведь все равно «уведет». Декомпиляторы никто не отменял. Да и мне, «чайнику», представляется, что грамотный программист и специалист по данному языку программирования, всегда «вскроет» код, написанный на этом языке. Майкросовт борется, борется с пиратством, а KMSAutoNetкак жило, так и живет своей жизнью. И пиратство процветает!
·И третье – воровство – оно и здесь воровство! Оно всегда осуждаемо в обществе! Но это моральная субстанция, ценность! И далеко не все поддерживают в своем поведении эти ценности! А люди воровали и будут воровать.
Блин! Что то в философию ударился. Простите – захламляю ветку…
С праздником, - всех христиан, – с Рождеством Христовым!
Озадачился как сделать советник двуязычным: определил #define COUNTRY_LANG "Russian" и на этом построил функцию которая в зависимости от языка терминала возвращает строку либо на русском, либо на английском. Всё хорошо в теле советника - определения, комментарий, подсказки.
Но как сделать двуязычными названия параметров советника (extern bool param=true; //название параметра) - функцию отсюда не вызовешь. Подумал сделать два списка параметров - но как переключаться между списками в зависимости от языка терминала.
Что-то в голове шевельнулось когда перечитывал справку по #ifdef-#endif.
Может кто решил такую задачу, а то сейчас приходится компилировать два варианта советника с разными языками?
Озадачился как сделать советник двуязычным: определил #define COUNTRY_LANG "Russian" и на этом построил функцию которая в зависимости от языка терминала возвращает строку либо на русском, либо на английском. Всё хорошо в теле советника - определения, комментарий, подсказки.
Но как сделать двуязычными названия параметров советника (extern bool param=true; //название параметра) - функцию отсюда не вызовешь. Подумал сделать два списка параметров - но как переключаться между списками в зависимости от языка терминала.
Что-то в голове шевельнулось когда перечитывал справку по #ifdef-#endif.
Может кто решил такую задачу, а то сейчас приходится компилировать два варианта советника с разными языками?
Ха, прикольная задачка. Тоже задумывался поработать над этим. Пока читал Ваш пост, кое-какие мысли возникли. Сейчас проведу эксперимент. В любом случае рассажу об идее.
P.S.
Не прокатило. Компилятор ругнулся, мол, конструкция if запрещена в глобальной области видимости. А идея была вот такая:
#property copyright""#property link""#property version"1.00"#property strict// ========= Язык пользовательских параметров =============enum typeprofit{
LangNULL=0,// None Language
Lang1=1, // Russian
Lang2=2// English
};
input typeprofit Language=0;// Coose Languageif(Language==1){
inputdouble StartLot=0.1;// Лот стартового ордера
}
if(Language==2){
inputdouble StartLot=0.1;// Lots for start orders
}
//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit(){
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason){
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick(){
}
//+------------------------------------------------------------------+
Ха, прикольная задачка. Тоже задумывался поработать над этим. Пока читал Ваш пост, кое-какие мысли возникли. Сейчас проведу эксперимент. В любом случае рассажу об идее.
P.S.
Не прокатило. Компилятор ругнулся, мол, конструкция if запрещена в глобальной области видимости. А идея была вот такая:
В том то и дело, в этом запрете. Я тоже сразу такой вариант попробовал. Видимо надо колдовать с препроцессорами.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Виталий, я не понял почему надо переключать график на D1. Чушь какая-то…
Почему вы так заполняете массивы
Разве не проще будет так
И самое главное… Пора уже давно забыть, как страшный сон, функцию int start()… Пора уже научиться пользоваться правильными именами функций…
Алексей! Во-первых, спасибо за подсказку. Я использую Notepad++ c подсветкой синтаксиса. Судя по тому, что CopyHigh() и CopyLow() у меня не подсветились в этом редакторе, я этими функциями ни разу за свои уже более чем 15 лет программирования так и не воспользовался. Да, так действительно проще. Теперь так и буду делать. Знаете, умные книжки говорят, что 20 процентов знания языка достаточно, чтоб решить 80 процентов задач программиста. Я до сих пор не знаю ВСЕХ нюансов MQL4 - использую то, что требуется, да и всё. Знаете, я даже не замечал ранее, что есть 2 такие хорошие функции :). Так что спасибо. Вам +1 в карму, мне +2 полезняшки в копилку :) Во-вторых, код был написан в 2007 году (это видно в коде скрипта, удаляющего линии) - я просто подправли старый код под новые условия, да и всё. :) В третьих, согласен, нужно привыкать к новым правильным именам функций. Опять же - просто подправил старое. Старт работает - да и Бог с ним. Но привыкать нужно, ни куда не денешься. :)
…, мне +2 полезняшки в копилку :) …
Там полезняшек гораздо больше двух. Есть ещё копирование открытия, закрытия и даже OHLC сразу в один массив структур. Только жаль, что математические функции не работают со структурами…
С Рождеством Христовым.
Проверяйте
Доброго дня всем!
Признаюсь, с некоторым трепетом сегодня открывал сайт с мыслью – ответят? Нет?
Ответили!
Спасибо большое, Ростислав!
Поставил, проверил – «летает»! Отлегло в душе!
Все отлично!
Теперь и правда буду ждать от Вас исходник – ведь в этом екзешнике даже цвет не поменяешь.
И вообще – исходник можно изменять под свои «хотелки», пробовать, экспериментировать, учиться, развиваться, если хотите.
И мне лично это всегда помогало. Хоть чему то научился, что то понял.
Поэтому я – за исходники!
В отношении интеллектуальной собственности, –
· так обычному трейдеру она просто не нужна,
· а если программист захочет «увести» часть кода – ведь все равно «уведет». Декомпиляторы никто не отменял. Да и мне, «чайнику», представляется, что грамотный программист и специалист по данному языку программирования, всегда «вскроет» код, написанный на этом языке. Майкросовт борется, борется с пиратством, а KMSAuto Net как жило, так и живет своей жизнью. И пиратство процветает!
· И третье – воровство – оно и здесь воровство! Оно всегда осуждаемо в обществе! Но это моральная субстанция, ценность! И далеко не все поддерживают в своем поведении эти ценности! А люди воровали и будут воровать.
Блин! Что то в философию ударился. Простите – захламляю ветку…
С праздником, - всех христиан, – с Рождеством Христовым!
Ростислав! Еще раз – большое спасибо!
И жду исходник!
С уважением!
Доброго дня всем!
Признаюсь, с некоторым трепетом сегодня открывал сайт с мыслью – ответят? Нет?
Ответили!
Спасибо большое, Ростислав!
Поставил, проверил – «летает»! Отлегло в душе!
Все отлично!
Пользуйтесь
Пользуйтесь
Спасибо большое, Ростислав!
Удачи!
С уважением
Здравствуйте! Вопрос к специалистам.
Озадачился как сделать советник двуязычным: определил #define COUNTRY_LANG "Russian" и на этом построил функцию которая в зависимости от языка терминала возвращает строку либо на русском, либо на английском. Всё хорошо в теле советника - определения, комментарий, подсказки.
Но как сделать двуязычными названия параметров советника (extern bool param=true; //название параметра) - функцию отсюда не вызовешь. Подумал сделать два списка параметров - но как переключаться между списками в зависимости от языка терминала.
Что-то в голове шевельнулось когда перечитывал справку по #ifdef-#endif.
Может кто решил такую задачу, а то сейчас приходится компилировать два варианта советника с разными языками?
Здравствуйте! Вопрос к специалистам.
Озадачился как сделать советник двуязычным: определил #define COUNTRY_LANG "Russian" и на этом построил функцию которая в зависимости от языка терминала возвращает строку либо на русском, либо на английском. Всё хорошо в теле советника - определения, комментарий, подсказки.
Но как сделать двуязычными названия параметров советника (extern bool param=true; //название параметра) - функцию отсюда не вызовешь. Подумал сделать два списка параметров - но как переключаться между списками в зависимости от языка терминала.
Что-то в голове шевельнулось когда перечитывал справку по #ifdef-#endif.
Может кто решил такую задачу, а то сейчас приходится компилировать два варианта советника с разными языками?
Ха, прикольная задачка. Тоже задумывался поработать над этим. Пока читал Ваш пост, кое-какие мысли возникли. Сейчас проведу эксперимент. В любом случае рассажу об идее.
P.S.
Не прокатило. Компилятор ругнулся, мол, конструкция if запрещена в глобальной области видимости. А идея была вот такая:
Ха, прикольная задачка. Тоже задумывался поработать над этим. Пока читал Ваш пост, кое-какие мысли возникли. Сейчас проведу эксперимент. В любом случае рассажу об идее.
P.S.
Не прокатило. Компилятор ругнулся, мол, конструкция if запрещена в глобальной области видимости. А идея была вот такая:
В том то и дело, в этом запрете. Я тоже сразу такой вариант попробовал. Видимо надо колдовать с препроцессорами.