|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
In der Tat hätte da auch Time[1] statt Time[2] stehen müssen.
Code:
if (EMA10_2 > EMA20_2 && EMA10_1 < EMA20_1) datetime time1 = Time[1]; if (EMA10_2 < EMA20_2 && EMA10_1 > EMA20_1) datetime time1 = Time[1]; Im laufenden Betrieb wird das Rechteck beginnend von Time[1] bis Time[1] !!! gezeichnet und mit jedem Weiterrücken nach rechts jetzt entweder gelöscht und incl. Verbreiterung neu gezeichnet oder in der Funktion ObjectMove() wird die 1. Zeitangabe die sein, nachdem die EMAs gekreuzt hatten und die zweite Zeitangabe wäre dann wieder Time[1], usw. bis die nächste Kreuzung erscheint. Das nächste Rechteck muss dann entweder einen neuen Namen tragen oder das alte wird gelöscht. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Als hätte ich es Time[1] nicht geahnt...
Ja für einen Rückblick sollten die Rechtecke retrospektiv gezeichnet werden. Wobei das Problem wäre: Wie weit retro? Zeitangabe? Oder Anzahl der Candles? Um danach natürlich aktuell weiterzurücken und das aktuelle zu zeichnen, sollten die Bedingungen vorhanden sein (Z.B. EMA 2 > EMA 4). Hm...
__________________
MQL4-Interessiert... und noch gaaaanz am Anfang |
|
|||
Ist der Code , unter den Umständen ein Rechteck zu kreieren, denn eigentlich Korrekt?
PHP-Code:
__________________
MQL4-Interessiert... und noch gaaaanz am Anfang |
|
|||
So, nun mal das komplette Prog in MQL4. Ich bekomme nicht einmal ein Rechteck angezeigt... Hier für EMA 2 und 4 auf M1 (Zu Testzwecken ):
PHP-Code:
__________________
MQL4-Interessiert... und noch gaaaanz am Anfang |
|
|||
Der Code für das Zeichnen des Rechteckes ist korrekt, nur wird zu Beginn das Rechteck nicht angezeigt, weil die beiden Zeiten identisch sind und MQL nicht mal dafür einen Strich zeichnet. Das würde sich aber mit der nächsten Kerze ändern. Mit Time[1] in der Funktion ObjectCreate kannst Du aber nicht arbeiten. Auf jeden Fall nicht so wie im Kontext des Codes. Außerdem müss jedes Rechteck einen anderen Namen bekommen, also z.B. "Rechteck" + (string)time1,
dann würde hinter dem Wort die Zeit angehängt werden, welche zu Beginn des Zeichnens vorlag. Nur wie schon beschrieben, wenn die Rechtecke retrospektive gezeichnet werden sollen, dann muss so oder so die Programmmierung anders laufen. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Ok, dass jedes neu gezeichnete Rechteck einen neuen / eigenen Namen bekommen muss, leuchtet mir nun ein.
Das könnte man ja aber umgehen, indem ein Rechteck mit dem gleichen Namen immer neu gezeichnet wird..?! Nur mal als Alternative. ich stochere ja noch im Blinden rum... Ok, ich habe mal einen Code entwickelt: Die Y-Werte habe ich mal Fix und ohne Hintergedanken angenommen, damit sie halt mal da sind.Interessant sind für mich ja die X-Werte. Hier auf M1 im EUR/USD und mit den Grenzen "10.te Kerze" und "3.te Kerze". PHP-Code:
PHP-Code:
So, hier haben wir als X-Werte also die Anzahl der zurückliegenden Candles. Ich sehe folgendes Problem: Ich will die Schnittpunkte ja auch "retrospektive" angezeigt bekommen und natürlich die aktuellen. Wenn ich den PC nach einer Stunde aus und wieder anschalte, so müsste ich ja immer warten, bis ein GD wieder geschnitten wird und somit die Grenzen eingefärbt würden. Beim Schnitt der GDs : Kann man da die X-Werte in einem Zeitformat "abgreifen" und verwenden? Gibt es da eine Funktion? Oder muss man immer umständlich zurückrechnen? Gibt es eine Funktion o.ä. die man ähnlich verwenden kann wie " time 1 = 07.05.2018, 14:12 Uhr" ? Das wäre natürlich der komfortabelste Weg....
__________________
MQL4-Interessiert... und noch gaaaanz am Anfang |
|
|||
Muss ich denn - um retrospektiv anzeigen zu lassen, wo der Kurs auf M1 die EMA200 geschnitten hat, zB i=5000 annehmen und wirklich jede M1-Candle untersuchen, ob sie drüber oder drunter war...?
Und somit mit der Anzahl der Kerzen arbeiten (ZB vor 3546 M1-Kerzen schnitt der Kurs oder die EMA eine bestimmte andere EMA und bei 2545 M1-Kerzen schnitt der Kurs die EMA wieder von der anderen Richtung) Ist das wirklich der einzige Ansatz, wie man die Hintergrundfläche zwischen diesen beiden Grenzen einfärben kann? Kurz: Geht die Bestimmung der X-Werte über die Kerzen oder die Zeit und wie wendet man sie denn an?
__________________
MQL4-Interessiert... und noch gaaaanz am Anfang Geändert von Angel (08.05.18 um 23:09 Uhr) |
Lesezeichen |
|
|