|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Refresh Offlinechart
Hallo. Ohne viele einleitende Worte, gleich zur Frage.
Mit dem Script Code:
int start() { static int hwnd = 0; hwnd = WindowHandle(Symbol(), Period()); while(True) { PostMessageA(hwnd,WM_COMMAND,CHART_CMD_UPDATE_DATA,0); Sleep(updateZeit); } return(0); } Hat jemend eine Ahnung woran das liegt? |
|
|||
Hallo,
verstanden habe ich dein Problem nicht, versuche trotzdem ein paar Tips zu geben. In der while Schleife fehlt noch ein RefreshRates um die Daten zu aktualiesieren, andernfalls bekommst du irgendwann ein buffer overflow. Vielleicht meintest du die Funktion WindowRedraw? Guten Tag, Dave |
|
|||
Hallo,
was ich vergessen habe ist, dass du die while Schleife in while(IsStopped()==false) aendern sollst, damit funktioniert das schliessen des eas oder scripts ohne timeout. Guten Tag Dave |
|
|||
zu 1)
Ich habe einen MT4 (online) der mir einen Offlinechart erstellt. z.B. 4 x M5 mit Period_Converter_Opt.mq4. Dann habe ich einen zweiten MT4 (offline) der diesen Offlinechart anzeigt ... wie geht das denn!? ... ganz einfach das Historyverzeichnis des ersten MT, mittels MKLINK (Windowskommando) zum Verzeichnis des zweiten MT machen. Jetzt kann ich im Submenü "Aktualisieren" auswählen oder das Script anbinden und mir das manuelle Aktualisieren. (Klappt. Mit den Vorschlägen noch besser) Wenn ich diesen Codeschnipsel in einen Indikator reinschreibe, das geht nichts mehr und ich muß den MT-Prozess killen. Code:
#property indicator_chart_window #include <WinUser32.mqh> #define CHART_CMD_UPDATE_DATA 33324 extern int updateZeit = 1000; static int hwnd = 0; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators hwnd = WindowHandle(Symbol(), Period()); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { //---- PostMessageA(hwnd,WM_COMMAND,CHART_CMD_UPDATE_DATA,0); RefreshRates(); WindowRedraw(); //---- return(0); } |
|
|||
Zitat:
hier ? |
|
|||
Das funktioniert auch leider nicht. Übrigens, "währe" ohne "h", "simpele" ist "simple", "defeault" heißt "default", "abzupspeicher" solle besser "abzuspeichern" sein und "script" ist "skript". Aber sonst sind keine Lechsleibfeler drin.
|
|
|||
Nun sei mal nicht so krümel*****risch!
Hast ja prinzipiell Recht, nur mit dem skript bist Du über das Ziel hinausgeschossen. Denn entweder man benutzt es im englischen Sinne, dann klein und mit c oder im deutschen Sinne mit k oder im latainischen mit c, dann aber auch in beiden Fällen in Großschreibweise! traderdoc |
Lesezeichen |
Stichworte |
chart, chart aktualisieren, metatrader, metatrader chart, offline chart |
|
|