Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Handelsspannen im Chart anzeigen (http://www.expert-advisor.com/forum/showthread.php?t=7226)

piptrade 12.08.22 13:39

Handelsspannen im Chart anzeigen
 
Piptrade hat da mal `ne Frage:

Im Chartfenster sollen die aktuelle Handelsspanne (last 5 Candles) und die maximale Handelsspanne (last 15 Candles) angezeigt werden. Das klappt ohne Probleme beim DAX40, gleichermaßen auch beim EUR/USD.
Wenn nun aber die Differenz zwischen aktueller und maximaler Spanne angezeigt werden soll, so klappt dieses nur beim DAX40. Anders im EUR/USD; - hier wird immer nur 0.00000 angezeigt.

Woran kann das liegen, wie kann ich den „Fehler“ beheben? Hier die Codes:


int HighestCandle_02 = iHighest(_Symbol,_Period, MODE_HIGH, CandleSelect_max, 0);
int LowestCandle_02 = iLowest(_Symbol,_Period, MODE_LOW, CandleSelect_max, 0);

int HSp_Diff_01 = (High[HighestCandle_01] – Low[LowestCandle_01]);
int HSp_Diff_02 = (High[HighestCandle_02] – Low[LowestCandle_02]);
int HSpDiff = (HSp_Diff_02 – Hsp_Diff_01);

ObjectDelete(0,"HSpDiff");
ObjectCreate ("HSpDiff", OBJ_LABEL, 0,0,0);
ObjectSet ("HSpDiff", OBJPROP_CORNER, CORNER_RIGHT_UPPER);
ObjectSet ("HSpDiff", OBJPROP_XDISTANCE, 22);
ObjectSet ("HSpDiff", OBJPROP_YDISTANCE, 157);
ObjectSetText ("HSpDiff", "HSp.-Diff.: " +DoubleToStr(HSpDiff,Digits),9, "Impact", Blue);

Würde mich über ein helfendes Händchen sehr freuen. Danke.

LG. piptrade

piptrade 12.08.22 14:04

Sorry; - diese Zeilen gehören auch noch dazu:

int HighestCandle_01 = iHighest(_Symbol,_Period, MODE_HIGH, CandleSelect_min, 0);
int LowestCandle_01 = iLowest(_Symbol,_Period, MODE_LOW, CandleSelect_min, 0);

LG: piptrade

AVT 14.08.22 23:48

Zitat:

Zitat von piptrade (Beitrag 46232)
Woran kann das liegen, wie kann ich den „Fehler“ beheben? Hier die Codes:

int HighestCandle_02 = iHighest(_Symbol,_Period, MODE_HIGH, CandleSelect_max, 0);
int LowestCandle_02 = iLowest(_Symbol,_Period, MODE_LOW, CandleSelect_max, 0);

int HSp_Diff_01 = (High[HighestCandle_01] – Low[LowestCandle_01]);
int HSp_Diff_02 = (High[HighestCandle_02] – Low[LowestCandle_02]);
int HSpDiff = (HSp_Diff_02 – Hsp_Diff_01);

2 Sachen, die mir auffallen:
1. unterschiedliche Schreibweise der roten - sollte eigentlich einen Kompilerfehler melden.
2. falscher Typ (blau) - Kurse sind double Werte, sollte ne Kompilerwarnung geben.

AVT

piptrade 18.08.22 15:15

Diese Hinweise waren super. Danke. Jetzt klappt die ganze Angelegenheit tadellos.
LG. piptrade


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:21 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum