[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 705
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
So klar, in das Buch zu schauen und nicht zu sehen, funktioniert, danke! Weiter geht's) mit Fragen. Alle über die gleichen globalen Variablen. Ich habe dem Indikator die folgende Bedingung hinzugefügt:
Ich möchte festlegen, welcher globalen Variablen ein Wert zugewiesen werden soll, je nachdem, auf welcher Währung der Indikator basiert.
Ich verstehe, dass in der globalen Variablen GlobalVariableSet(valuta,param) der Name (valuta) den Wert enthalten sollte, der ihr oben zugewiesen wurde
die globale Variable im Code des Expert Advisors erneut aufrufen
string valuta="valuta";
int i= GlobalVariableGet(valuta); // aber ich erhalte den Wert nicht, .... Möglicherweise ist es unmöglich, den Namen der globalen Variablen auf diese Weise zu ändern?
Wenn ein EA den vom Indikator gespeicherten Wert prüft, wäre es logisch anzunehmen, dass der Wert des Parameters valuta dem Symbolnamen entsprechen sollte, d.h. EURUSD oder GBPUSD.
Wenn der Berater also den Wert für das aktuelle Symbol prüft, dann
string valuta = Symbol();
int i= GlobalVariableGet(valuta);Erstens, von der Hilfe
Gibt den Wert der vorhandenen globalen Variablen zurück oder 0 im Falle eines Fehlers. Rufen Sie GetLastError() auf, um Fehlerinformationen zu erhalten.
Können Sie den Inhalt des GV sehen, aber nicht abrufen?
Nun, globale Variablen zeigen sowohl den Namen als auch den Wert an, ..... Ich kann einfach nicht den Wert der globalen Variable in meinem Code über (Parameter-Name) globale Variable zu bekommen, muss ich String-Namen angeben, dann kein Problem es findet alles.
Nun, die globalen Variablen zeigen sowohl den Namen als auch den Wert an, ...... Ich kann den Wert der globalen Variable in meinem Code nicht über (Parameter-Name) der globalen Variable abrufen, ich muss den String-Namen angeben, dann findet er keine Probleme.
Ersetzen Sie
if (symb==EUR) {valuta=EUR;}
zu
if (symb=="EURUSD") {valuta="EUR";}
Wenn der EA den vom Indikator gespeicherten Wert prüft, dann wäre es logisch anzunehmen, dass der Wert des Parameters valuta dem Namen des Instruments entsprechen sollte, d.h. EURUSD oder GBPUSD...
Wenn der Berater also den Wert des aktuellen Symbols prüft, dann
string valuta = Symbol();
int i= GlobalVariableGet(valuta);So funktioniert's)) Es ist einfacher als es aussieht )
Vielen Dank an alle, die uns besuchen und helfen!
Freunde, sagt mir, wo ich Mist gebaut habe... Ich kann es nicht herausfinden. Der Indikator liest Daten, aber dann funktioniert er nicht. Ich kann es nicht finden. Vielleicht kann mir jemand sagen, was ich nicht verstehe:
Das Journal zeigt immer die Daten des Arrays der Indikatorwerte an, hält dann aber an...
... nur eine Nullzelle... und nur Null... Hilfe bitte...
Entschuldigung, da ist ein Fehler passiert ..... hier ist das Original
Odyssee, wenn du sie nicht hast, solltest du sie hinzufügen :))
Freunde, sagt mir, wo ich Mist gebaut habe... Ich kann es nicht herausfinden. Der Indikator liest Daten, aber dann funktioniert er nicht. Ich kann es nicht finden. Vielleicht kann mir jemand sagen, was ich nicht verstehe:
Das Journal zeigt immer die Daten des Arrays der Indikatorwerte an, hält dann aber an...
... nur eine Nullzelle... und nur Null... Hilfe bitte...
Artyom, ich habe den ersten Fehler gefunden:
Arrays PeakUP[] und PeakDN[], sind ohne angegebene Anzahl der Elemente deklariert, das heißt, Sie haben sie überhaupt ohne Zellen erstellt, und weiter in einem Code versuchen, etwas in ihnen zu schreiben, aber da sie nicht in sich selbst Elemente enthalten, natürlich in ihnen nichts geschrieben wird, und in den Drucker ständig Null. Da Sie nicht genau wissen, wie viele Spitzen und Talsohlen es geben wird, empfehle ich Ihnen, die Anzahl der Elemente in diesen Arrays dynamisch zu erhöhen, wenn neue Daten eintreffen; korrigierte Bereiche sind rot markiert.
ArraySize() gibt die Gesamtzahl der Arrayelemente zurück, aber da die Indexierung bei Null beginnt, ist die tatsächliche Anzahl der Elemente ArraySize() - 1.
...wie man es macht, oder zumindest was darin angegeben werden sollte, damit es Aufträge auf anderen Paaren öffnet. Ich möchte nicht mehrere EAs laufen lassen ((
Artyom, bis jetzt habe ich den ersten Fehler gefunden:
Die Arrays PeakUP[] und PeakDN[] sind ohne eine bestimmte Anzahl von Elementen deklariert, d.h. Sie haben sie ohne Zellen erstellt und versuchen im weiteren Verlauf des Codes, etwas hineinzuschreiben, aber da sie selbst keine Elemente enthalten, wird natürlich nichts hineingeschrieben, und im Drucker steht ständig Null. Da Sie nicht genau wissen, wie viele Spitzen und Talsohlen es geben wird, empfehle ich Ihnen, die Anzahl der Elemente in diesen Arrays dynamisch zu erhöhen, wenn neue Daten eintreffen; korrigierte Bereiche sind rot markiert.
ArraySize() gibt die Gesamtzahl der Array-Elemente zurück, aber da die Indexierung bei Null beginnt, ist die tatsächliche Anzahl der Elemente ArraySize() - 1.