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
Dies ist wahrscheinlich für die Symbole, die nicht in MarketWatch sind, wie es für SymbolName sagt:
Geben Sie den Namen des Symbols aus, für das Sie ein unerwartetes Ergebnis erhalten, und vergleichen Sie ihn mit der Liste in MarketWatch....es wird in der Hilfe nicht erwähnt, dass es für die erfolgreiche Arbeit dieser Funktion notwendig ist, dass das Tool im MarketWatch-Fenster vorhanden ist
Die Hilfe muss wirklich mit normalen Beispielen und Engpässen besetzt werden.
PS
Außerdem gibt es oft Situationen, in denen nach Änderungen in der Sprache einige EAs aus der Basis nicht mehr funktionieren (oder Kompilierungsfehler erzeugen).
Heute bemerkt...MT5(access.metatrader5.com:443)
EURJPY, Täglich:
Zum Beispiel GBPJPY, Daily: Hier ist alles in Ordnung.
Und hier ist ein Screenshot von EURJPY, täglich von einem MT4 DC:
Der Unterschied ist mit dem bloßen Auge sichtbar....
Wie kann dies behoben werden?
Dies ist wahrscheinlich für die Symbole, die nicht in MarketWatch vorhanden sind, da für SymbolName es sagt:
Geben Sie den Namen des Symbols aus, für das Sie ein unerwartetes Ergebnis erhalten, und vergleichen Sie ihn mit der Liste in MarketWatch.Für Symbole, die nicht in MarketWatch vorhanden sind, gibt SymbolInfoTick() den Fehler ERR_MARKET_SELECT_ERROR "Symbol nicht in MarketWatch ausgewählt" (Code 4302) zurück.In MarketWatch sind nur EURUSD und GBPUSD ausgewählt. Ein elementarer Lauf zeigt, dass SymbolInfoTick() einen Fehler ERR_MARKET_SELECT_ERRORfür nicht ausgewählte Symbole zurückgibt :
Übrigens unterscheidet sich der letzte Datenblock im Protokollvon sergey1294 von den anderen: Erstens gibt SymbolInfoTick() dieses Mal denselben Fehlercode zurück, und zweitens - finden Sie nicht, dass das Instrument, die Basiswährung und die Margin-Währung in diesem Datenblock seltsame Namen haben?
Ist dies ein Fehler? Ist Ihnen diese Merkwürdigkeit überhaupt aufgefallen?
Was den letzten Datenblock betrifft, so hat die Brute-Force-Schleife einen Fehler gemacht und bei der letzten Datenabfrage auf ein nicht vorhandenes Symbol zugegriffen, so dass alle Felder außer der Einzahlungswährung leer sind.
Wie kann das sein? Ich meine, das Protokoll ist nicht von der Version des Codes, die gegeben wurde?
Nach dem Code zu urteilen, ist dort alles in Ordnung.
Oder SymbolsTotal() gab einen Wert zurück, aber während des Skriptlaufs, irgendwo in der Mitte des Zyklus, durch einen schrecklichen Unfall, entfernte der Makler, der den Serverteil einstellte, ein Symbol aus dem Bestand, und SymbolsTotal() - wenn das Skript es anforderte - würde einen neuen Wert zurückgeben, einen weniger, aber da die Schleifenendbedingung auf dem alten Wert basierte, der in der Variablen Total gespeichert war, gaben die entsprechenden Funktionen bei der letzten Iteration beim Zugriff auf das nun nicht mehr existierende Symbol leere Zeilen zurück? :)
Bislang gab es nur dieses Szenario, um dies zu erreichen. :)
... Dann wird der berechnete Wert explizit in ulong umgewandelt. Genau zu ulong, denn es gibt eine Garantie, dass der zu werfende Wert nicht negativ ist.
Bei der Umwandlung in einen Integer-Typ wird der gebrochene Teil des Real-Typs verworfen. Es ist nicht das Runden auf die nächste Eins, sondern gerade das Wegwerfen des Bruchteils, das garantiert, dass der Wert der maximalen Lose nicht ansteigt, was die freie Marge ermöglicht. Das ist genau das, was wir brauchen.
Die Entwickler.
Wie sorge ich dafür, dass Parameter in den Skripten erscheinen (ich bin zu faul, den Code ständig für neue Bedingungen zu ändern)?
Die Entwickler.
Wie sorge ich dafür, dass Parameter in den Skripten erscheinen (ich bin zu faul, den Code ständig für neue Bedingungen zu ändern)?
#property script_show_inputs