Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 318
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
Nachmittags. Ich habe eine EA, es funktioniert gut in der Strategie-Tester (öffnet Aufträge und alles). Aber wenn ich sie einfach in ein Diagramm einfüge, passiert nichts. Der EA funktioniert nicht. Ich habe auch ein Kreuz neben dem Namen des EAs auf dem Diagramm bemerkt. Wie kann man das beheben?
Wenn Sie den EA auf dem Chart platzieren, öffnet sich ein Fenster mit Parametern. Es gibt verschiedene Registerkarten - in der ersten "General" müssen Sie ein Häkchen vor "Allow EA to trade" setzen.
Wenn sich der EA bereits im Chart befindet und mit einem Kreuz angezeigt wird, klicken Sie in der Symbolleiste auf die Schaltfläche "EAs" (gelber Würfel in einem Hut mit einem roten Kreis und einem weißen Quadrat innerhalb des Kreises).
Guten Tag. Helfen Sie mir, mit einem seltsamen Problem umzugehen.
Der Punkt ist: Ich schreibe einen Multitiming-Indikator, d.h. einen Indikator, der, wenn er zu einer beliebigen Zeit geöffnet ist, auch für alle anderen Zeiten Signale berechnet und gibt.
Die Grundlage des Indikators ist der RSI.
In init() wird beim Umschalten des Zeitrahmens ein separates Array entsprechend der Indikatorlinie angelegt. Für jeden von ihnen wird die Linie angezeigt, wenn man sich zu diesem oder jenem Zeitpunkt befindet, aber die Berechnungen für andere Zeitpunkte gehen nicht weiter (die Funktion iRSI jagt dummerweise Nullen in der Berechnung). D.h. die aktuelle Zeit wird berechnet, andere Zeiten jedoch nicht.
Ich füge den Code ein:
Interessant ist, dass, wenn wir nur ein Feld für die Indikatorlinie belassen und nur W1 zu jeder Zeit berechnen, alles zu jeder(!) Zeit korrekt berechnet und gezeichnet wird.
Was ist der Trick? Es ist unmöglich, verschiedene Arrays für die Indikatorzeile während der Initialisierung zu nehmen, abhängig von der Zeit?
Guten Tag. Helfen Sie mir, mit einem seltsamen Problem umzugehen.
Der Punkt ist: Ich schreibe einen Multitime-Indikator, d.h. einen Indikator, der, wenn er zu einem beliebigen Zeitpunkt geöffnet ist, auch für alle anderen Zeiten Berechnungen durchführt und Signale gibt.
Die Basis des Indikators ist der RSI.
In init() wird beim Umschalten des Zeitrahmens ein separates Array entsprechend der Indikatorlinie angelegt. Für jeden von ihnen wird die Linie angezeigt, wenn man sich zu diesem oder jenem Zeitpunkt befindet, aber die Berechnungen für andere Zeitpunkte gehen nicht weiter (die Funktion iRSI jagt dummerweise Nullen in der Berechnung). D.h. die aktuelle Zeit wird berechnet, andere Zeiten jedoch nicht.
Hier ist der Code:
Interessant ist, dass, wenn wir nur ein Feld für die Indikatorlinie belassen und nur W1 zu jeder Zeit berechnen, alles zu jeder(!) Zeit korrekt berechnet und gezeichnet wird.
Was ist der Trick? Es ist unmöglich, verschiedene Arrays für die Indikatorzeile während der Initialisierung zu nehmen, abhängig von der Zeit?
Nur W1 und D1 werden gelesen! Was wollen Sie? Bringen Sie es für die anderen zu Ende!
Das ist nicht der Punkt. Ich habe nur Berechnungen für D1 und W1 angegeben, damit der Code nicht zu lang ist. Hinweis: Bei jedem Tick in jedem Zeitrahmen werden die berechneten Werte von W1 gedruckt. Wenn also eine beliebige Zeit außer W1 geöffnet wird, werden Nullen gedruckt. Wenn es bei W1 funktioniert, wird es auch bei anderen funktionieren.
Das ist nicht der Punkt. Ich habe nur Berechnungen für D1 und W1 angegeben, um den Code nicht zu lang werden zu lassen. Bitte beachten Sie: Bei jedem Häkchen in einem beliebigen Zeitrahmen werden die berechneten Werte von W1 gedruckt. Wenn also eine beliebige Zeit außer W1 geöffnet wird, werden Nullen gedruckt. Wenn es bei W1 funktioniert, wird es auch bei allen anderen funktionieren.
Richtig! Um sie in anderen Charts anzuzeigen, müssen Sie auch den Wochenchart öffnen!
Um ehrlich zu sein, habe ich diese Aussage nicht verstanden.
Und es ist nicht nötig, etwas anderes zu zeigen. Wenn Sie den Code ausführen, werden Sie sehen, dass es bereits zeigt, was ich will: auf D1 zeigt es Chart RSI D1 und auf W1 - Chart RSI W1, aber zur gleichen Zeit, wenn D1 offen ist, dann RSI für W1 sind alle Null, und wenn W1 offen ist, dann die Berechnungen für D1 sind Null. Die Frage ist, warum dies der Fall ist und wie man das Problem lösen kann.
Das Problem besteht darin, dass sich das Index-Array selbst initialisiert und auf die richtige Größe bringt.
Ich habe den Schalter in init() wie folgt geändert:Wenn ich also D1 öffne, wird RSI_D1[] indiziert, und alles ist in Ordnung, aber andere Arrays bleiben im embryonalen Zustand.
Ich habe es auf diese Weise versucht: Ich habe alle Arrays auf diese Weise deklariert:
Bei ArrayResize gibt GetLastError jedoch einen Fehler aus:
EURUSD,Daily: Größe des Arrays kann nicht geändert werden
EURUSD,Daily: some array error
Wie auch immer, wer kann mir sagen, wie ich dieses Problem lösen kann?
Das Problem besteht darin, dass sich das Index-Array selbst initialisiert und auf die richtige Größe bringt.
Ich habe den Schalter in init() wie folgt geändert:Wenn ich also D1 öffne - RSI_D1[] wird indiziert, und alles ist in Ordnung, aber andere Arrays bleiben im embryonalen Zustand.
Ich habe es auf diese Weise versucht: Ich habe alle Arrays auf diese Weise deklariert:
Bei ArrayResize gibt GetLastError jedoch einen Fehler aus:
EURUSD,Daily: Größe des Arrays kann nicht geändert werden
EURUSD,Daily: some array error
Wie auch immer, wer kann mir sagen, wie ich dieses Problem lösen kann?
Wenn es sich um ein dynamisches Array handelt, müssen Sie die Größe des Arrays erhöhen, um die neuen Daten unterzubringen, wenn Sie Werte in das Array schreiben. ArrayResize()
Aber ArrayResize GetLastError gibt einen Fehler:
EURUSD,Daily: kann nicht die Größe des Arrays
EURUSD,Daily: einige Array-Fehler
Darüber habe ich oben geschrieben:
Allerdings gibt GetLastError bei ArrayResize einen Fehler:
EURUSD,Daily: Größe des Arrays kann nicht geändert werden
EURUSD,Daily: Array-Fehler
Um ehrlich zu sein, habe ich diese Aussage nicht verstanden.
Und es ist nicht nötig, etwas anderes zu zeigen. Wenn Sie meinen Code ausführen, werden Sie sehen, dass alles bereits angezeigt wird: RSI D1 wird auf D1 und RSI W1 auf W1 angezeigt, aber gleichzeitig, wenn D1 offen ist, dann sind alle RSI für W1 null, und wenn W1 offen ist, dann sind alle RSI für D1 null. Die Frage ist, warum dies der Fall ist und wie man das Problem lösen kann.
Denn der Zwischenspeicher ist allein und zeigt einen nach dem anderen bei Ihrem Anruf an!