Fehler, Irrtümer, Fragen - Seite 2585
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
Wo und an welcher Stelle löschen Sie den Indikatorgriff?
Sobald es nicht mehr benötigt wird. Und vor OnDeinit.
Sobald sie nicht mehr benötigt wurde. Und vor OnDeinit.
Das ist es ja, sobald ich es nicht mehr brauche, lösche ich es. Wie kann ich einem Programm mitteilen, dass es entfernt wird, wenn OnDeinit nicht funktioniert?
Das ist es ja, sobald ich es nicht mehr brauche, lösche ich es. Wie kann ein Programm wissen, dass es entfernt wird, wenn OnDeinit nicht funktioniert?
Geben Sie mir die eigentliche Aufgabe.
Das eigentliche Problem ist, mir das eigentliche Problem zu nennen.
Das eigentliche Problem konnte leicht gelöst werden, indem man einfach darauf verzichtete, sich ein eigenes Handle zuzulegen, denn man braucht kein eigenes Handle:
Ich dachte nur: Was ist, wenn man einen eigenen Griff braucht...
es gab solche Probleme, aber ich kann mich nicht daran erinnern
Ich denke nur: Was ist, wenn man einen eigenen Griff braucht...
Es gab solche Aufgaben, aber ich erinnere mich nicht mehr daran.
Init_Sync hat einen solchen Bedarf.
Beitrag 25786
Mit der Randomisierungsmethode habe ich ein normales Kopieren in den String von mql definiert, einen String vom Typ const wchar_t*.
Mit diesem Parameter in der Funktion memcpy begann mql, gleichmäßige Strings zu empfangen, und zwar ohne Lecks.
Das heißt, statt 2 Bytes sizeof(wchar_t) wurden 3 Bytes verwendet.
Aber interessanterweise wird die selbst beschriebene Zeichenkette korrekt mit sizeof(wchar_t) übergeben.Der mql-String begann korrekt einen Zeiger auf die const wchar_t * string zu nehmen.
Ist das in Ordnung?
Zufällig definierte ich normales Kopieren zu mql string, eine Zeichenkette des Typs const wchar_t*
Mit einem solchen Parameter in der Funktion memcpy begann mql, sogar Zeichenketten zu empfangen, und ohne Lecks.
Das heißt, statt 2 Bytes sizeof(wchar_t) wurden 3 Bytes verwendet.
Aber interessanterweise wird die selbstgeschriebene Zeichenkette korrekt mit sizeof(wchar_t) übergeben.Der mql-String begann, einen Zeiger auf die const wchar_t* string
korrekt zu übernehmen. Ist das normal?
Warum wird memcpy statt des normalen wcscpy verwendet?
Warum memcpy anstelle des normalen wcscpy verwenden?
memcpy wurde wie imBeispielartikel von Renate gezeigt verwendet.
Die Verwendung anderer Kopierfunktionen führt zu den gleichen Problemen.
Das Verhalten mit diesen Funktionen wird in diesem Beitrag und indiesem Beitrag beschrieben
Es wurden alle möglichen Kopierfunktionen ausprobiert.
void OnInit()
{
datetime first_date;
SeriesInfoInteger(_Symbol,_Period,SERIES_FIRSTDATE,first_date);
int bars=Bars(_Symbol,_Period);
Print("First date ",first_date," - ",bars," bars");
datetime time[];
CopyTime(_Symbol,PERIOD_M15,D'2015.01.01',100000,time);
Print("rows=",100000," =? ",ArraySize(time));
Print("Load data from ",D'2015.01.01'," =? ",time[0]," to ",time[ArraySize(time)-1],", rows=",100000," =? ",ArraySize(time));
//---
}
void OnTick(){
}
beträgt etwa 37.000 bar. Bei der Ausführung im Terminal werden alle 100000 Balken angezeigt.
Ich habe versucht, den Auslagerungscode vom Server unter https://www.mql5.com/ru/docs/series/timeseries_access#synchronized hinzuzufügen.
Aber es ändert sich nichts.
Wie kann man diese 100000 Balken im Prüfgerät ablesen?
Wie berechnen Sie diese 100.000 Balken?
Lesen Sie zunächst den Artikel https://www.mql5.com/ru/articles/239