Mt4 Ende der Unterstützung. - Seite 21

 
Andrei:

... Eine einzige Schnittstelle ist für die Programmierung jeglicher Rechenaufgaben völlig ungeeignet...

Anders verhält es sich, wenn man 1000 ähnliche Aufgaben hat, die man unter einer Flagge zusammenfassen und universelle Handler für jede Funktion für jede dieser vielen Aufgaben erstellen kann.

Mit freundlichen Grüßen.

 
Реter Konow:

Ich entschuldige mich für die leichte Verzögerung.

Hier ist die erste Version der Funktion. Sie können es weiter verfeinern und entwickeln. Wenn jemand einen Fehler bemerkt, bitte ich um einen Kommentar.

Ohhhh... Ich bin natürlich nicht darauf eingegangen - es ist sehr schwer für mich, solchen Code zu lesen. Nehmen wir an, dass sie hypothetisch das liefert, was sie soll.

Und woher wissen Sie, dass es einen neuen Balken auf EURUSD und USDCAD gibt - für jeden von ihnen auf drei Zeitrahmen - M5, H1 und D1?

 
Andrey Kisselyov:

anders ist es, wenn man 1.000 ähnlich strukturierte Aufgaben hat

Ich glaube nicht, dass es überhaupt 2 ähnliche Aufgaben gibt. :) Sie können eine Funktion 1000 Mal aufrufen, aber es ist eine Aufgabe, nicht 1000.

 
Artyom Trishkin:

Ohhhh... Ich bin natürlich nicht darauf eingegangen - es ist sehr schwer für mich, solchen Code zu lesen. Nehmen wir an, dass sie hypothetisch das liefert, was sie soll.

Und woher wissen Sie, dass es einen neuen Balken auf EURUSD und USDCAD gibt - auf jedem der drei Zeitrahmen - M5, H1 und D1?

Wenn die Zitate von einem Server kommen, ist es egal, welches Instrument. Schließlich werden die Balken für jedes Symbol zur gleichen Zeit geöffnet.

Anders verhält es sich, wenn sich die Quellen der Zitate in verschiedenen Teilen der Welt befinden. Für Minuten spielt das keine Rolle, aber es kann ein Problem mit höheren Zeitrahmen geben. Vielleicht müssen die Zeitfunktionen genauer untersucht und eine genaue Zeitkorrektur vorgenommen werden. Aber das ist die nächste Stufe in der Entwicklung dieser Lösung...

Für diese Funktion müssen Sie eine Kalibrierung vornehmen...

 
Реter Konow:

Wenn die Kurse von demselben Server stammen, spielt es keine Rolle, um welches Instrument es sich handelt. Schließlich werden die Balken bei jedem Instrument gleichzeitig geöffnet.

Anders verhält es sich, wenn die Quellen der Zitate in verschiedenen Teilen der Welt liegen. Für Minuten spielt das keine Rolle, aber es kann ein Problem mit höheren Zeitrahmen geben. Vielleicht müssen die Zeitfunktionen genauer untersucht und eine genaue Zeitkorrektur vorgenommen werden. Aber das ist die nächste Stufe in der Entwicklung dieser Lösung...

Sie müssen eine Kalibrierung für diese Funktion vornehmen...


es gibt einen Unterschied ....

 
Andrei:

Ich glaube nicht, dass es überhaupt 2 ähnliche Aufgaben gibt. :) Die Funktion kann 1000 Mal aufgerufen werden, aber es ist eine Aufgabe, nicht 1000.

Es geht nicht um den Aufruf einer Funktion im EA, sondern um das Schreiben universeller Schnittstellen (Handler).

Sie haben 1000 Aufgaben, um einen Roboter zu schreiben. Jede von ihnen besteht im Wesentlichen aus
1 Funktion, ein Signal zum Öffnen zu erhalten
2. Funktion der Auftragseröffnung
3 Funktion der Auftragsverfolgung
4 Empfangen eines Signals zum Schließen eines Auftrags
und so weiter.
Diese Funktionen sind für jeden Roboter unterschiedlich, aber innerhalb von 1000 Projekten wiederholen sie sich, so dass man die Funktionen zu vielseitigen Modulen zusammenstellen und je nach Aufgabe die richtige aufrufen kann.

Mit freundlichen Grüßen.
 
Vladimir Pastushak:

es gibt einen Unterschied ....

Erklären Sie das.
 
Реter Konow:

Wenn die Kurse von demselben Server stammen, spielt es keine Rolle, um welches Instrument es sich handelt. Schließlich werden die Balken bei jedem Instrument gleichzeitig geöffnet.

Anders verhält es sich, wenn die Quellen der Zitate in verschiedenen Teilen der Welt liegen. Für Minuten spielt das keine Rolle, aber es kann ein Problem mit höheren Zeitrahmen geben. Vielleicht müssen die Zeitfunktionen genauer untersucht und eine genaue Zeitkorrektur vorgenommen werden. Aber dies ist die nächste Stufe in der Entwicklung dieser Lösung...

Sie müssen eine Kalibrierung für diese Funktion vornehmen...

Ein neuer Balken wird gebildet, wenn der erste Tick im Balken eintrifft, wobei das Instrument eine Rolle spielt.


mit Respekt.

 
Реter Konow:

Wenn die Kurse von demselben Server stammen, spielt es keine Rolle, um welches Instrument es sich handelt. Schließlich öffnen sich die Balken bei jedem Instrument zur gleichen Zeit.

Anders verhält es sich, wenn die Quellen der Zitate in verschiedenen Teilen der Welt liegen. Für Minuten spielt das keine Rolle, aber es kann ein Problem mit höheren Zeitrahmen geben. Vielleicht müssen die Zeitfunktionen genauer untersucht und eine genaue Zeitkorrektur vorgenommen werden. Aber dies ist die nächste Stufe in der Entwicklung dieser Lösung...

Sie müssen eine Kalibrierung für diese Funktion vornehmen...

Erforderlich ist die Eröffnung eines neuen Balkens auf einem der vorgeschlagenen Symbole auf drei Zeitrahmen.

Wenn es keine Notierung für eines der Symbole gibt, wird kein neuer Balken eröffnet. Und der neue Balken erscheint erst, wenn ein neuer Tick kommt. Wenn es im EURUSD einen neuen Balken gibt, aber der USDCAD noch keine neue Notierung erhalten hat, die dem neuen Balken entspricht, wird der neue Balken nicht gebildet. Aber wir müssen genau wissen, wann die neue Bar eröffnet wird, ohne dass es irgendwelche Vorbehalte gegen ihre Zeit gibt. Sie müssen wissen, wann der neue Takt beginnt:

wenn es einen neuen Balken auf M5 auf EURUSD gibt, dann...
wenn es einen neuen Balken auf H1 auf EURUSD gibt, dann...
wenn es einen neuen Balken auf D1 bei EURUSD gibt, dann...
--------
wenn es einen neuen Balken auf M5 bei USDCAD gibt...
wenn es einen neuen Balken auf H1 auf USDCAD gibt, dann ...
wenn es einen neuen Balken auf D1 auf USDCAD gibt, dann ...

 
...und Time[0] sollte durch iTime(_Symbol,PERIOD_M1,0) ersetzt werden
weil die Minuten nicht zählen werden