[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 395

 
Polivanovka8b:

Ich versuche, einen sehr einfachen MA-Advisor zu schreiben, aber er sollte bei Stop oder Profit schließen, anstatt bei Backwards Crossover. Das habe ich vermasselt, und als Ergebnis erhielt ich die Fehlermeldung '\end_of_program' - no function defined. Bitte, helfen Sie mir, was ist los? Und wenn Sie mir ein paar Erklärungen geben können.

/*code*/

Guten Tag!

Erstens sollte der Code nicht "in der Luft hängen", sondern in irgendeiner Funktion stehen.

Zweitens muss es eine start() -Funktion geben, die bei jedem Tick aufgerufen wird und die folgende Grundlogik enthalten muss

Drittens wird der Code über die Schaltfläche SRC eingefügt (die Schaltflächenleiste befindet sich direkt über dem Fenster, in das Sie den Nachrichtentext eingeben)

 
Wenn der Metatrader-Ordner von einem PC auf einen anderen kopiert/geschnitten wird, ist das Terminal dann am neuen Ort genauso funktionsfähig wie am ursprünglichen Ort?
 
yellownight:
Wenn der Metatrader-Ordner von einem PC auf einen anderen kopiert/geschnitten wird, ist das Terminal dann am neuen Ort genauso funktionsfähig wie am ursprünglichen Ort?
Ja, nur das Passwort und das Login müssen neu eingegeben werden. Das Deinstallationsprogramm ist nicht in der Lage, das Programm zu deinstallieren. Andere Pfade sind in install.log enthalten. Es werden zusätzliche Registrierungseinträge erstellt (install.sss).
 

Guten Tag. Frage zur OBJPROP_TIMEFRAMES-Eigenschaftskennung von grafischen Objekten... Ich habe dieses Skript geschrieben, um ein grafisches Objekt Horizontale Linie zu erstellen (siehe unten).

Frage: Warum wird, obwohl die Funktion ObjectSet(object_name,OBJPROP_TIMEFRAMES,PERIOD_H1) ausdrücklich besagt, dass das Objekt NUR im Zeitrahmen H1 angezeigt werden soll, das erstellte Objekt auch in den Zeitrahmen (mindestens) H4, M30, M15 angezeigt.

Hinweis: Der Header des Skripts enthält eine Zeile mit der Include-Datei #include <WinUser32.mqh>, die sich von der mit dem Client-Terminal gelieferten Quellcode-Include-Datei #include <WinUser32.mqh> unterscheidet.

Dateien:
 
7777877:

Guten Tag. Frage zur OBJPROP_TIMEFRAMES-Eigenschaftskennung von grafischen Objekten... Ich habe dieses Skript geschrieben, um ein grafisches Objekt Horizontale Linie zu erstellen (siehe unten).

Frage: Warum wird, obwohl die Funktion ObjectSet(object_name,OBJPROP_TIMEFRAMES,PERIOD_H1) ausdrücklich besagt, dass das Objekt NUR im Zeitrahmen H1 angezeigt werden soll, das erstellte Objekt auch in den Zeitrahmen (mindestens) H4, M30, M15 angezeigt.


https://docs.mql4.com/ru/constants/objects/visible


Eine weitere Konstante ist OBJ_PERIOD_H1

 

Guten Tag, ich habe eine Frage:

Ich muss die Gesamtzahl der Buy-Tails der vorherigen Balken mit der Formel close[1]-low[1] in Pips berechnen

würde es wie folgt aussehen

...

int xBost_b;

if(schließen[1]>öffnen[1])

xBost_b=xBost_b+((close[1]-low[1])*10000);

...

aber all das wird in start() bei jedem Tick geschrieben

D.h. mit jedem Tick wird ein und derselbe Balken mehrmals inkrementiert, aber wie sollte ich den vorherigen Balken (z.B. wenn ich kaufe) 1 Mal berechnen/einstecken lassen?

 
DanLett:

Guten Tag, ich habe eine Frage:

Ich muss die Gesamtzahl der Buy-Tails der vorherigen Balken mit der Formel close[1]-low[1] in Pips berechnen

würde es wie folgt aussehen

...

if(schließen[1]>öffnen[1])

xBost_b=xBost_b+((close[1]-low[1])*10000);

...

aber alles, was in start() geschrieben wird, wird bei jedem Tick ausgeführt

D.h. bei jedem Tick wird ein und derselbe Balken mehrmals hinzugefügt, wie kann man erreichen, dass der vorherige Balken (z.B. wenn ich kaufe) 1 Mal berechnet/zu der Variable hinzugefügt wird?

a) ein Skript schreiben, es wird nur 1 Mal gezählt

b) Zählen Sie jedes Mal die erforderliche Anzahl von Takten

c) um herauszufinden, wann ein neuer Balken beginnt, und erst dann den vorherigen Balken zur Berechnung "hinzuzufügen"

d) wenn es ein Indikator ist, verwenden Sie IndicatorCounted()

Wählen Sie diejenige, die für Ihre Aufgabe am besten geeignet ist

 
ilunga:

a) ein Skript schreiben, es wird nur 1 Mal gezählt

b) jedes Mal die richtige Anzahl von Balken zählen

c) herausfinden, wann ein neuer Balken beginnt und erst dann den vorherigen Balken zur Berechnung "hinzufügen".

d) Wenn es ein Indikator ist, verwenden Sie IndicatorCounted()

wählen, was für Ihre Aufgabe besser geeignet ist

Ich brauche es als Expert Advisor; ich kann nicht entscheiden, ob ich es tun sollte oder nicht, ich habe alle Code auf der Seite, aber ich habe nicht den Anfang

Start - wie man jeden Takttyp einmal in start() zählt...

 

d.h. während der aktuelle Balken[0] aufgebaut wird, wird der vorherige Balken definiert

und wenn wir kaufen, finden wir das Ende in Pips und fügen Sie die Variable 1 Mal

Ich brauche Ihre Hilfe!

 
ilunga:

Guten Tag. Frage zur OBJPROP_TIMEFRAMES-Eigenschaftskennung von grafischen Objekten... Ich habe dieses Skript geschrieben, um ein grafisches Objekt Horizontale Linie zu erstellen (siehe unten).

Frage: Warum wird, obwohl die Funktion ObjectSet(object_name,OBJPROP_TIMEFRAMES,PERIOD_H1) ausdrücklich besagt, dass das Objekt NUR im Zeitrahmen H1 angezeigt werden soll, das erstellte Objekt auch in den Zeitrahmen (mindestens) H4, M30, M15 angezeigt.


https://docs.mql4.com/ru/constants/objects/visible


Eine weitere Konstante ist OBJ_PERIOD_H1


Ja, danke, das hat geholfen... Aber ich würde gerne verstehen, warum die Option ObjectSet(object_name,OBJPROP_TIMEFRAMES,PERIOD_H1) nicht funktioniert (wie es sollte)? Liegt es an den Fehlern in der Sprache selbst?
Grund der Beschwerde: