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)
-   -   zero divide Vorsorge (http://www.expert-advisor.com/forum/showthread.php?t=4233)

Ca$hDigger 29.04.15 11:55

zero divide Vorsorge
 
Guten Tag,

die Division durch Null kann immer wieder vorkommen, durch Auftreten dieses Fehlers ist meist der EA sofort ausgeknockt.

Ich wollte mal fragen was bei den professionellen Proggern die geläufige Lösung dafür ist?

Zur Zeit prüfe ich vorher die Variable auf 0 und falls 0 dann wird eine stellvertretende Zahl die der 0 nahe ist eingefügt zb 0.0000001. Gibt es eine elegantere Lösung?

LG C$D

traderdoc 29.04.15 20:29

Na ja, die Frage wäre, unter welchen Bedingungen kann überhaupt im Nenner eine 0 auftreten?
Das Prüfen auf eine 0 und weitere Verwenden von 0,0000001 wird sicherlich zu einer extrem großen Zahl führen, die im weiteren Verlauf folgende Berechnungen total verfälschen würde.

Also ich würde kritische Divisionen, wenn es geht, vermeiden bzw. eben wir oben dargestellt, die Sicherstellung > 0 garantieren.

traderdoc

yytrader 05.05.15 18:17

Zero division
 
Hallo,

ich nutze immer ein Makro, welches die Prüfung auf Null durchführt.
#define div(x,y) if(0 == (y))Print("Fehler: Division duch Null!:"+IntegerToString(y));else(x)/(y);


Gruß

yytrader


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:20 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