Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 1171

 

Здравствуйте! Кто подскажет, почему не скачиваются бесплатные советники и индикаторы? Пишет:"Есть ли у меня терминал?" Нажимаю, что ДА - и на этом все заканчивается, скачивания не происходит. ??

 

Кто-нибудь может привести хороший пример трендследящей системы?

 
MisterBond:

Здравствуйте! Кто подскажет, почему не скачиваются бесплатные советники и индикаторы? Пишет:"Есть ли у меня терминал?" Нажимаю, что ДА - и на этом все заканчивается, скачивания не происходит. ??

Посмотрите в навигаторе в экспертах и индикаторах появились ли папки market. Возможно, Вы устанавливали терминал многократно, и результат в другом. В какой папке смотрите? Ключ /portable пробовали использовать?
 
MisterBond:

Здравствуйте! Кто подскажет, почему не скачиваются бесплатные советники и индикаторы? Пишет:"Есть ли у меня терминал?" Нажимаю, что ДА - и на этом все заканчивается, скачивания не происходит. ??


В терминале скачивайте.

 

Прошу помощи форумчан...

Есть строка вида string str="4257"

Второй символ  - значение для выбора соответствующего фильтра.
Проверяется в операторе swith и выполняется соответствующий case ...
Взять второй символ из строки secondsymb=StringGetCharacter(str,1), но при этом получаем код символа типа ushort.
Теперь из него нужно получить строку:  secondsymb=ShortToString(StringGetCharacter(str,1)), получаем "2" типа string,
и только потом можно получить целое значение:   int secondsymb=StrToInteger(ShortToString(StringGetCharacter(str,1))).
Получается как-то некрасиво, может попроще способ есть ?

 
MikeZv:

Прошу поиощи форумчан...

Есть строка вида string str="4257"

Второй символ  - значение для выбора соответствующего фильтра.
Проверяется в операторе swith и выполняется соответствующий case ...Взять второй символ из строки secondsymb=StringGetCharacter(str,2), но при этом получаем код символа

В целое число его сразу нельзя, сначала нужно получить из него строку: secondsymb=ShortToString(StringGetCharacter(strflt,iPrm)),
и ь

StringSubstr

Документация по MQL5: Строковые функции / StringSubstr
Документация по MQL5: Строковые функции / StringSubstr
  • www.mql5.com
Строковые функции / StringSubstr - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vitaly Muzichenko:

StringSubstr


Виталий, спасибо за ответ, т.е. две внутренние функции заменяем одной: int secondsymb=StrToInteger(StringSubstr(str,1,1)) ?
А вообще , посоветуйте пожалуйста, при обработке строк, где содержатся только цифры (виды фильтров и т.п), есть смысл эти цифры доводить до целых чисел, или в swith-case использовать одиночные символы ?

 
MikeZv:

Виталий, спасибо за ответ, т.е. две внутренние функции заменяем одной: int secondsymb=StrToInteger(StringSubstr(str,1,1)) ?
А вообще , посоветуйте пожалуйста, при обработке строк, где содержатся только цифры (виды фильтров и т.п), есть смысл эти цифры доводить до целых чисел, или в swith-case использовать одиночные символы ?

Почитайте

Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vitaly Muzichenko:

Почитайте


Спасибо за ответ. :)

 
MikeZv:

Виталий, спасибо за ответ, т.е. две внутренние функции заменяем одной: int secondsymb=StrToInteger(StringSubstr(str,1,1)) ?

Вы говорили: "Есть строка вида string str="4257". Смотря откуда она пришла. Если есть гарантия, что строка в ASCII кодах, и у Вас в голове уже отложилось, что ASCII код символа "0" (ноль) равен 48, то можно и короче:

int Asci=StringGetChar(str,1). Если диапазон ASCII 48-57 не знаком, значит, это Вам не нужно, не принимайте во внимание.