SpinEdit für MA Method mit CSpinEdit erstellen

 

Hallo zusammen,

versuche gerade Spin Edit für die Methode eines Indikators zum Laufen zu kriegen. Erst einmal sollte ja das Rumgeklicke mit den Zahlen funktionieren.
Da habe ich jetzt die CSpinEdit in meinen Indikator eingebunden und das Feld mit den Pfeilen wird auch angezeigt, wenn auch grau und ohne Zahlen.

#include <Controls/SpinEdit.mqh>
CSpinEdit MethodEdit;

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
  MethodEdit.Delete(MethodEdit);          // Bin mir nicht sicher, ob man das so macht. Hätte das jetzt von
                                          // den grafischen Objekten her so vermutet... Also zuerst das alte Objekt löschen, 
                                          // dann wird da Objekt refreshed. Zumindest dachte ich das. 
                                          // Als Hinweis steht in der Klammer "CWnd &control" bzw. "CWnd *control".

  MethodEdit.Create(0,"MethodEdit",0,100,250,160,280);
     MethodEdit.MinValue(0);
   MethodEdit.MaxValue(3);
   MethodEdit.Value(1);      //Die Werte gehen von 0-3, so wie die Enum der MA-Methode
      return(rates_total);     }

Greyed Out

Wenn ich auf Kompilieren drücke, geht das und ich habe beobachtet, wenn der Kompiliervorgang gerade abschließt, dann flackert in dem Spin-Edit-Feld kurz eine "1" auf. Das ist ja auch mein Default Value, siehe Code. Aber irgendwas funktioniert da wohl doch nicht, denn die eins verschwindet immer gleich und ich kann die Controls nicht nutzen. Das mit den Controls liegt wohl daran, dass ich erst OnChartEvent handlen muss (kommt Alles noch), aber dass die Zahl da nicht bleibt, ist gerade das rätselhaftere Problem.

Würde mich sehr über Eure Hilfe freuen.

Dokumentation zu MQL5: Standardbibliothek / Panels und Dialoge / CSpinEdit
Dokumentation zu MQL5: Standardbibliothek / Panels und Dialoge / CSpinEdit
  • www.mql5.com
CSpinEdit - Panels und Dialoge - Standardbibliothek - Nachschlagewerk MQL5 - Nachschlagewerk über die Sprache des algothitmischen/automatischen Handels für MetaTrader 5
 

Wenn der Code kompiliert werden kann aber nicht tut, was er soll, ist es an der Zeit den Debugger anzuschmeißen.

Geh das mal durch:
https://www.metatrader5.com/de/metaeditor/help/development/debug
https://www.mql5.com/de/articles/2041 // Die Fehlerverarbeitung und Protokollierung in MQL5
https://www.mql5.com/de/articles/272
https://www.mql5.com/de/articles/35 // Einführung in MQL5: Schreiben eines einfachen Expert Advisor und benutzerdefinierten Indikators, Siehe Ende: Starten und Debuggen

Tracing, Debugging und strukturelle Analyse von Quellcodes
Tracing, Debugging und strukturelle Analyse von Quellcodes
  • www.mql5.com
Die gesamte Problematik der Erstellung einer Struktur eines auszuführenden Codes und dessen Tracing lässt sich ohne ernsthafte Schwierigkeiten lösen. Diese Möglichkeit trat mit MetaTrader 5 dank einer neuen Funktion der MQL5-Sprache in Erscheinung: der automatischen Erstellung von Variablen eines komplexen Datentyps (Strukturen und Klassen) und deren Beseitigung beim Verlassen des lokalen Umfelds. Dieser Beitrag beschreibt die Methoden und liefert ein vorgefertigtes Tool.
 
Carl Schreiber:

Wenn der Code kompiliert werden kann aber nicht tut, was er soll, ist es an der Zeit den Debugger anzuschmeißen.

Geh das mal durch:
https://www.metatrader5.com/de/metaeditor/help/development/debug
https://www.mql5.com/de/articles/2041 // Die Fehlerverarbeitung und Protokollierung in MQL5
https://www.mql5.com/de/articles/272
https://www.mql5.com/de/articles/35 // Einführung in MQL5: Schreiben eines einfachen Expert Advisor und benutzerdefinierten Indikators, Siehe Ende: Starten und Debuggen

Okay, danke. Ich habe mir jetzt mal mit dem Beispiel zu SpinEdit aus der Dokumentation beholfen. Damit ging es. Ohne den Debugger wäre ich allerdings aufgeschmissen gewesen. Die Beiträge über Logging und Fehlerverarbeitung sind auch interessant, aber momentan fühlt es sich noch nicht so zielführend an. Ich weiß schon, dass ich die jetzt mal überfliegen werde und dass die Tree-Geschichte bald wieder auf mich zukommt. Irgendwie schaffe ich es nicht, ein Thema erst komplett durchzuarbeiten und dann anzuwenden, sondern brauche immer ein konkretes Ziel und lerne dann beim Basteln, wie man mit den Klassen umgehen muss. Darum versuche ich es jetzt mal mit grafischen Elementen, weil man da sieht was man tut und taste mich langsam an Arrays mit Klassentypen heran.

Dokumentation zu MQL5: Standardbibliothek / Panels und Dialoge / CSpinEdit
Dokumentation zu MQL5: Standardbibliothek / Panels und Dialoge / CSpinEdit
  • www.mql5.com
CSpinEdit - Panels und Dialoge - Standardbibliothek - Nachschlagewerk MQL5 - Nachschlagewerk über die Sprache des algothitmischen/automatischen Handels für MetaTrader 5
Grund der Beschwerde: