Geschrieben 7. Dezember 200916 Jr. comment_90100 Moin Freunde, kann sich mal jemand mein Programm anschauen, ich finde den Fehler nicht, der nach dem Compilieren angezeigt wird. Sicherlich nur eine Kleinigkeit, aber ich finde ihn nicht...wk_superindikator_advisor.mq4wk_superindikator.mq4 Bearbeitet 10. Dezember 200916 Jr. von ronner Titel geändert Melden
Geschrieben 7. Dezember 200916 Jr. comment_90101 Moin Freunde, kann sich mal jemand mein Programm anschauen, ich finde den Fehler nicht, der nach dem Compilieren angezeigt wird. Sicherlich nur eine Kleinigkeit, aber ich finde ihn nicht... du hast die Variable iMA deklariert. Im MetaEditor siehst du, dass diese farblich anders dargestellt wird als all deine anderen Variablen.Und zwar aus dem Grund, da diese einen bereits benutzten Namen eines fest eingebauten Indikators nutzen möchte. Melden
Geschrieben 7. Dezember 200916 Jr. comment_90102 ich finde den Fehler nicht, wie sieht denn die Fehlermeldung aus? Ist der Fehler im Indi oder im EA? Ein bissl mehr info als nur "da passt was nit, sagt mir bitte was es is" wäre nett. Melden
Geschrieben 7. Dezember 200916 Jr. comment_90103 //Indikatorberechnung MA01= iMA(NULL,0,Period_MA1,0,MODE_EMA,PRICE_CLOSE, i); // MA aktuell MA02= iMA(NULL,0,Period_MA1,0,MODE_EMA,PRICE_CLOSE,i+1); // MA vor 1 Balken MA03= iMA(NULL,0,Period_MA1,0,MODE_EMA,PRICE_CLOSE,i+2); // MA vor 2 Balken L1= MA01-MA02; // L2= MA02-MA03; Dyn= L1/(MathAbs(MA01-MA03)); //Einstiegsrichtung if (iMA>0 && iMAold<0) longentry=true; if (iMA< && iMAold>0) shortentry=true;iMAold wird nicht gesetzt.iMA ist eine Indikator der vom MT4 bereits belegt ist den du hier keine Parameter gibst. MT4 verlangt für diesen Indikator Werte.Deine Variabeln heissen MA01, MA02 und MA03. Die tauchen aber nicht auf für deiner Einstiegsentscheidung.Du hast versucht die relevante Information vom Indikator rauszukopieren und in deinem Advisor reinzukopieren. Versucht doch einfach den Indikator per iCustom zu benutzen.if(CalcCurOrd()==0) if(CalcCurOrd()!=0) { Order_nachsenden(); }Macht keinen Sinn. Entweder ist etwas ==0 oder !=0 Melden
Geschrieben 7. Dezember 200916 Jr. Autor comment_90104 wie sieht denn die Fehlermeldung aus? Ist der Fehler im Indi oder im EA? Ein bissl mehr info als nur "da passt was nit, sagt mir bitte was es is" wäre nett. Fehlermeldung ist im EA Melden
Geschrieben 7. Dezember 200916 Jr. Autor comment_90106 Fehlermeldung ist im EA Es zeigt nach meinem Eingriff noch diesen Fehler an: '>' - left parenthesis expected und: '<' - left parenthesis expected Was ich aber überhaupt nicht verstehe, denn die Klammern sind doch (wie ich meine) richtig gesetzt...Überarbeitetes Programm habe ich nochmal im Anhang.wk_superindikator_advisor.mq4 Melden
Geschrieben 7. Dezember 200916 Jr. comment_90107 if (iMA>0) longentry=true; ... if (iMA<0) shortentry=true;Du kannst auch draufklicken auf die Fehlermeldung und er springt dann ins entsprechende Feld wo er diesen Fehler sieht.Hierbei handelt es sich um die Parametergabeüber vom iMA welche bei dir fehlen. HIER findest du die Doku welche Parameter MT4 haben will. Melden
Geschrieben 7. Dezember 200916 Jr. comment_90108 Es zeigt nach meinem Eingriff noch diesen Fehler an: '>' - left parenthesis expected und: 'Welche Zeile? Was ich aber überhaupt nicht verstehe, denn die Klammern sind doch (wie ich meine) richtig gesetzt... ja, die Klammern sind richtig, aber du hast das Problem von vorher nicht behoben.Was genau hast du denn getan um das Problem zu beheben? (Das Problem war, das du einer Variable einen reservierten(also unerlaubten) Namen gegeben hast) Melden
Geschrieben 9. Dezember 200916 Jr. Autor comment_90194 Welche Zeile? ja, die Klammern sind richtig, aber du hast das Problem von vorher nicht behoben.Was genau hast du denn getan um das Problem zu beheben? (Das Problem war, das du einer Variable einen reservierten(also unerlaubten) Namen gegeben hast) Okay Freunde, das eine Problem habe ich erkannt und habe die richtigen Variablen eingesetzt (hoffe ich doch). Jetzt erscheinen nur noch drei Warnungen: Function "CalcCurOrd" is not referenced and will be removed from exp-file Function "PointX" is not referenced and will be removed from exp-file Function "Order_nachsenden" is not referenced and will be removed from exp-file Diese Warnungen erschienen aber vorher nicht, kann ich nicht verstehen. Noch eine kleine Frage: wie muß ich eigentlich vorgehen, wenn ich den Quelltext hier im Editor in einen dafür vorgesehenen Container einbetten möchte ? Dankewk_superindikator_advisor.mq4 Melden
Geschrieben 9. Dezember 200916 Jr. comment_90195 Function "CalcCurOrd" is not referenced and will be removed from exp-fileDas bedeutet nur das die jeweilige Funktion zwar geschrieben ist, aber nirgends verwendet wird. Wenn du also denkst das eine der genannten Funktionen schon verwendet wird, solltest nochmal nachschauen, ansonsten ist alles ok. Bei der Fehleranzeige ist es so: Wenn davor bereits Fehler auftreten, vor allem bei Syntaxfehlern, dann werden nicht immer alle anderen Fehler auch angezeigt, da der Compiler dann ja nicht weiß wie es richtig sein sollte, und damit möglicherweise andere Fehler übersieht oder ignoriert. Noch eine kleine Frage: wie muß ich eigentlich vorgehen, wenn ich den Quelltext hier im Editor in einen dafür vorgesehenen Container einbetten möchte ? Du schreibst es so (also der Text der jetzt im Container steht, dann einfach direkt in den Post)[mql] ...beliebiger mql code [/mql] Melden
Geschrieben 9. Dezember 200916 Jr. Autor comment_90197 Du schreibst es so (also der Text der jetzt im Container steht, dann einfach direkt in den Post) Danke für die Hilfe. Kannst Du nochmal nachschauen was die Ursache dafür ist, daß er im Backtest nur Longpositionen generiert ?Ich selbst finde im Programm leider auch nicht den Fehler... Bearbeitet 9. Dezember 200916 Jr. von ronner Zitat gekürzt + vorhergehender (Zitat)Beitrag gelöscht Melden
Geschrieben 9. Dezember 200916 Jr. comment_90200 MA01= iMA(NULL,0,Period_MA1,0,MODE_EMA,PRICE_CLOSE, i); // MA aktuell //Einstiegsrichtung if (MA01>0) longentry=true; if (MA01<0) shortentry=true;schau dir den code mal an.du machst es abhängig davon ob ein moving average positiv oder negativ ist. MA01= iMA(NULL,0,Period_MA1,0,MODE_EMA,PRICE_CLOSE, i); // MA aktuellda wir aber IMMER einen positiven closewert haben muss der moving average der darauf basiert auch immer positiv sein. Melden
Geschrieben 9. Dezember 200916 Jr. Autor comment_90207 MA01= iMA(NULL,0,Period_MA1,0,MODE_EMA,PRICE_CLOSE, i); // MA aktuell //Einstiegsrichtung if (MA01>0) longentry=true; if (MA01<0) shortentry=true;schau dir den code mal an.du machst es abhängig davon ob ein moving average positiv oder negativ ist. MA01= iMA(NULL,0,Period_MA1,0,MODE_EMA,PRICE_CLOSE, i); // MA aktuellda wir aber IMMER einen positiven closewert haben muss der moving average der darauf basiert auch immer positiv sein. Ehrlich gesagt komme ich noch nicht ganz mit. Ich will doch erreichen, daß eine Longposition aufgebaut wird, wenn der MA positiv wird und eine Shortposition wenn er negativ wird. Das habe ich doch aber geschrieben in der Einstiegsrichtung... Melden
Geschrieben 9. Dezember 200916 Jr. comment_90208 Schau dir mal die Werte des MA im Chart (bzw. Datenfenster) an, siehst du da einen Bar wo der MA negativ ist? Wenn ja mach bitte einen Screenshot und stells hier rein. Melden
Geschrieben 9. Dezember 200916 Jr. Autor comment_90209 Schau dir mal die Werte des MA im Chart (bzw. Datenfenster) an, siehst du da einen Bar wo der MA negativ ist? Wenn ja mach bitte einen Screenshot und stells hier rein. Ich meine den Indikatorwert. Wenn dieser unter die Null-Linie geht, wird er doch negativ. Wahrscheinlich deute ich hier irgendwas nicht richtig. Im Anhang ist aber das was ich meine.Indikator.xls Melden
Geschrieben 9. Dezember 200916 Jr. comment_90211 Hier findest du die Doku für iCustom womit du einen Indikator direkt abrufen kannst.Der Code hierbei würde dann so aussehen //Indikator double supertrend; supertrend=iCustom(NULL, 0, "wk_Superindikator",Period_MA1,History,0,0); //Einstiegsrichtung if (supertrend>0) longentry=true; if (supertrend<0) shortentry=true;ich weiss aber nicht ob du diesen hier 1 zu 1 übernehmen kannst da der aufgerufene Indikator "wk_Superindikator" bei dir "wk-Superindikator" heissen könnte. ->Unterstrich-Bindestrich. dies ist schon ein wenig kürzer als dein Code //--------- Berechnung i ----------------------------------------------------------- int i, Counted_bars; Counted_bars=IndicatorCounted(); i= Bars-Counted_bars-1; if (i>History-1) i= History-1; //Indikatorberechnung MA01= iMA(NULL,0,Period_MA1,0,MODE_EMA,PRICE_CLOSE, i); // MA aktuell MA02= iMA(NULL,0,Period_MA1,0,MODE_EMA,PRICE_CLOSE,i+1); // MA vor 1 Balken MA03= iMA(NULL,0,Period_MA1,0,MODE_EMA,PRICE_CLOSE,i+2); // MA vor 2 Balken L1= MA01-MA02; // L2= MA02-MA03; Dyn= L1/(MathAbs(MA01-MA03)); //Einstiegsrichtung if (MA01>0) longentry=true; if (MA01<0) shortentry=true;Dein Fehler lag übrigens daran dass du MA01 zum entry verglichen hast. Du hättest ehr den Dyn nehmen sollen der im Indikator auch genommen wurde. Dein MA01 war nur eine Zwischenvariable den man zu berechnung braucht. Melden
Geschrieben 9. Dezember 200916 Jr. Autor comment_90212 Herzlichen Dank erst mal. Werde es morgen hoffentlich schaffen... Bearbeitet 9. Dezember 200916 Jr. von ronner Zitat komplett gelöscht Melden
Geschrieben 9. Dezember 200916 Jr. comment_90213 Es wäre echt ein schönes Zeichen von Respekt, wenn du endlich aufhören würdest immer den gesamten Post zu zitieren. So macht es echt keinen Spass den Thread zu verfolgen/mitzuhelfen. Melden
Geschrieben 9. Dezember 200916 Jr. comment_90214 Ich meine den Indikatorwert. Dann solltest du (wie Siscop schön erklärt hat) vielleicht auch den Indikatorwert verwenden! Melden
Geschrieben 10. Dezember 200916 Jr. Autor comment_90244 Habe ich verwendet und es funktioniert jetzt auch. Die Backtest-Ergebnisse sind aber nicht so berauschend...Es ist eben doch nicht so einfach, ein wirklich gut funktionierendes Programm, das auch gute Handelsergebnisse bringt, zu erstellen. Melden
Moin Freunde,
kann sich mal jemand mein Programm anschauen, ich finde den Fehler nicht, der nach dem Compilieren angezeigt wird.
Sicherlich nur eine Kleinigkeit, aber ich finde ihn nicht...
wk_superindikator_advisor.mq4
wk_superindikator.mq4
Bearbeitet von ronner
Titel geändert