|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Wenn mein CCI so falsch ist, warum hat der EA dann heute im Demo
rund 30 € Gewinn gemacht? Obwohl tatsächlich die Ausstiegs-Bedingungen ungünstig geproggt waren. Mit der Version im Anhang müsste es besser laufen. |
|
|||
Nur weil der EA heute mal Gewinn gemacht hat muss die Einstiegsbedingung ja nicht unbedingt richtig programmiert sein.
Hast Du Dir mal die Werte von IL1_B1 oder IL1_B0 mit Print() anzeigen lassen. Beide Variablen sind immer NULL !!! somit musst Du in Zeile 123 nicht schreiben CCI_B1<IL1_B1 Sondern könntest auch schreiben CCI_B1< 0 Statt CCI_B0<IL1_B0 geht dann auch CCI_B0<0. Dasselbe ist in Zeile 135 CCI_B1>IL1_B1 kannst Du ersetzen mit CCI_B1>0 Dein EA wird dasselbe Ergebnis liefern im Backtest aber nicht das tun was du denkst was er tut :-) Hast Du eigentlich nen System nach dem Du die geschweiften Klammern setzt oder machst Du das nach Zufallsprinzip solange bis keine Fehlermeldungen erscheinen ? Sorry, Du musst das Sprachkonzept lernen sonst wird das nie was. |
|
|||
Zitat:
Aber der Junge ist einfach lernresistent. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Ach so, was ich noch dazu ergänzen wollte:
Das ist ne richtig logische Logik: "Der EA hat heute Gewinn gemacht, da muß er ja richtig programmiert sein". Was es aber nicht auch alles gibt. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Kollegen...
Sorry, ich hab keinen Bock, jetzt noch mal Alles zu erklären. Also macht einfach folgendes Experiment: Kompiliert den EA, den ich heute zuletzt hoch geladen hab. Dann testet ihn mal mit "Indicator Line"s 100 u. -100. Dann noch mal mit "Period" 1 und 1. Oder was Ihr Euch da gedacht habt. Dann helft mir bitte mit dem Einbau des Relativ Vigor Index. Wenn wir uns beim CCI nicht einig werden, kann zur Not der RVI dessen Job übernehmen. Viel Spaß und gute Nacht. |
|
|||
Zitat:
Diese Zeile ist richtig, weil die dritte Variable eine Indikatorperiode ist!!! double CCI_B0 = iCCI(_Symbol,_Period, InpCCIPeriod, CCI_Price, 0); In dieser Zeile steht als Indikatorperiode eine -100. Erstens können Perioden nur positiv sein, ansonsten setzt der Compiler dafür eine 0 ein und damit ist das Ergebnis IL1_B0 immer!!!!!!!! 0. double IL1_B0 = iCCI(_Symbol,_Period, indicator_level1, CCI_Price, 0);//-100 In dieser Zeile wird zwar für IL_2B0 ein Wert errechnet, weil die dritte Variable positiv ist, aber mit der Periode 100 soll da sicherlich nicht gerechnet werden, d.h. der errechnete Wert bezieht sich auf die letzten 100!!! Kerzen. double IL2_B0 = iCCI(_Symbol,_Period, indicator_level2, CCI_Price, 0);//+100 So, also wenn Du nun immer noch nicht Deinen fatalen Denkfehler erkannt hast, dann kann Dir keiner mehr helfen. Und das hat nichts mit "nicht Bock haben" zu tun und auch nicht mit "nicht einig werden". Das hat was mit einer simplen, aber korrekten Programmierung zu tun. Alles andere ist Murks, Ausprobiererei, Nonsens. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Ok, wisst Ihr was? Wir (bzw. Ihr) lassen den CCI einfach raus. Stattdessen
verwenden wir einfach den Relativ Vigor Index. Weiß aber nicht so richtig, wie einbaun. |
|
|||
Ich habe ja nun schon wirklich unzähligen Usern programmtechnisch geholfen, den richtigen Weg zu finden. So auch in Deinem Fall, nur mit dem Unterschied alle! anderen haben die Tips und Hinweise dankend angenommen, sofort umgesetzt und nicht vor lauter Trotz das Handtuch hingeschmissen.
Das ist definitiv der falsche Weg, weil Du so nicht weiter kommen wirst. Das, was hier passiert ist, wird symptomatisch weiterbestehen. Eingebaute Fehler, die nicht sofort sichtbar sind, wie der mit dem iCCI(), werden dann nicht erkannt und könnten sich ggf. sehr negativ auswirken. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Kann ich nur bestätigen. Ob iCCI(), iRVI(), iRSI() oder wie die Indikatorfunktionen alle heißen- deren Verwendung ist immer gleich. Und wenn das mit iCCI zu kompliziert für dich ist wird das mit iRVI auch nicht besser.
Programmieren kann man lernen. Aber nur mit probieren ohne Verständnis wird das nichts. |
|
|||
Zitat:
her hast? Ich jedenfalls hab in der Quelldatei nur diese Parameter gefunden: Code:
extern int InpCCIPeriod = 14; extern double indicator_level1 = -100.0; extern double indicator_level2 = 100.0; input ENUM_APPLIED_PRICE CCI_Price = PRICE_TYPICAL; Wenn ich das richtig verstehe, wird der CCI hier nicht als Funktion benutzt, sondern nur abgefragt. Bin aber Voll-Noob. |
Lesezeichen |
Stichworte |
ea programmieren, expert advisor programmieren, mql4, programmierung, programmierung metatrader, valerius, valerius ea, valerius expert advisor |
|
|