Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 695
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
Aus irgendeinem Grund kann ich in der Schleife, die um 15 Uhr beginnt, keinen Takt einfangen.
Wenn ich if(i<24) als Bedingung aufschreibe, zeigt das Protokoll die Zeit jedes Balken für den Tag an, aber die erforderliche Bedingung ist nicht erfüllt:
Und in welchem Zeitrahmen lassen Sie den Indikator laufen?
Forum für Handel, automatisierte Handelssysteme und Strategietests
Alle Fragen für Neulinge auf MQL4, Hilfe und Diskussion über Algorithmen und Codes
Artyom Trishkin, 2018.11.17 20:33
Und in welchem Zeitrahmen lassen Sie den Indikator laufen?
In beiden Fällen im Uhrzeigersinn.
Sentinel in beiden Fällen.
Es funktioniert:
Danke, aber es ist so kompliziert für jemanden, der nicht mit Erfahrung und Wissen belastet ist, dass es ein Durcheinander ist :-)
BufferHour[i]=(hour==hour_req ? (hour>0 ? hour : 0.1) : 0);
Warum wird bei der Übertragung von Daten in den Puffer einePrüfstunde>0 durchgeführt? Und wenn das nicht der Fall ist, warum dann 0,1 zuweisen?
Ich wollte die Hervorhebung auf Hauptdiagramm zu tun, aber nicht durch eine Linie, sondern durch ordinale Tag der Woche Mon, Wed, Wed ... über SetIndexArrow(0, 140); (vielleicht gibt es einen einfacheren Weg, aber so weit nichts anderes kam), aber aus irgendeinem Grund kann ich nicht machen Ihren Code in Hauptfenster in vier arbeiten, und in fünf keine solche Eigenschaft bereits.
Danke, aber es ist so kompliziert für jemanden, der nicht mit Erfahrung und Wissen belastet ist, dass es ein Durcheinander ist :-)
Welchen Zweck hat die Überprüfung vonhour>0bei der Übertragung von Daten in den Puffer? Und wenn das nicht der Fall ist, warum dann 0,1 zuweisen?
Ich wollte die Hervorhebung auf Hauptdiagramm zu tun, aber nicht durch eine Linie, sondern durch ordinale Tag der Woche Mon, Wed, Wed ... über SetIndexArrow(0, 140); (vielleicht gibt es einen einfacheren Weg, aber so weit nichts anderes kam), aber aus irgendeinem Grund kann ich nicht machen Ihren Code in Hauptfenster in vier arbeiten, und in fünf keine solche Eigenschaft.
Der Puffer wird mit dem Stundenwert gefüllt. Und wenn die Stunde Null ist, wird das Histogramm nicht gezeichnet. Wir müssen also prüfen, ob die Stunde Null ist (wir haben in den Einstellungen festgelegt, dass nach der Stunde Null gesucht wird), und wenn sie Null ist, müssen wir 0,1 in den Puffer eingeben, nicht den Stundenwert (Null), um die Histogrammspalte anzuzeigen. Dadurch wird im Datenfenster ein Wert von 0 anstelle von 0,1 angezeigt, da das Kennzeichen Stellen auf Null gesetzt ist.
Danke, aber es ist so kompliziert für jemanden, der nicht mit Erfahrung und Wissen belastet ist, dass es ein Durcheinander ist :-)
Warum wird bei der Übertragung von Daten in den Puffer einePrüfstunde>0 durchgeführt? Und wenn das nicht der Fall ist, warum dann 0,1 zuweisen?
Ich wollte die Hervorhebung auf Hauptdiagramm zu tun, aber nicht durch eine Linie, sondern durch ordinale Tag der Woche Mon, Wed, Wed ... über SetIndexArrow(0, 140); (vielleicht gibt es einen einfacheren Weg, aber so weit nichts anderes kam), aber aus irgendeinem Grund kann ich nicht machen Ihren Code in Hauptfenster in vier arbeiten, und in fünf keine solche Eigenschaft bereits.
PlotIndexSetInteger(0,PLOT_ARROW,140);
Sie müssen jedoch eine Anzahl von Puffern anlegen, die der Anzahl der Wochen entspricht. Und jeder Puffer wird mit einem Pfeilcode von 140 bis 149 versehen - 1,2,3,4,5,6,7,8,9,10 - zehn Wochen reichen für ein Jahr? Das sind nur 70 Tage. Oder wie haben Sie es sich gewünscht?
Ich muss ihn neu starten.
Ich bin mir nicht sicher, was ich damit anfangen soll.
Ich kann fragen, wer vorschlagen kann, wie man die langsamsten Stellen in den Programmen berechnet?
Vielen Dank im Voraus für die Tipps!
Dies ist das Original, und unten ist dasselbe mit meinen Änderungen.
//================
Ich muss ihn neu starten.
Ich bin mir nicht sicher, was ich damit anfangen soll.
Ich kann fragen, wer vorschlagen kann, wie man die langsamsten Stellen in den Programmen berechnet?
Vielen Dank im Voraus für die Tipps!
Dies ist das Original, und unten ist dasselbe mit meinen Änderungen.
//================
Geben Sie alles zurück, quälen Sie den Computer nicht
iBandsOnArray, iStdDevOnArray berechnet für in einem Array gespeicherte Daten
Das Array hingegen wird in 1 Schleife gefüllt
Legen Sie alles zurück, quälen Sie den Computer nicht
iBandsOnArray, iStdDevOnArray berechnet für in einem Array gespeicherte Daten
Ein Array hingegen wird in 1 Zyklus gefüllt
1. Legen Sie alles zurück, quälen Sie Ihren Computer nicht .
Tut mir leid, aber du bekommst sie nicht zurück. Du musst den Indikator von links nach rechts zählen lassen.
Ich störe ihn nicht, ich benutze ihn für den ihm zugedachten Zweck.
2. iBandsOnArray, iStdDevOnArray berechnet anhand der im Array gespeicherten Daten
Ja, sie werden anhand der Daten aus dem Array bbMacd[] berechnet, was nun?
Das Array wird in einer Schleife gefüllt.
In einer oder in der ersten?
Wollen Sie damit sagen, dass Sie, um ein Array zu füllen, eine eigene Schleife benötigen, in der dieses Array gefüllt wird?
Array gefüllt ist und keine weiteren Operationen durchgeführt werden können?
Für mich ist es wichtig herauszufinden, warum sich der Indikator verlangsamt und wie man die Stellen berechnet, an denen dies geschieht.
Ich habe noch mehr Fragen, aber keine Antworten.
Leider haben Sie keine Anhaltspunkte geliefert.
Wie kann ich die Neuinitialisierung deaktivieren, wenn sich der EA-Zeitrahmen ändert?
Hier finden Sie einige Informationen:
https://www.mql5.com/ru/forum/170952/page61#comment_6132824
Ist dies auch für mql4 korrekt?