Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1159

 
Artyom Trishkin:
Es wird sie bekommen.
Wenn
Dann
Sie müssen jedoch eine Aktion pro Bedingung schreiben.
Wenn in einer Bedingung mehrere Aktionen enthalten sein müssen, schreiben Sie dieselbe Bedingung so oft wie nötig für jede Aktion.
Aber ohne Klammern...

OK. Zur Klarstellung.

Die Frage ist, wie man "patchen" kann, um einen Ausdruck und mehrere Operatoren zu schreiben, mit Einrückung, ohne Klammern, wie in pyton.

 
Andrey Sokolov:

Ja. Zur Klarstellung.

Die Frage ist, wie man "patchen" kann, um einen Ausdruck und mehrere Operatoren, eingerückt, ohne Klammern, wie in pyton zu schreiben.

Das können Sie nicht.
Sie können auch einen eigenen Editor schreiben, der das Programm versteht und korrekt kompiliert.
Oder schreiben Sie es in Python.
 
Artyom Trishkin:
Das können Sie nicht.

Wie können Sie sicher sein, dass niemand dies implementiert hat, indem er z. B. einen Patch geschrieben hat? Verzeihen Sie die kritische Betrachtungsweise.

 
Artyom Trishkin:
Er wird es verstehen.
Wenn
Dann
Sie müssen jedoch eine Aktion pro Bedingung schreiben.
Wenn in einer Bedingung mehrere Aktionen enthalten sein müssen, schreiben Sie dieselbe Bedingung so oft wie nötig für jede Aktion.
Aber ohne Klammern...

alles ist möglich, auch ohne ;

#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

Damals in den 90ern kannte ich einen Typen, der versuchte, mit Makros und Präprozessor "in C wie in Modul" zu schreiben. Aus demselben Grund - er mochte Modula und seine Projekte waren C...

 
Maxim Kuznetsov:

alles ist möglich, auch ohne ;

In den 90er Jahren kannte ich einen Mann, der versuchte, mit Makros und einem zusätzlichen Präprozessor "in C zu schreiben wie in Modula". Aus demselben Grund - er mochte Modula und seine Projekte waren C...

gutes Beispiel, sieht aber aus wie Chinesisch in Altslawisch

ZS: Ja! BASIC - es sieht aus wie BASIC!!!


und hier ist eine Frage... die Ziele erreicht und was über die Verwendung von vorgefertigten Code, nicht alles von Grund auf neu zu schreiben? denn wenn Sie von Grund auf neu zu schreiben, dann warum MQL ? - Sie müssen in einer Sprache eines Drittanbieters schreiben, und das Einzige, was übrig bleibt, ist ein Konnektor für den Handel über MT

 
Maxim Kuznetsov:

alles ist möglich, auch ohne ;

In den 90er Jahren kannte ich einen Mann, der versuchte, mit Makros und einem zusätzlichen Präprozessor "in C zu schreiben wie in Modula". Aus demselben Grund - er mochte Modular und seine Projekte waren C...

danke

Die Frage zielt eher darauf ab, wie man die Halterungen entfernt, nicht wie man sie ersetzt. Damit sie wie bei Pyton "eingerückt" sind.

 
Andrey Sokolov:

Wie können Sie sicher sein, dass niemand dies implementiert hat, indem er z. B. einen Patch geschrieben hat? Entschuldigen Sie den kritischen Ansatz.

Schreiben.

 
Andrey Sokolov:

danke

Die Frage ist eher, wie man die Halterungen entfernt, nicht wie man sie ersetzt. Damit sie wie bei Pyton "eingerückt" sind.

Es wäre wahrscheinlich besser, wenn Sie in Python schreiben würden. Warum brauchen Sie MQL als eine C-ähnliche Sprache? Es hat seine eigene Syntax, in Python ist man daran gewöhnt.

 
Maxim Kuznetsov:

alles ist möglich, auch ohne ;

Es wird also ein Zeichen durch ein anderes Wort ersetzt, was noch schlimmer ist. Und er muss sie durch Leerzeichen ersetzen.

 
Artyom Trishkin:

Es wird also ein Zeichen durch ein anderes Wort ersetzt, was noch schlimmer ist. Und er muss sie durch Räume ersetzen.

Es gibt Makroprozessoren. Da fällt mir die m4 ein.

Wenn Sie Ihre linke Hand mit der rechten Ferse über den Rücken kratzen wollen, können Sie das tun. Fügen Sie Makros hinzu, lassen Sie Beispiele durch den Präprozessor laufen und geben Sie das Ergebnis an den Compiler weiter.

Ich verstehe den Drang nicht, das zu tun, wie jeder andere auch. Aber wenn jemand wirklich will, darf man das. Der Redakteur wird ihn nicht verstehen, und wir werden seine Hartnäckigkeit und seine Phantasie zu schätzen wissen.