Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1482

 
ANDREY:

Könnten Sie mir bitte sagen, wie ich einen 5-stelligen Wert für Blau in der gelben Variable speichern kann, wenn der Test auf einem einminütigen Diagramm durchgeführt wird?

Dankeschön

Was ist Lou gleich?

if (Bid - iLow( NULL ,PERIOD_H4,1)>=0.0030||Bid - iLow( NULL ,PERIOD_H1,1)>=0.0030||Bid - iLow( NULL ,PERIOD_M30,1)>=0.0030)

dieser Ausdruck gibt nur "wahr" oder "falsch" zurück

 
MakarFX:

Was bedeutet Lou?

dieser Ausdruck gibt nur "wahr" oder "falsch" zurück

Und woher wissen wir nach dem Öffnen einer Bestellung, welcher der 3 if-Ausdrücke wahr ist?
Dankeschön

 
ANDREY:

Und woher weiß ich nach dem Öffnen einer Bestellung, welcher der 3 Ausdrücke aus if wahr ist?
Danke

Bei dieser Auslegung kann man nicht... man muss aufteilen

if (Bid - iLow( NULL ,PERIOD_H4,1)>=0.0030)
if (Bid - iLow( NULL ,PERIOD_H1,1)>=0.0030)
if (Bid - iLow( NULL ,PERIOD_M30,1)>=0.0030)

Ich sehe keinen Sinn darin...
 
MakarFX:

Nicht mit dieser Interpretation...wir müssen teilen

Ich verstehe nicht, was das soll...

Ich habe einen Ein-Minuten-Chart und eine Order wurde mit einem der Ausdrücke in der Bedingung eröffnet. Wie erkenne ich, mit welchem Ausdruck die Bestellung eröffnet wird? Wenn es zum Beispiel nach dem ersten Ausdruck ist, dann gebe ich z.B. einen schwebenden Kaufauftrag mit einem seiner Parameter auf; wenn es nach dem zweiten Ausdruck ist, dann gebe ich einen schwebenden Kaufauftrag mit anderen Parametern auf; wenn es nach dem dritten Ausdruck ist, dann gebe ich einen schwebenden Verkaufsauftrag auf.

 
ANDREY:

Ich habe ein Ein-Minuten-Diagramm und einer der Ausdrücke in der Bedingung hat einen Auftrag eröffnet. Woher weiß ich, mit welchem Ausdruck sie geöffnet wird? Wenn ich den ersten Ausdruck verwende, erteile ich z. B. einen schwebenden Kaufauftrag mit einem seiner Parameter; wenn ich den zweiten Ausdruck verwende, erteile ich einen schwebenden Kaufauftrag mit anderen Parametern; wenn ich den dritten Ausdruck verwende, erteile ich einen schwebenden Verkaufsauftrag.

1) Alle 4 Stunden werden alle drei Bedingungen erfüllt (wenn ein neuer Tiefststand erscheint).

2) Wenn Sie den Sinn erkennen, teilen Sie

if (Bid - iLow( NULL ,PERIOD_H4,1)>=0.0030)
.....
else
if (Bid - iLow( NULL ,PERIOD_H1,1)>=0.0030)
.....
else
if (Bid - iLow( NULL ,PERIOD_M30,1)>=0.0030)
.....
 
MakarFX:

Fangen

Es gibt viel zu lernen, was das Schreiben von Code angeht. Ein besonderer Dank dafür. Nur haben Sie immer noch eine horizontale Bindung des Textobjekts nach Zeit an den letzten Takt (DoTime = TimeCurrent()+(Period()*60*7). Als Ergebnis haben wir den Effekt der Textverschiebung, wenn das Diagramm verschoben wird (Screenshots). Ich möchte das vermeiden und die X-Achse am rechten Rand des Bildschirms verankern, sagen wir um 20 Pixel. D.h. ich möchte, dass dieser Abstand unverändert bleibt, sowohl beim Verschieben der Linie nach oben/unten als auch beim Verschieben des Diagramms. Bislang hat das nicht funktioniert. Eigentlich ist nur eine Codezeile erforderlich, in der die Position des Textes angegeben wird. Den Rest verstehe ich.

 
Oleksandr Nozemtsev:

Es gibt viel zu lernen, wenn es um das Schreiben von Code geht. Ein besonderer Dank dafür. Sie haben nur eine horizontale Bindung des Textobjekts nach Zeit an den letzten Takt (DoTime = TimeCurrent()+(Period()*60*7). Als Ergebnis haben wir den Effekt der Textverschiebung, wenn das Diagramm verschoben wird (Screenshots). Ich möchte es einfach vermeiden und die X-Achse am rechten Rand des Bildschirms verankern, sagen wir 20 Pixel. D.h. ich möchte, dass dieser Abstand unverändert bleibt, sowohl beim Verschieben der Linie nach oben/unten als auch beim Verschieben des Diagramms. Bislang hat das nicht funktioniert. Eigentlich ist nur eine Codezeile erforderlich, in der die Position des Textes angegeben wird. Den Rest verstehe ich.

Beachten Sie die Umrechnung von Zeit und Preis in XY-Koordinaten in Pixel

bool  ChartTimePriceToXY(
   long           chart_id,     // идентификатор графика
   int            sub_window,   // номер подокна
   datetime       time,         // время на графике
   double         price,        // цена на графике
   int&           x,            // координата X для времени на графике
   int&           y             // координата Y для цены на графике
   );

Lesen Sie den Zeilenpreis, wandeln Sie ihn in Pixel um und weisen Siedem Objekt Text Label Koordinatenauf der Y-Achse zu, wobei die Koordinate der X-Achse unverändert bleibt.

 
MakarFX:

1) Alle 4 Stunden (wenn ein neuer Lowe erscheint) erfüllen Sie alle drei Bedingungen

2) wenn Sie den Sinn erkennen, teilen Sie

Danke für den Hinweis.

Wenn Sie die Ausdrücke nicht aufteilen, sondern sie mit || in einen if()-Operator setzen, wirdnur eine Bedingung ausgeführt - die erste von links nach rechts, die true.... ist, wenn ich mich nicht irre.

Aber so wie ich es verstehe, wäre es bei diesem Format für das Programm unmöglich zu wissen, welcher bestimmte Ausdruck wahr ist.
 
Oleksandr Nozemtsev:
Grüße! Wie kann man in mql4 einen Text an eine Zeile binden, so dass beim Verschieben der Zeile auch der Text verschoben wird?

Zeilen- und Textanzeiger Ver 1

Der Indikator verschiebt den Text nach der Zeile. Fügen Sie den Namen der Zeile in den Eingabeparameter ein.

Dateien:
 
Alexey Viktorov:

Beachten Sie die Übersetzung von Zeit und Preis in XY-Koordinaten in Pixeln

Ganz genau!