Dafür sollte aber besser der Indikator nicht wo anders im Terminal laufen!
Setze mit DebugBreak() die Punkte, an denen Du Dir die
verschiedenen Werte anschauen willst!
Bisher nicht, weil ich bisher aber auch noch nie etwas davon gehört habe. Müsste ich dann wohl mal ausprobieren. Hält man dabei das Programm dann
einfach zwischendrin an und schaut ob Werte richtig übergeben wurden? Ist das die Logik dahinter?
Hatte mir vielleicht erhofft, dass ich mir sowas ersparen kann, falls der Fehler für jemanden klar ersichtlich ist :-P
Bisher nicht, weil ich bisher aber auch noch nie etwas davon gehört habe. Müsste ich dann wohl mal ausprobieren. Hält man dabei das Programm dann einfach zwischendrin an und schaut ob Werte richtig übergeben wurden? Ist das die Logik dahinter?
Hatte mir vielleicht erhofft, dass ich mir sowas ersparen kann, falls der Fehler für jemanden klar ersichtlich ist :-P
Danke schon einmal für den Tipp.
Meist kommt man beim Entwickeln nicht am Debugger vorbei!
Wird vom Editor gestartet und setz mal ein DebuBreak() am Anfange von OnInit(), OnCalculate() und OnTick() und mach Dich damit vertraut - kann einem viel Zeit ersparen!
Meist kommt man beim Entwickeln nicht am Debugger vorbei!
Wird vom Editor gestartet und setz mal ein DebuBreak() am Anfange von OnInit(), OnCalculate() und OnTick() und mach Dich damit vertraut -
kann einem viel Zeit ersparen!
Danke für den Hinweis. Ich habe es soeben ausprobiert. Habe:
voidDebugBreak();
vor
intOnInit()
void OnNewBar()
intOnCalculate()
eingefügt. OnTick() habe ich nicht in meinem EA. Das OnNewBar() ist wohl eine Funktion in der wiederum OnTick() verwendet wird. Dder EA soll im
Prinzip also erst aktiv werden, sobald sich eine neue Kerze formiert. Wie dem auch sei. Ich habe dann den den Debugger gestartet und die
Auswertung bleibt komplett leer.
Irgendeine Idee? Ich werde es hier in der Zwischenzeit natürlich weiter probieren.
Seufz - in die jeweilige Funktion an den Anfang, z.B. als erstes, dann kannst Du durch die ganze Funktion zeilenweise gehen. Lass Dir Variablen anzeigen - ist alles im Menü-Punkt Debug des Editors aufgelistet und erklärt!
Seufz - in die jeweilige Funktion an den Anfang, z.B. als erstes, dann kannst Du durch die ganze Funktion zeilenweise gehen. Lass Dir
Variablen anzeigen - ist alles im Menü-Punkt Debug des Editors aufgelistet und erklärt!
Sorry für mein Unvermögen. Also wie folgt:
intOnInit()
{voidDebugBreak();
Falls ja kriege ich den folgenden Fehler:
Für die Vollständigkeit des Codes den ich gepostet habe, ist hier noch der Code von OnNewBar():
//+------------------------------------------------------------------+//| OnNewBar.mqh |//| Copyright 2010, Lizar |//| Lizar@mail.ru |//+------------------------------------------------------------------+#property copyright"Copyright 2010, Lizar"#property link"Lizar@mail.ru"#include <Lib_CisNewBar.mqh>
CisNewBar current_chart; // instance of the CisNewBar class: current chart//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
//---int period_seconds=PeriodSeconds(_Period); // Number of seconds in current chart perioddatetime new_time=TimeCurrent()/period_seconds*period_seconds; // Time of bar opening on current chartif(current_chart.isNewBar(new_time)) OnNewBar(); // When new bar appears - launch the NewBar event handler
}
Danke für den Hinweis. Ich habe es soeben ausprobiert. Habe:
vor
eingefügt. OnTick() habe ich nicht in meinem EA. Das OnNewBar() ist wohl eine Funktion in der wiederum OnTick() verwendet wird. Dder EA soll im Prinzip also erst aktiv werden, sobald sich eine neue Kerze formiert. Wie dem auch sei. Ich habe dann den den Debugger gestartet und die Auswertung bleibt komplett leer.
Irgendeine Idee? Ich werde es hier in der Zwischenzeit natürlich weiter probieren.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Hast Du schon mal den Debugger versucht?
Dafür sollte aber besser der Indikator nicht wo anders im Terminal laufen!
Setze mit DebugBreak() die Punkte, an denen Du Dir die verschiedenen Werte anschauen willst!
Bisher nicht, weil ich bisher aber auch noch nie etwas davon gehört habe. Müsste ich dann wohl mal ausprobieren. Hält man dabei das Programm dann einfach zwischendrin an und schaut ob Werte richtig übergeben wurden? Ist das die Logik dahinter?
Hatte mir vielleicht erhofft, dass ich mir sowas ersparen kann, falls der Fehler für jemanden klar ersichtlich ist :-P
Danke schon einmal für den Tipp.
Bisher nicht, weil ich bisher aber auch noch nie etwas davon gehört habe. Müsste ich dann wohl mal ausprobieren. Hält man dabei das Programm dann einfach zwischendrin an und schaut ob Werte richtig übergeben wurden? Ist das die Logik dahinter?
Hatte mir vielleicht erhofft, dass ich mir sowas ersparen kann, falls der Fehler für jemanden klar ersichtlich ist :-P
Danke schon einmal für den Tipp.
Meist kommt man beim Entwickeln nicht am Debugger vorbei!
Wird vom Editor gestartet und setz mal ein DebuBreak() am Anfange von OnInit(), OnCalculate() und OnTick() und mach Dich damit vertraut - kann einem viel Zeit ersparen!
Meist kommt man beim Entwickeln nicht am Debugger vorbei!
Wird vom Editor gestartet und setz mal ein DebuBreak() am Anfange von OnInit(), OnCalculate() und OnTick() und mach Dich damit vertraut - kann einem viel Zeit ersparen!
Danke für den Hinweis. Ich habe es soeben ausprobiert. Habe:
vor
eingefügt. OnTick() habe ich nicht in meinem EA. Das OnNewBar() ist wohl eine Funktion in der wiederum OnTick() verwendet wird. Dder EA soll im Prinzip also erst aktiv werden, sobald sich eine neue Kerze formiert. Wie dem auch sei. Ich habe dann den den Debugger gestartet und die Auswertung bleibt komplett leer.
Irgendeine Idee? Ich werde es hier in der Zwischenzeit natürlich weiter probieren.
Seufz - in die jeweilige Funktion an den Anfang, z.B. als erstes, dann kannst Du durch die ganze Funktion zeilenweise gehen. Lass Dir Variablen anzeigen - ist alles im Menü-Punkt Debug des Editors aufgelistet und erklärt!
Seufz - in die jeweilige Funktion an den Anfang, z.B. als erstes, dann kannst Du durch die ganze Funktion zeilenweise gehen. Lass Dir Variablen anzeigen - ist alles im Menü-Punkt Debug des Editors aufgelistet und erklärt!
Sorry für mein Unvermögen. Also wie folgt:
Falls ja kriege ich den folgenden Fehler:
Für die Vollständigkeit des Codes den ich gepostet habe, ist hier noch der Code von OnNewBar():
Bisher nicht, weil ich bisher aber auch noch nie etwas davon gehört habe.
Ebenfalls Seufz!
Mach einfach einen Doppelklick auf die Nummer der Zeile und du hast einen Breakpoint. Nochmal Doppelklick drauf und weg ist er wieder.
Ist viel flexibler als DebugBreak().
Pass dir die Symbolleiste im Metaeditor an, da ist standardmäßig zuwenig drin.
Sorry für mein Unvermögen. Also wie folgt:
Falls ja kriege ich den folgenden Fehler:
Für die Vollständigkeit des Codes den ich gepostet habe, ist hier noch der Code von OnNewBar():
DebugBreak() ist eine bereits definierte (Standard-)Funktion also so:
Danke für den Hinweis. Ich habe es soeben ausprobiert. Habe:
vor
eingefügt. OnTick() habe ich nicht in meinem EA. Das OnNewBar() ist wohl eine Funktion in der wiederum OnTick() verwendet wird. Dder EA soll im Prinzip also erst aktiv werden, sobald sich eine neue Kerze formiert. Wie dem auch sei. Ich habe dann den den Debugger gestartet und die Auswertung bleibt komplett leer.
Irgendeine Idee? Ich werde es hier in der Zwischenzeit natürlich weiter probieren.
Ohne die OnTick wird der ea nicht funktionieren.
die OnNewBar wird von der OnTick aufgerufen, ohne OnTick wird der ea niemals was machen, in der OnNewBar hat die OnTick nichts verloren
EDIT: hier eine Funktion für einen neuen bar