|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Das schwierige dabei ist, dass ich deinen Text auch nicht mehr folgen kann *aarghhh
Ich geh nochmal durch. Wir haben vier Variablen bzw. Codeschnipsel: //Schnipsel 1 bool START_TIMER = false; int START_TICKS = 0; // Schnipsel 2 EventSetTimer(3); //Schnipsel 3 void OnTimer() { START_TIMER = true; EventKillTimer(); } //Schnipsel 4 START_TICKS++; if(START_TICKS < 3 || !START_TIMER) return 0; So wie ich es jetzt verstanden habe, gehören Schnipsel 2 und Schnipsel 3 zusammen, da Zitat: Zitat:
Zitat:
// Initialisierung und // Check for Display setzen. Funktioniert aber nicht: Fehlermeldung! Ich bekomme es nicht hin |
|
|||
Ne, ne. Mach es einfach wie ich hier bereits gesagt habe.
Zitat:
Schnipsel 3 als eigenen Code-Block irgendwo außerhalb jeder Funktion! Schnipsel 4 ganz nach oben in der start-Funktion! |
|
|||
Es will einfach nicht
Jetzt hab ich zwar keine Fehler mehr beim kompilieren, aber jetzt werden auch keine Kerzen mehr angezeigt??? Nochmal. Schnipsel 1 bool JUST_ONCE = false; string SYM = Symbol(); int PER = Period(); bool START_TIMER = false; int START_TICKS = 0; sollte richtig sein Schnipsel 2 //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicator line IndicatorBuffers(3); SetIndexStyle(0,DRAW_HISTOGRAM,0,2); SetIndexStyle(1,DRAW_NONE); SetIndexBuffer(0,val1); SetIndexBuffer(1,val2); //---- return(0); //Kingbar 2.4 update begin EventSetTimer(3); //Kingbar 2.4 update end } Schnipsel 3 //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { //Kingbar 2.4. begin START_TICKS++; if(START_TICKS < 3 || !START_TIMER) return 0; //Kingbar 2.4. end if(JUST_ONCE) { for(int i=0; i<Signal_Count; i++) { if(Signal_State[i] != -1) { switch(GetSignalState(i)) { case -1: break; und Schnipsel 4 (außerhalb) else CheckNewBars(0); return(0); } // Kingbar 2.4 begin void OnTimer() { START_TIMER = true; EventKillTimer(); } // Kingbar 2.4 end //+------------------------------------------------------------------+ script ende |
|
|||
Hast du vielleicht noch etwas umgeändert, was ich nicht habe?
|
|
|||
Alles richtig, bis auf:
Zitat:
Ergebnis => Timer wird nicht gesetzt => OnTimer() wird nie aufgerufen => START_TIMER wird nie auf TRUE gesetzt => die Abfrage: Code:
if(START_TICKS < 3 || !START_TIMER) |
|
|||
jetzt haben wir uns n bierchen verdient
ich mach feierbabend für heute. es scheint zu funktionieren. wir kommen den ganzen näher. wie läuft es bei dir mit deinem ea? |
|
|||
Sorry, dachte du kennst die Folge von einem return
Macht heute später auch Feierabend... |
|
|||
Zitat:
sooo..die erste maschine ist am laufen. noch nicht auf volllast, aber der indikator läuft wunderbar. ich will mal noch probieren, dass er schneller umschaltet. wenn ich in den zeiteinheiten umschalte. das dauert noch etwas. muss sich aber erstmal hinten anstellen. jetzt gehts darum den server zum laufen zu bringen. der erste manuelle test der letzten zwei wochen lief. erstmal gut. 14% profit mit einem durchnschnittsdrawdown von 0,7%. bis auf eine ausnahme. aber das war menschlicher fehler. lag nicht am indikator wir kommen dem ganzen auf jeden fall näher...sehr schön. schöne zusammenarbeit mit dir!!! |
Lesezeichen |
Stichworte |
kopieren, linien, linien charts übernehmen, metatrader tools, mql4, objekte, programmierung, programmierung metatrader, programmierung mql4, timeframes linie, tool, tools |
|
|