Neuer Valerius Metatrader 4 EA
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo.
Leider sind gleitende Durchschnitte ja nicht gerade das Gelbe vom Ei. :rolleyes: Deswegen will ich mich ans Werk machen, und einen komplett neuen EA für den MT4 basteln. Und Ihr dürft mir gerne Alle helfen. :D Als Dankeschön gibts unser Werk völlig kostenlos hier zum Download. Hauptsächlich soll er komplett selbständig intraday mit Forex, vielleicht mal mit CFDs traden. Wenns nach mir geht, werden von 8 bis ca. 16:22 Long & und Short Orders geöffnet. Alle, die um 17:37 noch offen sind, werden genau dann geschlossen, ob im + oder -. Max Spread derzeit 40 Pipen. Ich möchte einfach die klassischen Indis und Oszillatoren des MT4 einbauen. Und zwar die, die leicht zu verstehen und zu programmieren sind, möglichst eindeutige Signale und Infos liefern, und möglichst keine Verzögerung haben. Welche im Einzelnen weiß ich aber noch nicht. Muss mich erst mal gründlich mit Allen befassen. :rolleyes: Bis jetzt sind nur die Einstiegssignale des Commodity Channel Index drin. CCI>0.0: Buy CCI<0.0: Sell |
Moin ;)
Prima Idee, wäre gern dabei Da ich erst einmal checken muss, was der EA macht, habe ich ihn mal geladen.....beim kompilieren kommen mehrere Fehlermeldungen Zeilen 102, 103, 112 und 115....je 2 Meldungen: 1-'&&' - operand expected 2- return value of 'OrderSend' should be checked Gruß Andreas |
Liste der Anhänge anzeigen (Anzahl: 1)
Danke fürs Interesse.
Der ist noch lange nicht fertig, hab noch nicht mal richtig angefangen. Die Vers. im Anhang müsste keine Fehler mehr vorbringen. Wär dankbar, wenn man damit schon mal ein paar Tests machen könnte. ;) |
Liste der Anhänge anzeigen (Anzahl: 1)
Hab jetzt mal grob ein paar Indis angeschaut. Ist gar nicht so einfach,
fürs Daytrading einen zu finden. Nächste Station wäre erst mal den Force Index einzubaun. :rolleyes: |
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo.
Vergesst die Vers. oben mit dem CCI. War nix. Im Anhang eine, die besser funktionieren müsste. Hab allerdings gerade keine Zeit und musste mich beeilen. :rolleyes: |
Moin ;)
Gerne teste ich die verschiedenen Versionen. Ich habe im Moment nur das Problem, dass ich über Tickstory Lite keine Tickdaten mehr bekomme. Ich kann also nur mit den Daten aus dem Metatrader 4 testen; diese gehen bekanntermaßen nicht so weit zurück und sind eben auch keine Tickdaten. Wäre gut, wenn Du mir schreiben könntest, welches Paar und / oder Indicies Du in welchem Timeframe über welchen Zeitraum benötigst; ggf. kann ich dann über einen VPS die Daten laden und sie auf meinen PC überspielen. Schönes Wochenende! Andreas |
Hab immer nur FX getestet/getradet. Und davon nur die, die nen Spread von unter 40 und bei JFD 0.07 Euro Kommission hatten. Seit einiger Zeit sind es nur noch 0.06 Euro für alle WP. Ich trade im Demo und Live immer im 1H.
CCI Einstellungen: 1H CCI:14, Price Typical (weiß nicht, ob Weighted besser ist) Linien:100/-100 CCI>100 (obere Linie): Buy CCI<0.0:Close CCI<-100 (untere Linie): Sell CCI>0.0:Close Teste den CCI alleine seit heute vormittag im Demo, schaut gar nicht mal schlecht aus. Aber ganz alleine wird er fürs Trading nicht reichen, scheint aber ganz gut zu sein, um Einstiegssignale zu bestätigen. Werd aber nächste Woche noch mehr testen. |
Liste der Anhänge anzeigen (Anzahl: 3)
Abend.
Hab versucht, den Force Index einzubaun. Gibt auch keine Fehlermeldung. Allerdings kam mir das Ganze zu einfach vor. Ob das richtig ist? Globale Variablen: Code:
//Force Index GV Code:
//Force Index Code:
//Open Trade selbständigen Traden gut zu sein. Im Anhang noch mal extra ne Version ohne FI, nur mit CCI. Und die Quelldatei des FI-Oszillator + CCI_FI_EA. |
jetzt geht der Spass mit den indicator_levels wieder los.
Hatten wir das nicht schon mal in nem anderen Thread ? @MA_EA iCCI() ist eine Funktion der du Parameter übergibst. Der dritte Parameter in der Klammer ist immer die Anzahl der Perioden über die der CCI berechnet wird. An diese Stelle schreibst Du dann 100 Perioden oder -100 Perioden . Dein Indikatorlevel wird also durch die Funktion iCCI als Anzahl der Perioden interpretiert. |
Der Tag war hart, also kurz:
Bei der Dekla des GDs ist das wohl so. Bei der Dekla der Linien gehts da aber nicht um Perioden, sondern um ihre Größe. Code:
//CCI |
Hallo.
Was ist eigentlich der "Relative Vigor Index"? Steht in meinem Indi-Oszi-Buch nicht drin. :confused: Scheint auf den 1. Blick nicht so kompliziert zu sein. Der Schnellste ist aber wohl auch nicht. :( https://charts.mql5.com/12/442/nzdch...rokers-ltd.png |
|
Liste der Anhänge anzeigen (Anzahl: 1)
Das schaut leider doch etwas komplizierter aus. :confused:
Code:
//RVI |
Moin ;)
Habe nun ein anderes Programm zum Laden der Tickdaten. Ich muss nur noch sehen, wie ich das in den MT4 bekomme. Ich melde mich, wenn ich das hinbekommen habe, dann kannst Du mir sagen, welches Währungspaar ich zum Testen nehmen soll. Ich habe Zugriff auf die üblichen Forex-Majors, Forex-Exotics, Gold, Silber, Kupfer, Platin, Palladium sowie Brent Oil und WTI Light Oil. Dazu auch noch 17 Indicies (DAX, Stoxx50, Dow etc.) Gruß Andreas |
Zitat:
|
Zitat:
Was du dann schreibst ist dann aber kein mql4 mehr. Lass Dir mal im Journal die Werte von IL1 und IL2 anzeigen. Das geht mit: Code:
Print ("IL1:",IL1, " / IL2:",IL2); Kann auch nicht, weil -100 Perioden vorwärts denken kann der CCI nicht weil er da noch keinen Kurs hat :-). Falls Du dann doch mql4 Code schreiben solltest findest Du die Definition des iCCI in der Referenz: double iCCI( string symbol, // symbol int timeframe, // timeframe int period, // averaging period int applied_price, // applied price int shift // shift ); Die Funktion iCCI benötigt genau diese 5 Parameter um ein Ergebnis zu liefern. Oder an welcher Stelle meinst Du der Funktion iCCI mitzuteilen über wieviele Perioden sie berechnet werden soll? Mit iCCI deklariest Du keine Linien sondern den Wert des iCCI im angegebenen Bar(shift). Und ob der iCCI <>100/-100 ist prüfst Du dann mit einem Vergleich iCCI()>100 oder iCCI<-100. |
Muss ich mir noch mal genau anschaun. :confused:
Jetzt komm ich aber erst mal beim RVI nicht weiter. Eigentlich müsste die Globale Variable soweit richtig sein: Code:
//RVI GV Code:
//RVI Code aus der RVI mq4 Parameter Code:
//---- indicator parameters Code:
//+------------------------------------------------------------------+ |
"... Dann die Definitionen nach Start:
Code: //RVI double DN_PLUS = iRVI(ExtRVIPeriod); double DN_MINUS = iRVI(ExtRVIPeriod); Beim Kompilieren heißt es für beide Zeilen "'iRVI' - wrong parameters count Valerius_(CCI_FI_RVI)_Metatrader4_EA.mq4 113 18..." Klar! Da könnte evtl. noch der Index des Bufferspeichers fehlen. Und v.a. auf welcher Kerze soll denn der Indikatorwert berechnet werden? Die fehlen leider immer noch die Basics. Du scheinst auch nicht viel nachgeholt zu haben, denn das mit den Levels des CCI haben wir Dir schon vor einiger Zeit mehrmals!! erklärt, dass die beiden Levelwerte nichts in der Funktion iCCI() zu suchen haben. Das ist auch der Hammer: "//RVI double DN_PLUS = iRVI(ExtRVIPeriod); double DN_MINUS = iRVI(ExtRVIPeriod);" Wie soll denn unterschieden werden zwischen DN_PLUS und DN_MINUS bei identischer Parameterübergabe? traderdoc |
Zitat:
|
Bekommst Du es hin, Indikatoren etc. in den EA einzubaun? Ich anscheinend nicht. :( In meinem MQL Buch steht irgendwas von "Mode" und was weiß ich Alles, was kein Mensch kapiert.
https://www.amazon.de/Algorithmische.../dp/3732366715 |
Das würde Dir auch gelingen, wenn Du die nötige Routine dazu hättest. Bis dahin ist es aber wie immer ein langer Weg. Diese Aufgabe, die Du Dir gestellt hast, ist einfach zu kompliziert. Setze doch erst einmal einfachere Aufgaben um.
Und wie gesagt, solange in die iCCI()-Funktion die Levels eingebaut werden, wird das eben nichts. traderdoc |
Zitat:
Nein, ich habe keine Ahnung. |
Wenn du dir nicht sicher bis welche Variablen i die Klammern der Funktionen kommen schau dir die Dokumentation auf der Website an. Dort siehst du dann auch ein Beispiel aufruf der Funktion.
Ich würde aber entfehlen erstmal einfache Basics des Programmierens zu lernen. Für mql reicht da imparative Programmierung für den Anfang. Also was sind Typen, Variablen, Konstanten, for-schleife, while schleife, do while schleife, if abfrage, Funktionen, Prozeduren , arrays, listen, sets etc. pp. |
Liste der Anhänge anzeigen (Anzahl: 1)
Kann mir Jemand nen gutes MQL 4 Buch empfehlen? Aber es muss auf deutsch sein.
Im Anhang erst mal mein CCI FI EA. Hoffe es ist Alles richtig. :rolleyes: |
Zitat:
double CCI = iCCI(_Symbol,_Period, InpCCIPeriod, CCI_Price, 1); double IL1 = iCCI(_Symbol,_Period, indicator_level1, CCI_Price, 1);//-100 double IL2 = iCCI(_Symbol,_Period, indicator_level2, CCI_Price, 1);//+100 Fast unglaublich dieses Renitenz. Wie oft haben wir geschrieben, dass die zweite und die dritte iCCI()-Funktion falsch!! geschrieben wurde. Die Level haben in dieser Funktion nichts zu suchen! Wie oft sollen wir das noch schreiben? Wenn dann müsste CCI direkt mit den Levels verglichen werden! So nun nochmal zur Funktion iCCI(): double iCCI( string symbol, // symbol int timeframe, // timeframe int period, // averaging period int applied_price, // applied price int shift // shift ); D.h. die dritte Variable ist die Periode und nicht!! das Level. Mehr gibt es dazu nicht zu schreiben. Und solange Du das nicht verstehst, wird Dein Programm immer falsche Ergebnisse liefern. So, nun habe ich aber wirklich das allerletzte Mal etwas zu diesem Unsinn geschrieben. Ich meine, Fehler machen wir alle, da will ich mich auch gar nicht ausnehmen, aber Deine Lernresistenz ist schon was Besonderes. traderdoc |
Testet den EA bitte einfach mal, dann werden wir sehn, dass das mit
dem CCI korrekt ist. inp CCI Period:Glättungsfaktor des MA, wie bei iMA. L1/L2:-100 und +100 Linie. Bei allen steht die Kerze, mit der gerechnet werden soll, ganz hinten. Wie bei allen anderen Indis auch. Ausserdem werden Bars und Glättungsparameter immer mit int angegeben. Jedenfalls bis ich was Anderes erfunden habe. :cool: :D |
Unglaublich!
|
Liste der Anhänge anzeigen (Anzahl: 1)
Wenn Ihr die neueste Version testet, dann bitte "Close loss Trades
fast" auf "false" stellen. Sofern die in diesem Anhang nicht schon entsprechend ist. Sonst spinnt das Teil rum. :confused: |
Zitat:
Da müssen die Entwicker von mql ja getrieft haben als sie die Beschreibung verfasst haben. Naja, ich werde mal bei meinen EA's zum glätten weiterhin die Funktionen MathRound() oder round() benutzen. |
Zitat:
traderdoc |
Liste der Anhänge anzeigen (Anzahl: 1)
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 |
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 |
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. :cool: |
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 |
Liste der Anhänge anzeigen (Anzahl: 2)
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. :confused: |
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 |
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. |
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:
her hast? Ich jedenfalls hab in der Quelldatei nur diese Parameter gefunden: Code:
extern int InpCCIPeriod = 14; Wenn ich das richtig verstehe, wird der CCI hier nicht als Funktion benutzt, sondern nur abgefragt. Bin aber Voll-Noob. :rolleyes: |
Alle Zeitangaben in WEZ +2. Es ist jetzt 07:35 Uhr. |
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum