Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 379
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
Ich sehe keine Null, Sie haben irgendwo gepatzt.
Geben beide Drucker die gleichen Werte aus?
Da es in meinem Code keine Druckfunktionen gibt und diese Zeilen hintereinander folgen, ändern sich die Werte in keiner Weise.
Aber Var ergibt 0 und Code ergibt den benötigten Wert
Aber ich gebe den Wert, den ich zuweise, sofort aus. Der Code sieht also im Wesentlichen wie folgt aus:
a=b;
Drucken (a);
Drucken (b);
Aber a ist gleich Null, während b korrekt gedruckt wird
Wenn int a und double b>0 und b<1 bei der Zuweisung eines reellen Wertes an eine Integer-Variable der Bruchteil verworfen wird, ist es möglich
Dies ist möglich, wenn int a und double b>0 und b<1 bei der Zuweisung eines reellen Wertes an eine Integer-Variable der Bruchteil verworfen wird
b ist größer als eins viel größer als eins
a ist ein Array vom Typ double
Das Problem ist gelöst.
Ich habe das Array auf die folgende Weise erstellt:
double line[];
Mit dieser Option erschien bei der Zuweisung von line[0]=x; das Nullelement immer noch leer zu sein.
Als ich schrieb
Doppellinie[20];
Alles funktioniert so, wie es sollte. Ich verstehe nicht, warum ich im ersten Fall einfach ein unbeschränktes Array erstellt habe; was ist der Unterschied?
Das Problem ist gelöst.
Ich habe das Array auf die folgende Weise erstellt:
double line[];
Mit dieser Option erschien bei der Zuweisung von line[0]=x; das Nullelement immer noch leer zu sein.
Als ich schrieb
Doppellinie[20];
Alles funktioniert so, wie es sollte. Ich verstehe nicht, warum ich im ersten Fall einfach ein unbeschränktes Array erstellt habe; was ist der Unterschied?
Sie haben ein dynamisches Array erstellt, dessen Größe Sie selbst festlegen und kontrollieren sollten.
Sie haben ein dynamisches Array erstellt, aber Sie müssen die Größe selbst festlegen und kontrollieren.
Ist niemand da, um zu helfen? Die Sackgasse, in der ich mich befinde, ist hier zu finden:in die Datei geschrieben werden müssen?
Der Softwarecode ist hier beschrieben:https://www.mql5.com/ru/forum/160683/page378#comment_6053255
Indikator durch Daten aus Datei - diese Zeile in die Suche eingegeben und gefunden
Um Daten aus einer Datei abzurufen, müssen Sie diese zunächst ausfüllen.
Aua... Gute Leute! Hilfe, bitte! Ich lerne, wie man programmiert. Ohne Ihre Hilfe ist es eine Sackgasse.
Ich versuche, die Indikatordaten in eine Datei zu schreiben, damit ich sie später zur Erstellung eines Indikators verwenden kann. Der Indikator wird als Linie gezeichnet, die auf der Differenz zwischen dem Volumen der positiven Ticks und dem Volumen der negativen Ticks für den aktuellen Balken basiert.
Ich habe MQL4 Reference verwendet, um Informationen darüber zu erhalten, wie man ein Datenfeld in eine Datei hochlädt. Am Ende habe ich einen Code voller Fehler erhalten. Ich kann das Wesen der Fehler nicht verstehen, und im Allgemeinen habe ich den Hinweis aus dem Nachschlagewerk nicht richtig verwendet oder nicht. Kann jemand helfen?
Wenn Sie glauben, dass jemand, der sich Ihren Code ansieht, schnell einen Fehler finden kann, irren Sie sich. Der Compiler sucht nach Fehlern. Der Programmtext sollte formatiert werden - MetaEditor verfügt über ein Styling-Tool für diesen Zweck. Wenn Sie einen anderen Stil bevorzugen, verwenden Sie z. B. das Programm AStyle.exe. Nach dem Styling werden Sie schnell feststellen, dass das Programm 1) eine zusätzliche schließende Klammer hat. 2) Deklarierte Variable: datetime date_Buf_1; // Indikator Datums-Array - damit dies ein Array ist, muss es [size] oder [] für ein dynamisches Array sein und dann muss die Größe auf ArrayResize gesetzt werden, wie es scheint. Und dies sollte vor der Verwendung eines Arrays geschehen - siehe oben Beiträge darüber. 3) FileOpen(InpDirectoryName+"//"+InpFileName - scheint, als ob die Sticks in die andere Richtung gekippt werden sollten. Und auf InpDirectoryName+"//" sollten Sie besser verzichten - Sie finden die Datei ohnehin im Ordner "Files".
in Zeile: int copied=CopyTime(NULL,0,0,0,date_Buf_1); der Compiler wird böse, start=end=0 number=0