Ошибки, баги, вопросы - страница 2537

 

Если функцией ::Print() выводится в окно Инструменты\Эксперты длинная строка (более 260 символов), то в результате копировании этой строки через ПКМ\Копировать она усекается до 256 символов.


Если же копировать через ПКМ\Просмотр\ПКМ\Копировать, то усечения не происходит.

А какая разница?

 
A100:

Ежу понятно

#define MACRO( ТОЛЬКО_НЕ_void )    Print( "OK" )
void OnStart() { MACRO(); }

хм, сложно все у Вас...... ЕЖАМ привет передавайте!

#define   test(int) for(int i=0;i<10;i++) Print("OK");
//+------------------------------------------------------------------+
void OnStart()
  {
  test();
  }

'i' - undeclared identifier tst.mq5 16 3

вариант с void будет без проблем работать, ну Вам там виднее, наполенку не забудьте снять
 
A100:

Ежу понятно

#define MACRO Print( "OK" )
void OnStart() { MACRO; }

А Вам что, скобочки после макроса душу греют?

А так да, употреблять в объявлении параметра макроса зарезервированные слова - это та еще любовь к предпосылкам создания лютых багов. Ну да, каждый сам решает как себе ноги отстреливать, благо разрабы не совсем нас обезопасили от сего увлекательного действия, за что им респект)))

Разберитесь наконец что есть параметр макроса и как он употребляется.

 
Igor Makanu:

хм, сложно все у Вас...... ЕЖАМ привет передавайте!

'i' - undeclared identifier tst.mq5 16 3

вариант с void будет без проблем работать, ну Вам там виднее, наполенку не забудьте снять
void OnStart()
  {
  for(i=0;i<10;i++) Print("OK");;
  }

Вот что Вам препроцессор собрал на выходе.

PS две ; - это не моя опечатка, это реально после препроцессора будет.
 
Igor Makanu:

вариант с void будет без проблем работать, ну Вам там виднее, наполенку не забудьте снять

В данном частном случае будет работать, а в общем случае - нет. Наихудшие решения для частных случаев - никому не нужны. Под void подразумевались любые ключевые слова, если Вы до сих пор не поняли

 
Vladimir Simakov:

А Вам что, скобочки после макроса душу греют?

А так да, употреблять в объявлении параметра макроса зарезервированные слова - это та еще любовь к предпосылкам создания лютых багов. Ну да, каждый сам решает как себе ноги отстреливать, благо разрабы не совсем нас обезопасили от сего увлекательного действия, за что им респект)))

Разберитесь наконец что есть параметр макроса и как он употребляется.

Для вас у меня есть железобетонный аргумент: "В С++ все работает как надо". Есть что на него возразить? Нет? - тогда свои нравоучения оставьте при себе. И разобраться нужно вам - если не понятно зачем скобочки

P.S.  это  Igor Makanu предлагал - ему об этом напишите
 
A100:

В данном частном случае будет работать, а в общем случае - нет. Наихудшие решения для частных случаев - никому не нужны. Под void подразумевались любые ключевые слова, если Вы до сих пор не поняли

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

Vladimir Simakov:

Вот что Вам препроцессор собрал на выходе.

PS две ; - это не моя опечатка, это реально после препроцессора будет.

да понятно это все про ;

 вопрос был чисто технически как правильно

записал любой тип, ожидалось что фигня получится - так и получилось, использую редко (в основном отправку ордера пишу как макрос BUY(double lot) или просто BUY()) - тут всегда использовал void - проблем не было и не должно быть

 
A100:

Для вас у меня есть железобетонный аргумент: "В С++ все работает как надо". Есть что на него возразить?

А еще есть C#, JS и все прочие. Только тут mql, а в нем вот так.
 
Igor Makanu:

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

Не приятно? Технические темы интересуют? Судя по этому вашему сообщению я так понял вас больше интересует тема садо мазо. С вами я общаюсь - на вашем языке - использую ваш словарный запас

 
Vladimir Simakov:
А еще есть C#, JS и все прочие. Только тут mql, а в нем вот так.

А причем здесь C#, JS и все прочие? Вы MQL документацию прочтите - 1ую страницу:

"Синтаксис языка MQL5 подобен синтаксису С++"

https://www.mql5.com/ru/docs/basis.

Документация по MQL5: Основы языка
Документация по MQL5: Основы языка
  • www.mql5.com
Язык MetaQuotes Language 5 (MQL5) является объектно-ориентированным языком программирования высокого уровня и предназначен для написания автоматических торговых стратегий, пользовательских технических индикаторов для анализа разнообразных финансовых рынков. Он позволяет не только писать разнообразные экспертные системы, предназначенные для...
Причина обращения: