December 7, 200916 yr 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 Edited December 10, 200916 yr by ronner Titel geändert Report
December 7, 200916 yr 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. Report
December 7, 200916 yr 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. Report
December 7, 200916 yr 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 Report
December 7, 200916 yr Author 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 Report
December 7, 200916 yr Author 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 Report
December 7, 200916 yr 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. Report
December 7, 200916 yr 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) Report
December 9, 200916 yr Author 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 Report
December 9, 200916 yr 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] Report
December 9, 200916 yr Author 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... Edited December 9, 200916 yr by ronner Zitat gekürzt + vorhergehender (Zitat)Beitrag gelöscht Report
December 9, 200916 yr 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. Report
December 9, 200916 yr Author 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... Report
December 9, 200916 yr 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. Report
December 9, 200916 yr Author 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 Report
December 9, 200916 yr 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. Report
December 9, 200916 yr Author comment_90212 Herzlichen Dank erst mal. Werde es morgen hoffentlich schaffen... Edited December 9, 200916 yr by ronner Zitat komplett gelöscht Report
December 9, 200916 yr 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. Report
December 9, 200916 yr comment_90214 Ich meine den Indikatorwert. Dann solltest du (wie Siscop schön erklärt hat) vielleicht auch den Indikatorwert verwenden! Report
December 10, 200916 yr Author 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. Report
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
Edited by ronner
Titel geändert