![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Ist es sinnvoll, dass
rates_total durch BarsCalculated(ich) ersetzen?
Das glaube ich nicht. Es handelt sich eher um einen Service-Stub, der sicherstellt, dass der Puffer bereit ist...
Außerdem gibt Copy so viele Daten wie berechnet zurück, nicht die angeforderte Größe.
Und aus welcher Stadt kommen Sie, wenn nicht aus einer geheimen?
Sind Sie übrigens sicher, dass Sie keine zusätzlichen Funktionen aufrufen müssen?
Die Bibliothek verfügt sowohl über Refresh als auch BufferResize. Ich habe den Eindruck, dass sie für ein normales Funktionieren notwendig sind.
Und wo steht geschrieben, dass sie es sein sollten?
Ich habe verschiedene Varianten ausprobiert.
Ich habe keine Wirkung.
Fortsetzung....
Beim iIchimoku-Indikator ist eine Störung aufgetreten. Mein Indikator zeichnet nur Pfeile in Abhängigkeit von if(tenkan[i]>kijun[i]). Wie Sie auf dem Screenshot sehen können, sind die Pfeile nicht korrekt gezeichnet
Der vollständige Code befindet sich in der Datei Ich_1_f.mq5
Wenn Sie sie jedoch manuell berechnen, wird alles korrekt angezeigt.
Vollständiger Code in der Datei Ich_1_ok.mq5
Schreiben Sie die dll :
einstecken:
anrufen:
erhalten wir dies:
obwohl beide Zeilen den gleichen Wert 153,25 ergeben sollten.
Und warum?
Warum?
Handelt es sich dabei um die 32- oder 64-Bit-Version?
Es ist sehr einfach - in der Funktion GetPtrVar(double a) nehmen Sie die Adresse einer Kopie der Variablen im Stack und versuchen dann, das verschüttete Stück Stack-Speicher zu lesen.
Beim ersten Mal konnten wir aufgrund eines nahen Aufrufs von GetValuePtr vom nicht kontaminierten Stack lesen, während die nachfolgenden Funktionsaufrufe den Stack unwiderruflich beschädigten.
Es liegt kein Fehler vor.
Es ist sehr einfach - in der Funktion GetPtrVar(double a) nehmen Sie die Adresse einer Kopie der Variablen im Stack und versuchen dann, das verschüttete Stück Stack-Speicher zu lesen.
Ja, genau, ich hatte das Gefühl, dass ich dort irgendwo graben muss.
Sie müssen in die DLL schreiben
Es ist sehr einfach - in der Funktion GetPtrVar(double a) nehmen Sie die Adresse einer Kopie der Variablen im Stack und versuchen dann, das verschüttete Stück Stack-Speicher zu lesen.
Beim ersten Mal konnten wir aufgrund eines nahen Aufrufs von GetValuePtr vom nicht kontaminierten Stack lesen, während die nachfolgenden Funktionsaufrufe den Stack unwiderruflich beschädigten.
Es liegt kein Fehler vor.
Ich habe es auch bemerkt. Ich denke, das ist der richtige Weg:
verstopfen: