Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Allgemeine Fragen

Allgemeine Fragen Allgemeine Fragen und Probleme rund um Metatrader 4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4973
Beiträge: 43248
Benutzer: 7.219
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: Hopfen&Malz
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- Hopfen&Mal...
vor 2 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107
vor 2 Wochen
- rg-trader

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 260
Gesamt: 260
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 07.12.11
Mitglied
 
Registriert seit: Mar 2011
Beiträge: 30
lulipot befindet sich auf einem aufstrebenden Ast
Standard Zero Divide beim Backtest

Hallo

habe ein Backtest gemacht und er zeigt mir Zero Divide Fehler an.
Weiß jemand was es bedeutet?


mfg
gio
  #2 (permalink)  
Alt 07.12.11
Mitglied
 
Registriert seit: Dec 2009
Beiträge: 96
Programmierer befindet sich auf einem aufstrebenden Ast
Standard

der zero-divide-Fehler bedeutet, dass du irgendwo durch null teilst. Meist führt irgendeine interne Berechnung zum Ergebnis null. Dieses Ergebnis wird dann weiterverarbeitet und später für eine Division benutzt.

Meistens weiß man ja nicht, in welcher Code-Zeile das genau passiert. Entweder du suchst nach Berechnungen mit Division und versuchst so die Stelle zu finden oder du grenzt das Problem Schritt für Schritt ein - d.h. du deaktivierst große Teil des Codes (indem du Teile auskommentierst oder du setzt in der Art return-Befehle, dass nur ein kleiner Teil der jeweiligen Funktion ausgeführt wird). Wenn der Fehler dann weg ist, kannst du Stück für Stück mehr Code aktivieren und so die Zeile finden, wo der Fehler steckt.

Wenn du den Fehler nicht alleine findest, poste ihn doch ruhig hier. Ich helfe dir gerne bei der Suche.
  #3 (permalink)  
Alt 08.12.11
Mitglied
 
Registriert seit: Mar 2011
Beiträge: 30
lulipot befindet sich auf einem aufstrebenden Ast
Standard Zero Divide

Hallo

den Code kann ich nicht ändern.
Ich habe ein Exper Advisor und wollte nur mal ein Backtest machen.
Im Journal steht oft Zero Divide.
Er hat mir aber den Report angezeigt.
Ist der Report aussagekräftig?

mfg
gio
  #4 (permalink)  
Alt 09.12.11
Mitglied
 
Registriert seit: Apr 2011
Ort: Osnabrück
Beiträge: 103
Racki befindet sich auf einem aufstrebenden Ast
Standard

Wenn du keinen Quelltext hast, wird es sehr schwierig.
Eigentlich kann man jetzt nur Vermuten bei welchen Berechnungen der Fehler auftritt.
Sind evtl. Eingabevariablen, die bei der fehlererzeugenden Berechnung berücksichtigt werden fälschlicher Weise auf null gesetzt?
Oder, aber das schliesse ich jetzt mal aus, dass dein Kontostand durch irgendwas geteilt wird und der Kontostand auf 0 steht.

Wenn du eine MQ4-Datei dazu hättest, lässt sich dir da schon eher helfen.

s.l.
Racki
  #5 (permalink)  
Alt 09.12.11
Benutzerbild von Crashbulle
Elite Mitglied
 
Registriert seit: Sep 2011
Ort: Voreifel
Beiträge: 584
Crashbulle befindet sich auf einem aufstrebenden Ast
Crashbulle eine Nachricht über MSN schicken Crashbulle eine Nachricht über Skype™ schicken
Standard

@ lulipot

Man kann fast jedes Prog/EA von einer ex4 zu einem mq4 wandeln. Nur bei Kaufprog's steht das Recht dagegen, man kann es aber auch. Wenn du mir eine Datei schickst, bekommst du zwei Dateien zurück.
Aber bei einem Kaufprg dürfte ein "Div durch null" eigendlich nicht vorkommen.
__________________
Was hoch aufsteigt, fällt tief herunter
Portfolio
Portfolio_1
  #6 (permalink)  
Alt 09.12.11
Mitglied
 
Registriert seit: Dec 2009
Beiträge: 96
Programmierer befindet sich auf einem aufstrebenden Ast
Standard

hm..naja, wenn du keine MQ4-Datei hast, dann wirds schwierig. Man kann den Code zwar knacken, wie mein Vorredner sagte. Das ist aber erstens m. E. nicht vertretbar, schließlich hat der Autor schon seine Gründe, warum er kein MQ4 veröffentlich. Außerdem ist der geknackte Code ziemlich unleserlich, die Variablen namen sind nicht mehr "lots" oder "sl", sondern var12 und var13 etc. Da wirds schwieriger den Fehler zu finden.

Es ist auch kein gutes Zeichen, wenn es ZeroDivide-Fehler gibt. Dann ist der EA nicht ordentlich programmiert. Wahrscheinlich sind auch sonst noch Fehler drin, für den Live-Einsatz taugt sowas auf jeden Fall nicht. Demo kannst du damit natürlich machen.

Wenn du den Autor des EAs erreichen kannst (oft steht der ja im Copyright), frag ihn doch mal, der hat bestimmt ne aktuellere Version, wos den Fehler nicht gibt oder kann dir die MQ4 geben.
  #7 (permalink)  
Alt 09.12.11
Mitglied
 
Registriert seit: Apr 2011
Ort: Osnabrück
Beiträge: 103
Racki befindet sich auf einem aufstrebenden Ast
Standard

Also was die Sache mit dem Dekompilieren angeht, mit der aktuallisierten Version von MT4 kann ich meine ex4-Dateien nicht dekompilieren.
Ich habe mich diesbezüglich damit beschäftigt, meinen eigenen Code zu schützen.
Aber das ist auch ein anderes Thema.
Das beste ist wie schon mal erwähnt den Autor zu fragen.
Vll freut er sich über Feedback und mag bei der Fehlerbeseitigung behilflich sein.

s.l.
Racki
  #8 (permalink)  
Alt 30.12.11
Elite Mitglied
 
Registriert seit: Jan 2010
Beiträge: 275
Bohne befindet sich auf einem aufstrebenden Ast
Standard

Das glaich problem jetzt auch bei mir. Mit dem Zero...
Das komische ist, es funkelt bei jeden backtest, ohne Probleme. Nur bei einer bestimmten build (Mt4 version) haut er mir den Fehler raus...

Hab die zeile gefunden, komisch ist da drann das es von einem kommentar kommt!?!

"\n Your Risk = ", 100.0 * risk_factor, "% ", "TradingLot = ", Lot(),

(Lot() --> Funktion Rückgabe wert)

Kann mir das einer erklären???

Wenn ich die zeilen von der Funktion ausschließe läuft es. Aber warum läuft das auf jeder anderen version...
  #9 (permalink)  
Alt 31.12.11
Mitglied
 
Registriert seit: Apr 2011
Ort: Osnabrück
Beiträge: 103
Racki befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

wie weit bist du mit dem Errortracking gekommen?
Wenn der Fehler im Aufruf der Funktion Lot() liegt,
dann teilst du womöglich hier durch 0.
Ich schätze das du dir hier
Zitat:
"\n Your Risk = ", 100.0 * risk_factor, "% ", "TradingLot = ", Lot(),
einen string zusammenbaust.
Bei Kommentar habe ich erst an
Code:
// Singleline oder /* */ Multiline
gedacht

Verwendest du in der Funktion denn Variablen die auf 0 zeigen könnten?
Bei dynamischer Lotberechnung vll. die AccounFreeMargin oder ähnliches?

Zur Sicherheit kannst du diese ja in einer If-Bedingung ausfiltern.
if (a==a && variableDieNullSeinKann != 0)

s.l.
Racki
  #10 (permalink)  
Alt 31.12.11
Elite Mitglied
 
Registriert seit: Jan 2010
Beiträge: 275
Bohne befindet sich auf einem aufstrebenden Ast
Standard


ich habs, Thanks!!
Der satz hat geholfen
HTML-Code:
Verwendest du in der Funktion denn Variablen die auf 0 zeigen könnten?
Lag an Lotsteps, MODE_MAXLOT & MODE_MAXLOT & MODE_LOTSTEP.
Da ich ein blanko Mt4 benutze...
Thema geschlossen

Lesezeichen

Stichworte
backtest, backtest fehler, backtesting, metatrader backtest, zero divide

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 14:16 Uhr.





Suchmaschine - Reisen - Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------