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
Die Codes werden hinzugefügt:
Die Codes werden hinzugefügt:
Danke, dann fehlt noch eine Funktion, um den Handle auf Gültigkeit zu prüfen.
Wir akzeptieren von CL-Funktionen nur den Wert des Zeigers, nicht den Zeiger selbst, so dass die Speicherung des Zeigers an verschiedenen Stellen zu einer Situation führen wird, in der versucht wird, einen ungültigen Prozess zu entfernen (sei es Kontext, Puffer, Programm oder Kernel).
Funktion erforderlich:
Außerdem ist es notwendig, die Speichergröße des Geräts programmatisch zu ermitteln, da Visionen weniger Speicher haben als CPUs, während alle gleichzeitig vorhandenen Kontexte denselben Speicher verwenden.
Es wäre gut, die Kartentemperatur (und auch die CPU-Temperatur) mit Standard-MQL-Mitteln zu ermitteln, um die Last zu dosieren.
// Weil ich ein bisschen randaliert habe... :)
Das Abrufen von Eigenschaften von OpenCL-Objekten wird in Kürze verfügbar sein.
Auch die Kontrolle der Griffe wird organisiert.
1. Es gibt keine Funktion in OpenCL, um die GPU-Temperatur und -Last zu ermitteln.
2. Das Abrufen von Eigenschaften von OpenCL-Objekten wird bald verfügbar sein.
3. auch die Kontrolle der Handhabe wird organisiert.
1. Ich weiß. Es muss nicht über OpenCL sein, sondern über das System, um die Funktionalität nativ zu machen (ohne DLL-Aufrufe von mql5-Programmen).
Hier sind einige ausgezeichnete Funktionen:
TerminalInfoInteger
Gibt einen ganzzahligen Wert einer entsprechenden Umgebungseigenschaft eines mql5-Programms zurück.
TerminalInfoString
Liefert einen String-Wert einer entsprechenden Umgebungseigenschaft eines mql5-Programms
MQL5InfoInteger
Gibt einen ganzzahligen Wert einer entsprechenden Eigenschaft eines laufenden mql5-Programms zurück
MQL5InfoString
Liefert einen Wert vom Typ String für eine entsprechende Eigenschaft eines gestarteten mql5-Programms
Es wäre schön und logisch, dies hinzuzufügen:
SystemInfoInteger und damit
SystemInfoString
die den Zugang zu allen notwendigen Informationen über die Systemumgebung ermöglicht: Anzahl der Kerne, Name und Größe des Betriebssystems, Größe des Speichers (insgesamt), Größe des verfügbaren (freien) Speichers (RAM und Festplattenplatz), usw., usw.
Schließlich funktioniert das Terminal nicht im leeren, ewigen Raum. Ansonsten sieht es sehr sandig aus.
2, 3.
4. stellen Sie sicher, dass Sie einen normalen Pufferzugriff (cl_Read/WriteBuffer) implementieren und beide Startoffsets angeben (sowohl den mql-Array-Offset als auch den Offset im cl-Puffer). Andernfalls müssen fast alle Arrays zweimal kopiert werden - brauchen wir das wirklich? Wir schreiben nicht in OpenCL, um Zeit damit zu verschwenden, aus dem Nichts ins Nichts umzuschreiben. Das ist nicht fair. :)
...
4. Vergewissern Sie sich, dass Sie bereits einen normalen Pufferzugriff haben (cl_Read/WriteBuffer), wobei Sie beide Startoffsets angeben (sowohl mql-array offset als auch cl-buffer offset). Andernfalls müssen fast alle Arrays zweimal kopiert werden - brauchen wir das wirklich? Wir schreiben nicht in OpenCL, um Zeit damit zu verschwenden, aus dem Nichts ins Nichts umzuschreiben. Das ist nicht fair. :)
Klären Sie, was Sie damit meinen.
Die von Ihnen beschriebene Situation ist mir bisher noch nicht begegnet.
Geben Sie an, was Sie damit meinen.
Wozu das gut sein soll, habe ich noch nicht herausgefunden.
Kein Problem. Hier ist ein aktuelles Beispiel. Aufbau einer Ema-Familie.
Es muss nichts Exotisches sein, ich will nur, dass es so ist wie hier:
int ArrayCopy(
void dst_array[], // куда копируем
void src_array[], // откуда копируем
int dst_start=0, // с какого индекса пишем в приемник
int src_start=0, // с какого индекса копируем из источника
int cnt=WHOLE_ARRAY // сколько элементов
);
Kein Problem. Hier ist ein aktuelles Beispiel. Aufbau der Familie Ema
Es ist nichts Exotisches erforderlich, ich möchte nur, dass es so ist wie hier:
int ArrayCopy(
void dst_array[], // куда копируем
void src_array[], // откуда копируем
int dst_start=0, // с какого индекса пишем в приемник
int src_start=0, // с какого индекса копируем из источника
int cnt=WHOLE_ARRAY // сколько элементов
);
Ja, ich verstehe, Sie wollen keine komplizierten Algorithmen und Speicherüberläufe durch die Verwendung von
und Sie möchten in der Lage sein, in der Kopierphase einen Ausgleich vorzunehmen.
Ich möchte nicht 100000 Elemente kopieren und dann 998000 Verschiebungen vornehmen. Aber wir sollten die Variante mit Verschiebung, die wir jetzt haben, beibehalten, denn sie erlaubt es, nicht mehrmals die gleichen Daten zu kopieren, sondern sie für eine neue Aufgabe aus einem bereits vorbereiteten CL-Puffer mit einer neuen Verschiebung zu übernehmen.
SZY: Es wäre auch schön, wenn man einen Teil der Daten im CL-Puffer überschreiben oder neu zuweisen könnte, so dass neu empfangene Daten von der Zecke hinzugefügt werden könnten, ohne alle Daten kaufen zu müssen. In Echtzeit ist dies kaum von Nutzen, aber im Prüfprogramm schon.