Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1159

 
Artyom Trishkin:
Поймёт.
Если
   То
Но придётся на одно условие писать одно действие.
Если в одном условии должно быть много действий, то на каждое действие пишите по одному и тому же условию столько раз, сколько нужно действий.
Зато без скобок...

ок. Уточню.

Вопрос как "пропатчить" чтоб записывать одно выражение и несколько оператоторов, с отступом, без скобок, как в pyton.

 
Andrey Sokolov:

ок. Уточню.

Вопрос как "пропатчить" чтоб записывать одно выражение и несколько оператоторов, с отступом, без скобок, как в pyton.

Никак.
Ну ещё можете написать свой редактор, который поймёт и скомпилирует правильно. 
Или писать на питоне.
 
Artyom Trishkin:
Никак.

Как можно быть уверенным в том что это никто не реализовал, к примеру, написав патч? Извините за критичность подхода.

 
Artyom Trishkin:
Поймёт.
Если
   То
Но придётся на одно условие писать одно действие.
Если в одном условии должно быть много действий, то на каждое действие пишите по одному и тому же условию столько раз, сколько нужно действий.
Зато без скобок...

всё возможно.  Можно даже без ; 

#define DO {
#define END };
#define DONE }
#define IT(x) x;
#define IF if (
#define THEN ) {
#define ENDIF };

IT(datetime time0)
IT(int ticket)

int OnInit()
DO
   IT(time0=iTime(_Symbol,_Period,0))
   IT(ticket=-1)
   IT(return(INIT_SUCCEEDED))
END

void OnDeinit(const int reason) DO IT(return) DONE

void OnTick()
DO
   IF time0!= iTime(_Symbol,_Period,0) THEN
      IT(time0 = iTime(_Symbol,_Period,0))
      IF ticket != -1 THEN 
         IT(CloseMyOrder())
      ENDIF   
      IT(ticket = OpenRandomOrder())
   ENDIF
END

в 90-е годы знавал одного дядечку, который макросами и доп.препроцессором пытался "писать на С как на Модуле". По такой-же причине - Модула ему нравилась, а на проектах был С...

 
Maxim Kuznetsov:

всё возможно.  Можно даже без ; 

в 90-е годы знавал одного дядечку, который макросами и доп.препроцессором пытался "писать на С как на Модуле". По такой-же причине - Модула ему нравилась, а на проектах был С...

хороший пример, но выглядит как китайская грамота на старославянском

ЗЫ: да! Бейсик - это выглядит как Бейсик!!!


а такой вот вопрос... цели достигнуты, а как быть с применением готового кода, не писать же все с нуля? ибо если писать с нуля, то зачем MQL ? - нужно писать на стороннем языке, а останется только сделать коннектор для торговли через МТ

 
Maxim Kuznetsov:

всё возможно.  Можно даже без ; 

в 90-е годы знавал одного дядечку, который макросами и доп.препроцессором пытался "писать на С как на Модуле". По такой-же причине - Модула ему нравилась, а на проектах был С...

спасиб

Вопрос больше в том как убрать  скобки, а не заменить их. Чтоб они "подставлялись" с учетом отступов, как в pyton.

 
Andrey Sokolov:

Как можно быть уверенным в том что это никто не реализовал, к примеру, написав патч? Извините за критичность подхода.

Напишите.

 
Andrey Sokolov:

спасиб

Вопрос больше в том как убрать  скобки, а не заменить их. Чтоб они "подставлялись" с учетом отступов, как в pyton.

Лучше вам наверное на питоне писать. Зачем вам MQL как С-подобный язык? Тут свой синтаксис, на питоне - вам привычный.

 
Maxim Kuznetsov:

всё возможно.  Можно даже без ; 

Так это замена одного знака другим словом, что ещё хуже. А ему нужна замена пробелами.

 
Artyom Trishkin:

Так это замена одного знака другим словом, что ещё хуже. А ему нужна замена пробелами.

существуют макро-препроцессоры. Вспоминается m4.

если очень хочется чесать левой рукой правую пятку через спину, то можно. Набодяжить макросов, сорцы пропускать через препроцессор и результат отдавать компилятору.

мне так же как и всем непонятен позыв такое делать. Но если человеку очень хочется, то можно. Редактор его не поймёт, а мы оценим упорство и полёт фантазии

Причина обращения: