Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Скачай документацию одним файлом. Это просто!
Mikhail Dovbakh
3623
Mikhail Dovbakh 2016.10.30 05:40 

MQL4 все же отличается от Пятерки..

И не только работой с торговыми функциями.

 Возьмем простую функцию сцепления строк

 

StringConcatenate

Возвращает строку, сформированную в результате конкатенации преобразованных в тип string параметров.

string  StringConcatenate(
   void argument1,         // первый параметр любого простого типа 
   void argument2,         // второй параметр любого простого типа
   ...                     // следующий параметр любого простого типа
   );

Параметры

argumentN

[in]  Любые значения, разделенные запятыми. От 2 до 63 параметров любого простого типа.

Возвращаемое значение

Строка, сформированная в результате конкатенации преобразованных в тип string параметров. Параметры преобразуются в строки по тем же правилам, что и в функциях Print() и Comment().

Примечание

Параметры могут иметь любой тип. Количество параметров не может быть меньше 2 и не может превышать 64.

Пример:

  string text;
  text=StringConcatenate("Account free margin is "AccountFreeMargin(), " Current time is "TimeToStr(TimeCurrent()));
  // text="Account free margin is " + AccountFreeMargin() + "  Current time is " + TimeToStr(TimeCurrent())
  Print(text);


Но в пятерке так нельзя, потому как

 

StringConcatenate

Формирует строку из переданных параметров и возвращает размер сформированной строки. Параметры могут иметь любой тип. Количество параметров не может быть меньше 2 и не может превышать 64.

int  StringConcatenate(
   string&  string_var,   // строка для формирования
   void argument1         // первый параметр любого простого типа 
   void argument2         // второй параметр любого простого типа
   ...                    // следующий параметр любого простого типа
   );

Параметры

string_var

[out]  Строка, которая будет сформирована в результате конкатенации.

argumentN

[in]  Любые значения, разделенные запятыми. От 2 до 63 параметров любого простого типа.

Возвращаемое значение

Возвращает длину строки,  сформированной путем конкатенации преобразованных в тип string параметров. Параметры преобразуются в строки по тем же правилам, что и в функциях Print() и Comment().

Смотри также


 A чего стоят любезно предлагаемые для автоподстановки функции DoubleToStr, TimeToStr, StrToDouble, StrToInteger, StrToTime

 Однообразие нарушает отсутствие IntegerToStr()... 😶

Я как бы отдаю отчет, что существует огромное количество кода, использующего эти функции, но было бы правильным  хотя бы не предлагать эти функции. 

А было бы вообще замечательно, если бы к штатному Стилизатору добавить еще и Корректора - возможность заменить функции, которых нет в стандарте общего языка и никогда там не будет.

Тогда и переход на пятерку будет для многих кодеров и их продуктов легче.

А если еще помечтать, то разработчикам МТ5 стоило бы сделать конвертор МТ4 кода. Ну на первых порах для индикаторов.

Какой бы гигантский шаг по заполнению кодебазы был бы сделан!

😉 

Vladislav Andruschenko
83210
Vladislav Andruschenko 2016.10.30 06:41  
Такое впечатление что тема была создана в 2012 году  .  посмотрел, нет, 2016 год. 


Языки отличаются в многом.  но общая концепция осталась. 

Кстати первая пора уже прошла. есть много попыток сделать конвертеры. но вы лучше самому понять эту схему. 

Сейчас уже легче переводить самому. а вот раньше.  когда многих функций не было......... 


Вы ещё много различий найдёте между 4 и 5. 



Да и кодбаза сейчас заполнена выше краев. 
Mikhail Dovbakh
3623
Mikhail Dovbakh 2016.10.30 07:23  
Vladislav Andruschenko:
Такое впечатление что тема была создана в 2012 году  .  посмотрел, нет, 2016 год. 


Языки отличаются в многом.  но общая концепция осталась. 

Кстати первая пора уже прошла. есть много попыток сделать конвертеры. но вы лучше самому понять эту схему. 

Сейчас уже легче переводить самому. а вот раньше.  когда многих функций не было......... 


Вы ещё много различий найдёте между 4 и 5. 



Да и кодбаза сейчас заполнена выше краев. 

Спасибо за оперативное реагирование, Владислав.

И в прям, в 2016 году уже либо глаз замылен, или лучше переводить самому...

Но в фрилансе не иссякает поток заявок на перевод на "другой язык", значит старая кодабаза востребована, а чем заполнена до краев кодобаза сейчас я еще не знаю.

Наверное с далекого 2010 много изменилось, но я как бы о разумной стандартизации языка говорил и тут общая концепция, наверное, наверняка не пострадает.

А отличий в языке быть не должно. Да - торговое окружение, разные системы учета меняют торговые функции, но почему по разному нужно инициировать буфера,

графические объекты, сцеплять строки или преобразовывать типы?  

Не знаю, но мне показалось это странным. в 2016 году.

Если сообщество посчитает мои вопросы странными, а тему «нафталинной» - ничего страшного, буду знать . 

Maxim Kuznetsov
8310
Maxim Kuznetsov 2016.10.30 07:27  
Mikhail Dovbakh:

А было бы вообще замечательно, если бы к штатному Стилизатору добавить еще и....

можно добавить свои стили, вот это было бы хорошо.

у меня вот штатное форматирование кода вызывает внутренний диссонанс и полное неприятие.

Mikhail Dovbakh
3623
Mikhail Dovbakh 2016.10.30 07:41  
Maxim Kuznetsov:

можно добавить свои стили, вот это было бы хорошо.

у меня вот штатное форматирование кода вызывает внутренний диссонанс и полное неприятие.

Спасибо Максим,

но я говорил не о стилизаторе кода на форуме, а о возможностях MetaEditor

 

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий