[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 409
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Wenn Sie das Diagramm öffnen und aktualisieren, wird eine Anfrage nach neuen Daten an den Server gesendet. Einige gierige Maklerfirmen geben ihr Geld lieber für ihre eigenen Taschen aus als für leistungsfähigere Server und einen breiteren Kanal. Sie müssen die Anzahl der Anfragen des Terminals begrenzen, damit ein schwacher Server nicht "hängen bleibt". MRC hat nur 2000 Anfragen pro Tag. Es ist 10 Mal weniger als die Anzahl ihrer Instrumente multipliziert mit der Anzahl der TFs, ohne die Handelsanfragen zu zählen.
In MQL4 enthaltene Funktionen helfen, den Code zu straffen. So sieht zum Beispiel ein Indikator für 3000 Zeilen in meinem Code aus.
Die Sache ist die, dass ich Bibliotheken gesehen habe und es in der Dokumentation erwähnt wird, dass Inludes normalerweise ganz oben im Code platziert werden, wo globale Variablen deklariert werden. Wenn es Funktionen in Inludes gibt, erscheint es seltsam, dass an einer Stelle, an der globale Variablen deklariert werden, tatsächlich eine Funktion und alternativ eine Art von Variablen vorhanden ist. So ist der Code nicht geschrieben. Wenn Variablen, die im Expert Advisor verwendet werden, und externe benutzerdefinierte Variablen ganz oben deklariert werden, stellt niemand Funktionen daneben! Aber sie platzieren Einlagen mit Funktionen, und das wird als normal angesehen, so wie ich es verstehe. Das ist es, was mich hier am meisten verwirrt.
Es erscheint einfach nicht logisch...
Andererseits wäre es eine logische und lesbare Sache, wenn anstelle mehrerer Funktionen, die dafür zuständig sind, z.B. ein Handelssignal für ein bestimmtes Attribut zu erhalten, irgendwo eine Inline platziert wird.
Leider lässt der Compiler nicht zu, dass eine Inklusion mehr als einmal in einem Modul verwendet wird. Dies ist in der Regel ein Weg, um sich wiederholenden Code zu sparen.
Guten Tag zusammen.
Studieren der Funktionen MarketInfo ( ) und Print( )
Hier ist ein einfacher Code, der diese Funktionen verwendet
Tester, TF 60 min.
Die Anforderung aus dem Diagramm sieht aus wie die CopyRates ArrayCopySeries-Anforderung und nicht die RefreshRates-Anforderung. CopyRates ist die einzige Nicht-Handelsfunktion, die den Server bewegt.
Überprüft RefreshRates(). Wenn dieser Expert Advisor z.B. auf EURUSD ausgeführt wird und ein anderes Tool, dessen Fenster lange Zeit nicht geöffnet war, in die Einstellungen eingefügt wird (so dass der Verlauf nicht vorhanden ist), erscheint der Verlauf.
RefreshRates() bezieht sich also weiterhin auf den Server und füllt den Verlauf. Folglich ist es notwendig, die Ankunft der Geschichte zu kontrollieren.
Der Support sagt, dass sich keine der Funktionen direkt auf den Server bezieht. Alles wird über das Terminal ausgeführt :-).
Wenn Sie GetProfitFromDateInCurrency() verwenden (Original - das ist WICHTIG: Ich weiß nicht, was Sie in Ihrer Version dort haben könnten), dann sollte die Funktion wie folgt aufgerufen werden:
und die Funktion gibt die Gewinne der seit Beginn des aktuellen Tages abgeschlossenen Aufträge zurück.
Und mit Print() können Sie alle dummen Dinge im Code abfangen.
es funktioniert nicht. Es zeigt alle verfügbaren Gewinne aus den Geschäften für die gesamte Historie an.
Hier ist die ursprüngliche Funktion, an der ich natürlich nichts geändert habe
Hier ist der Aufruf und Ausdruck
Überprüft RefreshRates(). Wenn dieser Expert Advisor z.B. auf EURUSD ausgeführt wird und ein anderes Tool, dessen Fenster lange Zeit nicht geöffnet war, in die Einstellungen eingefügt wird (so dass der Verlauf nicht vorhanden ist), erscheint der Verlauf.
RefreshRates() bezieht sich also weiterhin auf den Server und füllt den Verlauf. Folglich ist es notwendig, die Ankunft der Geschichte zu kontrollieren.
Der Support sagt, dass sich keine der Funktionen direkt auf den Server bezieht. Also, alles wird über das Terminal erledigt :-)
Vadim, ich habe Ihr Skript auf einem Terminal ausgeführt, auf dem ich außer den Majors und den Crosses mit dem Yen nie irgendwelche Instrumente geöffnet habe. Wie auch immer, hier ist ein Screenshot:
Nichts wird gepumpt, weil das Marktdatenfeld leer ist, den Kommentaren nach zu urteilen...
Vadim, ich habe Ihr Skript auf einem Terminal ausgeführt, auf dem ich außer den Majors und den Crosses mit dem Yen nie irgendwelche Instrumente geöffnet habe. Wie auch immer, hier ist ein Screenshot:
Es wird nichts hochgepumpt, da das Marktdatenfeld leer ist, den Kommentaren nach zu urteilen...
Ja. Er hat auch nicht bemerkt, dass er MarketInfo() in seinem Expert Advisor hat und nicht nur RefreshRates().
Überprüft RefreshRates(). Wenn dieser Expert Advisor z.B. auf EURUSD ausgeführt wird und ein anderes Tool, dessen Fenster lange Zeit nicht geöffnet war, in die Einstellungen eingefügt wird (so dass der Verlauf nicht vorhanden ist), erscheint der Verlauf.
RefreshRates() bezieht sich also weiterhin auf den Server und füllt den Verlauf. Folglich ist es notwendig, die Ankunft der Geschichte zu kontrollieren.
Der Support sagt, dass sich keine der Funktionen direkt auf den Server bezieht. Also, alles wird über das Terminal erledigt :-)
Der Grad der Vorstellungskraft ist beeindruckend. Warum erscheinen die Daten nur für einige Symbole (die nicht geöffnet wurden) und nicht für alle in der Marktübersicht? Woher wusste die Funktion RefreshRates(), dass einige Symbole aktualisiert werden sollten und andere nicht?
Junko, hör auf zu schwafeln.
funktioniert nicht. Gibt alle verfügbaren Gewinne aus Geschäften in der gesamten Historie aus.
Hier ist die ursprüngliche Funktion, an der ich natürlich nichts geändert habe
Hier ist der Aufruf und Ausdruck
Es ist also alles korrekt. Sie "lesen" die Funktion Zeile für Zeile und verstehen, wie sie funktioniert, wenn Sie zu gelangweilt sind, sie selbst zu schreiben, und alles wird sich von selbst ergeben...
Sie haben einen Funktionsparameter:
ist derZeitpunkt derÖffnung des letzten Tagesbalkens, d.h. alle Positionen, die vor der Öffnung des aktuellen Tagesbalkens geschlossen wurden, werden berechnet und aufsummiert! Ergibt das einen Sinn? Legen Sie also eine andere Messlatte an, die erforderlich ist oder wie auch immer sie lautet. Aber es liegt an Ihnen, das zu erkennen.
Ja. Er hat auch nicht bemerkt, dass er MarketInfo() in seinem Expert Advisor hat, nicht nur RefreshRates().
Alle anderen Funktionen:
DoubleToStr(iOpen(sTool, 0, i), Digits), ",
DoubleToStr(iLow(sTool, 0, i), Digits), ",
DoubleToStr(iHigh(sTool, 0, i), Digits), " ",
DoubleToStr(iClose(sTool, 0, i), Digits), ",
DoubleToStr(iVolume(sTool, 0, i), 0), "\n");
Selbstverständlich werden die Daten aktualisiert.