Alle Inhalte von Mythos
-
EA - Zertifizierung
*g* mit den Kategorien könnte man andere Kundschaft anlocken als man ursprünglich wollte. Aber ich wollte auch schonmal einen EA Swinger nennen... die Leute schaun nur so blöd wenn man sagt "Mein Swinger hat heut schon wieder 2% erwirtschaftet" ;) Damit nicht nur Offtopic hier steht: Was mit zum Thema Zertifizierung noch eingefallen ist, bzw. zur "Kritik" daran: Ich denke man kann eine solche Zertifizierung eher mit dem Pickerl fürs Auto vergleichen. Wenn ein Auto das Pickerl hat, heißt das nicht das es das Beste, Sparsamste, Schnellste, Modernste, Luxuröseste etc ist. Oder das es am Besten zu den eigenen Wünschen und Fahrverhalten passt. Aber das Pickerl sagt dir das du erwarten kannst das das Auto nicht explodiert wenn du den Zündschlüssel drehst. Gas und Bremse tun was sie sollen und es auch sonst halbwegs in Ordnung ist. Ob das Auto dann aber zum Käufer passt, bzw. er das Risiko (zB bei einem 5000PS Sportwagen aus der ersten Kurve zu fliegen, aber das dafür schnell und stylisch) eingehen will, muss der Käufer alleine entscheiden.
-
Erste Gehversuche in MQL
Das verstehst du am besten wenn du dir im livechart mal die aktuelle Kerze anschaust. Während dem Aufbau ist (wie conglom-o schon gesagt hat) der aktuell letzte Tick der Close-Wert der Kerze (sprich wenn jetzt "heute" kein neuer Tick mehr kommt, bleibt das auch der Close-Wert der Kerze). Da du einen Indikator programmieren willst noch ein kleiner Hinweis: Ein wichtiger Punkt beim implementieren eines Indi in MT ist das "verstehen" wie MT den Indi malt. Wenn du den fertig programmierten Indikator dann auf den Chart ziehst, wird einmal start() aufgerufen, und danach bei jedem neuen Tick wieder. Das heißt beim ersten Aufruf hat der Indi sofort die gesamte History der vorhanden Bars vor der Nase und du musst (sofern du die History des Indis malen willst) erstmal die ganze Vergangenheit malen. Wenn du dir einen Beispielindikator anschaust siehst du schnell was ich meine. Hier ist zB die Funktion IndicatorCounted() sehr praktisch, die gibt dir an wieviele Bars seit dem letzten Aufruf von start() unverändert geblieben sind. Das heißt Bars-IndicatorCounted ist die Anzahl an Bars (natürlich vom aktuellen also 0 weg) die du "nochmal betrachten/malen musst". Beim ersten Aufruf ist IndicatorCounted() == 0 So (*g* bei mir is nach dem "So" erstmal aus) ich hoff ich hab dich nicht zusehr verwirrt, bei Fragen einfach fragen.
-
Da isser (endlich)
aber im tiefschnee/matsch wirds ja erst richtig lustig... ok, die Autofahrer sind daneben herzinfaktgefährdet weil die Spurwahl halt vom Schnee entschieden wird, aber dafür gibts ja radwege (die um die Zeit immer so schön leer sind ;)
-
Da isser (endlich)
Aber bei Schnee macht das Radfahren doch erst richtig Spass. Blöd sind nur die Bimschienen die man unterm Schnee nicht sieht. Da braucht man dann halt gute "Ortskenntniss" ... oder schnelle Reflexe
-
Frage bzgl. Programmierung
Die erste Frage ist: ist es ein OpenSourceIndi oder hast du ihn gekauft? Bei Kauf: darfst du ihn "weitergeben" bzw. eben verändern lassen? (jeder halbwegs seriöse Programmierservice gibt dir diese Rechte, aber ich frag sicherheitshalber ;) Zu deiner Frage: Ja es gibt Leute im Forum die einen Programmierservice betreiben (zB Knochen). Zusätzlich gibts hier im Forum die "Rent-A-Coder" Sektion zu diesem Zweck/Thema. Falls du Interesse hast selber was dazu zu lernen, kannst du es auch einfach selber probieren und bei Bedarf fragen. Wir helfen gerne weiter. Aber im Forum herrscht halt "Mitarbeitspflicht" ;) (Klingt blöder als es ist, das Forum ist halt kein Programmierservice wo man einen Indi online stellt und sagt "der soll auf ... erweitert/verändert werden" und ein paar Tage später hat man den neuen Indi ohne selber was beizutragen, dafür gibts richtige Programmierservices ;) hth Edit: hab grad gesehen das das Thema schon in anderem Thread weitergegangen is. Da is man einmal am Abend nit online und schon geht die Post ab ;)
-
1-2-3 Formationen
sorry, bin manchmal langsam: Also wenn du im M15 ein 1 2 siehst (weil 3 ist ja noch nicht da ;) gehst du in den M5 und wartest dort auf ein "vollständiges" 1 2 3 (also wo das 2 durchbrochen und damit das 3 bestätigt ist?) und hast damit das 3 im M15? Oder ist das 3 im M5 auch noch nicht bestätigt aber aufgrund von Volumen und Candle-pattern werden dann die zwei unbestätigten (also in M5 und M15) 3 als Indiz genutzt und in M15 gehandelt?
-
Indicator: Abstand zwischen 2 MA
*G* ist immer praktisch, ich meinte aber eigentlich direkt den Log im MetaTrader (ok, es sind die gleichen Einträge aber im MT sieht mans schneller als extra den Ordner aufzumachen)
-
1-2-3 Formationen
erstmal von mir auch ein Hallo und danke für die Screenshots. Mir drängt sich hier aber auch die Frage auf wie du das 3 in dem Moment wo es entsteht als solches erkennst?
-
Indicator: Abstand zwischen 2 MA
unglaublich (musste es selber testen ums zu glauben), das is dann mMn ein böser Bug vom Editor! Bei solchen problemen hilft oft ein Blick ins Journal bzw. Experten Log im Terminal dort wirst du in dem Fall folgende Zeilen lesen: Das Problem ist folgendes: die iMA Funktion erwartet als 5. und 6. Parameter ein Zahl als Identifier welchen Modus und welchen Preis sie verwenden soll. In MQL sind diese Identifier als Konstante definiert wodurch du im Sourcecode zB MODE_EMA schreiben kannst. Denn dieses "MODE_EMA" ersetzt der Compiler vor dem compilieren durch die entsprechende Zahl. Du hast jetzt aber Strings die du der Funktion übergibst, und mit der weiß sie verständlicherweise nix anzufangen. Welchen MA die Funktion dann berechnet ist leider nicht definiert, ich vermute einen SMA auf Close-Basis. Wenn du slow und fast auf gleiche Werte setzt hast du dann trotzdem Differenzen oder ist die Diff dann 0?
-
Indicator: Abstand zwischen 2 MA
Servus, inwiefern falsche Werte? Liefert der Compiler irgendwelche Fehler beim compilieren?
-
Code für Indikator Ebene
Doch ist es. Du wolltest wissen wie man den Code für einen MACD mit mehreren Ebenen schreibt bzw. wo man die Zahlen einfügt. Falls du eine andere Frage hast, meld dich. Sorry aber ein bissl denken und programmieren musst du schon selber. Das hier ist kein Forum wo man schwammig formulierte Fragen/Ideen/Wünsche in den Raum wirft und fixfertigen Code zurückbekommt. Wir helfen gerne bei sämtlichen Fragen. Aber vor allem wenn es um solche Frage wie diese hier geht, gehe ich davon aus das du weißt wie man "Du zählst einfach die entsprechende Anzahl Pips zum Wert des GD dazu oder ziehst sie ab." in MQL implementiert. Falls dem nicht der Fall ist, würde ich dich bitten dich nochmal in die Grundlagen von MQL einzulernen.
-
Code für Indikator Ebene
Der Beitrag von Rumpel sagt dir im Prinzip 1:1 was du tun musst um die Ebenen zu berechnen. Du zählst einfach die entsprechende Anzahl Pips zum Wert des GD dazu oder ziehst sie ab.
-
Warnmeldung im Experten Log
Also wenn die Berechnung wirklich richtig war, dann war es mehr Glück und Zufall als sonstwas ;) Eigentlich bei all diesen Berechnungen von built-in Indikatoren wo man den Preis auf den er berechnet werden soll auswählen kann, ist nicht der aktuelle Wert des Preises anzugeben (das wär keine eindeutige Identifizierung und es werden ja mehr als der aktuelle Wert benötigt) sondern ein sogenannter Identifier. Also eine Zahl die angibt welcher Preis verwendet werden soll. Für die Identifier der Built-in Indis gibt es Gott sei Dank vordefinierte Konstante, für Close ist es, wie conglom-o schon geschrieben hat PRICE_CLOSE. HTH
-
Code für Indikator Ebene
@karlos Ich weiß was ein Pip ist. Aber auf die Frage "Was sind die Ebenen?" ist die Antwort "Pips" nicht wirklich sinnvoll oder? btw: die Antwort auf meine Frage beantwortet auch gleichzeitig deine Frage. (Und conglom hat Recht, dein Bild hat nix mit dem MACD zu tun)
-
Code für Indikator Ebene
Pips was?
-
Code für Indikator Ebene
Gegenfrage: was sind die Ebenen beim Indi bzw. was bedeutet zB 25 bei der Ebene?
-
Moving Average in EA
Ja da muss i auch immer denken welchen Bar i jetzt zeichne ;) Aber das ist ja nur da um die History zu malen, wenn du die Berechnung testen willst, kannst du auch immer nur den aktuellen (bzw. vorigen Bar) zeichnen lassen und dann im Strategytester die Ticks nacheinander reinladen lassen. Damit malst du "manuell" die History und siehst ob die Berechnung passt. So kannst du auch testen ob deine History-Schleife stimmt indem du den Indi in den Strategytester schmeißt, durchlaufen lässt und dann den Indi nochmal draufziehst und die "immer aktuell" berechneten Werte/Linien mit den Werten/Linien aus der History-schleife (also im nachhinein berechnet) vergleichst. HTH
-
Schrittweise Programmierung
Gar keine, du rufst im EA direkt den Indikator mit iCustom(...) auf. Details zur Syntax von iCustom findest du, wenn du "iCustom" im MetaEditor eingibst, es markierst und dann F1 drückst.
-
Moving Average in EA
An sich ist ein EA nicht dafür gedacht etwas in den Chart zu zeichnen wie ein Indikator. Also man kann schon Objekte reinzeichnen, aber so schön mit Buffer wie beim Indikator gehts nicht. Würd auch gegen die Struktur gehen, schließlich gibts dafür ja die Indikatoren. Ich würd eher hergehen und den MA als Indikator machen (weil es ist ja vermutlich auch ein Indi den du halt im EA nebenbei berechnest) und vom EA aus drauf zugreifen. Wär programmiertechnisch die schönere Variante ;) Dann kannst du auch den EA und Indi getrennt kontrollieren und debuggen ;) hth
-
Einstieg zu MT4 Programmierung (void-Beispiel rausgepickt)
Ja, MQL ist casesensitiv das heißt es unterscheidet zwischen Groß und Kleinbuchstaben. Beides richtig. Deine Erklärung stimmt. Die einzelnen Funktionen in einem Programm sind eigenständige Blöcke. Die Reihenfolge in der sie im Sourcecode stehen ist "egal". Das kannst du dir vorstellen wie ein Stapel mit Blättern auf denen die Funktionen stehen, jedes Blatt eine Funktion. Wenn jetzt in einer Funktion eine andere aufgerufen wird, dann steht dort ein Verweis auf das Blatt mit der anderen Funktion. Dadurch ist es egal in welcher Reihenfolge die Blätter liegen, der Verweis gilt immer. Kurz gesagt: Dem Compiler ist es egal, für die Lesbarkeit macht es aber bei größeren EAs Sinn die Funktionen in einer "sinnvollen" Reihenfolge zu schreiben. Das was du meinst ist die Implementation der Funktion. In MQL gibt es keine Deklarierung von Funktionen (außer importierte Funktionen, und deren Deklaration muss am Anfang stehen). Kurzer Ausflug (gilt nicht direkt für MQL): Wie bei Variablen gibt es auch bei Funktionen normalerweise Deklarationen. In "normalen" Programmiersprachen muss vor der ersten Verwendung der Funktion entweder die Implementation der Funktion stehen oder zumindest eine Deklaration, das sähe zb so aus: double AddiereFürMich(double a,double b); (achtung: gilt nicht in MQL) das sagt dem compiler: "Es gibt eine Funktion AddiereFürMich mit 2 Parametern (beide double) die ein double zurückgibt, du wirst später sehen wie sie genau aussieht". Damit kann man die Funktion dann wieder irgendwo im Source implementieren. //Ende Ausflug ;) (leider) ja. Der EA wird deinitialisiert mit dem Grund "recompile" und mit den Defaultparametern neugestartet (also der neu compilierte) Dadurch verlierst du eingestellte Parameter etc. darauf ist immer zu achten wenn man live entwickelt und nicht die Defaultparameter verwendet. weil du ihm das live-handeln nicht erlaubt hast. MT unterscheidet zwischen "Ea deaktiviert" (das x), "EA aktiviert, darf aber nicht handeln" (trauriger Smily), "EA aktiv und darf handeln" (happy smily) einstellen kannst du das in den Optionen des EAs (wie du da reinkommst kann i grad nit nachschauen, hab keinen MT hier, ich glaub es war F7 bzw. rechte Maustaste auf Chart und dann "ExpertAdvisor Einstellungen" oder so ähnlich ;) HTH
-
Unterstützung bei EA-Programmierung gesucht
Wenn schon der Chef selber anfangt mit dem hijacken dann darf man mitmachen oder? ;) keine Angst, das Studium ist mit Sommer 10 erledigt, hab ja eigentlich nimmer viel zu tun, und irgendwie muss i mi ja vom lernen abhalten
-
Unterstützung bei EA-Programmierung gesucht
Langsam kann Knochen ja eine ganze neue Abteilungen aufmachen ;) (ich wär abhängig vom zeitlichen Ausmaß auch dabei)
-
Schrittweise Programmierung
Eine solche Step-by-Step Durchackerung eines EAs gibts schon hier im Board (zumindest der Anfang): Einstieg in die MQL Programmierung
-
Polynomiale Regressions Kanäle
sagen wir so, wir müssen zwischen "einmal gezeichnet und irgendwann verworfen" und "laufend angepasst und damit immer aktuell" unterscheiden ;) Der Indikator zeichnet ja jeden Bar eine neue Regression oder? Statische (bzw. die "normalen" die du meinst) Regkanäle in der Form sind automatisch glaub ich fast nicht machbar oder? Weil da müsste man irgendwie festlegen welche Regkanäle man jetzt zeichnet, und wann man sie verwirft und den neuen zeichnet...
-
Struktogramm für Linien-Kreuzungen
Nein, es passiert lediglich in dem Teil mit den ersten ifs nichts. Die (in dem Fall) 3. if wird auf jeden Fall abgearbeitet. Also allgemein ist es so. Im konkreten Fall bedeutet ein "nichts" in den ersten beiden ifs genau das current_dir und last_dir gleich sind und die Funktion im 3. "if" in den else-Teil geht und damit mit return(0) beendet