Zum Inhalt springen
View in the app

A better way to browse. Learn more.

#T/N/X/T

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Mythos

Moderatoren
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Mythos

  1. Mythos antwortete auf infojoerg's Thema in Metatrader 4
    Whipsaw hat im Wesentlichen eh schon alles gesagt ;) Im Strategytester einfach alles einstellen (auch Startkapital etc.) Bei der Modellierung am besten immer "jeden Tick" verwenden. Nach dem Durchlauf hast du eine Graphische Darstellung der Equity, die gesamte "TradingHistory" des Tests und einen "detailierten" Report über die wichtigsten Kennzahlen. Am besten einfach selber ein bissl spielen, wenn Fragen auftauchen einfach Fragen ;) Willst du eigentlich nur mit einer speziellen Parameterkonfiguration testen oder den EA "optimieren"?
  2. Nur damit ich das richtig verstehe: Das heißt der Staat holt sich Geld vom Kapitalmarkt, um Geld in den Kapitalmarkt zu pumpen damit er wieder in Gang kommt? Soweit ich das verstanden habe war/ist ein Grund für die Krise, das sich niemand mehr etwas leiht... Also leihen wir es dem Staat, damits der Staat dann denen gibt, denen wirs nicht geben wollen? keine weiteren Fragen! Schon klar, man borgt es lieber dem Staat weil der nicht so schnell pleite geht wie Island ;) aber trotzdem... Im Endeffekt ist es nur ein schönes Geld-im-Kreis-verschieben und jeder der weiterschiebt verdient ein bissl was an Zinsen... und der Steuerzahl darfs dann blechen... Wunderbar! In Summe bedeutet das ja eigentlich dann, das plötzlich jeder Staatsbürger (indirekt über die Steuern etc) stark am Kapitalmarkt investiert ist oder? War doch das Credo der letzten Jahre "Ihr Onkel hat Aktien, schlafen Sie noch?" ;) So haben sie sich das vermutlich nit vorgestellt *G* Und ja, auch die Alpenrep. hat ein Konjunkturpaket... soweit ichs halt gehört hab ;) Is wie Weihnachten, jeder hat ein Packet, und keiner freut sich wirklich drüber
  3. Ich hätte da mal eine Frage: Man hört jetzt von so riesen Rettungspaketen, und das die Staaten mehr Schulden machen etc. Aber woher haben/nehmen die Staaten eigentlich das Geld für diese Rettungspakete? Von den Banken? (Also leiht man sich Geld von den Banken um den Banken Geld zu geben? ) Von anderen Staaten? (Die ja eigentlich auch alle in der Krise sind? ) Oder ist es nur am Papier ein: "Wir haben ein Budgetdefizit von xx Milliarden mehr weil wir so und soviel an die Banken überwiesen haben" aber wirklich Schulden tut man es niemandem? Bzw. Werden dann halt einfach sonst keine Rechnungen gezahlt und man hat dadurch Schulden bei den anderen Staaten und kann somit nur Rettungspakete in maximal der Summe der Staatseinnahmen geben? Kennt sich da vielleicht jemand aus?
  4. Hier hängt es davon ab, welchen Standard-Indikator man verwendet. iMA (also ein Moving Average) kann zB folgende Mode-Werte haben: MODE_SMA - Simple moving average, MODE_EMA - Exponential moving average, MODE_SMMA - Smoothed moving average, MODE_LWMA - Linear weighted moving average Welche Mode-Werte verwendet werden sieht man jeweils in der entsprechenden Hilfe. MfG
  5. Stimmt, das sollte auch in die "Empfehlungsliste" ;)
  6. i bin für beides. Dann weiß man sofort wenn man ein file herunterläd bzw. nur online den Dateinamen sieht. Eine allgemeine Kurzbeschreibung im Header find ich super! stimmt sorry, hab beim tippen nit mitgedacht ;)
  7. Da ich absolut keine Ahnung habe, wo der Thread am besten hingehört, start ich ihn einfach mal im Allgemein. Ich start einfach mit einer Diskussionsgrundlage: Dateinamen (wie von FinGeR vorgeschlagen): Der erste Buchstabe identifiziert den Typ: Indikatoren ... "iMeinIndikator.mql4" Experts ... "eMeinEA.mql4" Script ... "sMeinScript.mql4" Includedatei ... "hMeineInclude.mql4" Library ... "lMeine Lib.mql4" (das ist ein kleines L) Zum Code selber: " /* */ " Kommentare werden nur zum debuggen verwendet und bleiben nicht dauerhaft im Code. Vor jeder Funktion gibt es einen Kommentarblock, der kurz die Aufgabe der FUnktion beschreibt, und Information über die Parameter und den Rückgabewert enthält. Kommentare und Variablennamen werden grundsätzlich in englisch/deutsch geschrieben (an sich wird immer englisch verwendet, ich finde aber, das man in einer deutschen Community auch ruhig sich auf deutsch einigen sollte) Alle Funktionen aus einer library beginnen mit einem eindeutigen Identifier der Library (wie zB "tb" für TradeBox) Zu den Variablen/Funktionsnamen im speziellen: durch #define definierte Konstante in Großbuchstaben mit Underlines globale Variablen durchgehend klein, mit underlines und einem Underline am Schluss lokale Variablen durchgehend klein mit underlines ohne abschließendem underline Funktionsnamen mit kleinem Anfangsbuchstaben und rest Kapitälchen Parameter beginnen mit großem Anfangsbuchstaben und Kapitälchen (oder underlines?) Zum allgemeinen Stil: Variablen werden direkt bei der Deklaration initialisiert, auch wenn es eine Dummy-initialisierung ist. es sollten sprechende Variablennamen verwendet werden (int i,j,k; ist nicht sprechend ;) Es ist auf korrekte Einrückung zu achten (if und zugehörige else immer auf der gleichen Einrückungsstufe, innerhalb von Blöcken wird eingerückt etc.) zwischen Funktionen zur leichteren Lesbarkeit "//------" Das ist soweit eigentlich ein Auszug aus der Codingconvention für C++ wie ich es gelernt hab auf der Uni ;) Bis jetzt hab ich damit recht gute Erfahrungen gemacht. Aber ist wie gesagt nur eine Diskussiongrundlage. Ich denke diese Codingconvention sollte auch keine Liste von Ver- und Geboten sein, sondern nur eine Liste von Empfehlungen wodurch gemeinsamer Code bzw. hier veröffentlichter Code für die anderen schneller lesbar wird. So Sachen wie "Funktionen dürfen nicht mehr als 75 Zeilen haben" etc. würd ich sagen lassen wir weg ;) kleines Beispiel: #import "lTradeBox.ex4" int tbSendOrder(string symbol,int cmd,double volume,double price,int slippage,double stoploss,double takeprofit, string comment,int magic, datetime expiration,int max_retries= -1); #import #define MAGIC_NUMBER 1 #define ALLOWED_SLIPAGE 3 extern int ParameterEins = 0; extern string NameOfSymbol = "EURUSD"; double global_stop_=0; //---------------------------------------------------------------------------- // berechnet den neuen Stop und macht Requotes // @param foo: beschränkt die Anzahl der Requotes // @param bar: der neue Stop // @return: Wert des neuen Stops double newStop(int foo, double bar) { int lokale_variable=0; double temp_stop=1.0; if(bar < 0) { Print("RTFM"); return(0); } else { temp_stop= bar; } for(lokale_variable= 0; lokale_variable < foo; lokale_variable++) { RefreshQuotes(); temp_stop= MathMin(temp_stop,Bid); } return(temp_stop); } //---------------------------------------------------------------------------- int start() { global_stop_= newStop(1,global_stop_); tbSendOrder(Symbol(),OP_SELLSTOP,1,Bid,ALLOWED_SLIPAGE,global_stop_,0,"Demo Order",MAGIC_NUMBER,0,-1); return(0); }
  8. Version 1.03 ist online. Ich hab die Preisnormalisierung geändert sodass jetzt nicht mehr MathMod verwendet wird. Zusätzlich gibt es jetzt ein "INformation Level" in der TradeBox, damit kann man von außen steuern, wieviel Output man haben will, von 0 (also auch keine alerts) bis hin zu zusätzlichem Debugoutput. Bei TBOrderSend kann man nun auch die Anzahl der Wiederholungen einstellen. (-1 für maximal) Weitere Details im ChangeLog Wenn jemand die Zeit und Lust hat das ganze zu testen oder durchzuschauen freu ich mich natürlich.
  9. Dafür! Man könnte auch gleich eine kleine Codingconvetion für die Variablen/Funktions/Konstantennamen etc einführen... sowas macht den Code wesentlich lesbarer.
  10. Gute Idee, sollt ich auch anfangen ;) sicher? die ganzen PERIOD_... sind IMO vordefinierte Konstanten (so wie PRICE_CLOSE, MODE_SPREAD etc...) (die wichtigsten vordefinierten Konstanten (ich glaub sogar alle) findet man auch wieder in der Hilfe unter "Standard constants"). Sprich wenn man PERIOD_M1 schreibt, steht effektiv für den Compiler eine 1 an der Stelle.
  11. Die gesamte Liste, mit Beschreibung findest du in der MT-Hilfe (Im MetaEditor unten in der "Symbolleiste" auf den Reiter Hilfe, und dort "Technical Indicators" Dieses SyntaxHighlighting hat mit dem programmieren selber nichts zu tun, es ist nur als Hilfe für den Programmierer gedacht um beim coden/lesen eine bessere Struktur im Code zu haben und sich leichter zurechtzufinden (Kommentare sind "blasser", Datentypen, Build-in Functions, Konstante hab je eigene Farben...)
  12. kleine Ergänzung (Mythos will auch groß mitreden ): wie man hier auch schön sieht, muss der Wert, der einer Variable zugewiesen wird, keine beim programmieren reingeschriebene Zahl sein (wie beim initialisieren int pommes=1;), sondern kann auch der Rückgabewert eine Funktion sein, das passiert sogar meistens: a= b+c; selbst hier wird der Variablen a, der Wert zugewiesen, den die "Plusfunktion" zurückliefert. In MQL geht das leider nicht, aber zB in C++ könnte man selber Operatoren wie "+" definieren, dann würde "a + b" plötzlich bedeuten was man will aber das ist eine andere Geschichte ;)
  13. Vorsicht: nicht alles was von {} umgeben ist, ist eine Funktion ;). Im Allgemeinen definieren { } nur einen gemeinsamen Codeblock. Bsp if: Normalerweise bezieht sich if nur auf die nächste "Zeile"/Anweisung/Block, umschließt man die Anweisungen nach dem if mit { ... }, so gilt dieser gesamte Codeblock als "eine" Codezeile bzw. eben Codeblock. Wann immer also eigentlich etwas nur für eine Zeile gilt, kann man diesen Geltungsbereich durch {...} auf den gesamten, von den Klammern eingeschlossenen, Codeteil ausweiten. hmm ich hoff mein gequassel hat jetzt niemanden mehr verwirrt als vorher ;) Was ich eigentlich gemeint hab: Gratuliere, beide Fehler gefunden
  14. Wennst noch Programmierer brauchst meld dich. Vor allem wegen dem was Krümel schon gemeint hat: Wenn dann ein Kunde mit einem wirklich guten System kommt, verwendest es gleich selber mit ;) bzw. baust dir dann aus den verschiedenen, teils sicher guten Ideen der Kunden ein gutes Gesamtsystem. (Obwohl nur andere EAs schreiben bei den Preisen eh schon genug bringt, aber man muss das Geld ja irgendwo anlegen ;) Was mich nur immer so schockiert bzw. traurig stimmt ist: Es gibt viele Trader, die gute Ideen haben die sie mal automatisieren wollen, aber einfach nicht die Zeit/Fähigkeiten haben um das selber zu machen. Die fallen dann schnell auf solche Angebote rein, weil seriöse Dienstleistungen in dem Bereich findet man glaub ich selten bis gar nicht...
  15. Jup, jetzt find ich auch den Eintrag im UCP, danke!
  16. Ähm, wenn ich auf den Link klicke kommt was mach ich falsch?
  17. Stimmt, außer die Kommentare im Code werden dann nurmehr als ? angezeigt, oder noch schlimmer die Variablennamen... Aber ich geb dir total recht, vor allem: wenn ich für jeden Mini EA 1000 Euro krieg, code ich das mit der Zeit am Laptop unter der Palme ;) (und da es in Österreich keine Palmen gibt, muss ich dafür ins Ausland ;) (Das nachträgliche Ändern von Regeln und adaptieren des Systems entspricht ja mindestens einem neuen und kostet damit auch jedesmal 1000 Euro *lol*)
  18. *Holy Crap* Weil es ja soooo einfach ist ein Handelssystem zu entwickeln. Abgesehen davon, das MQL die IMO schwerste, derzeit verfügbare "Tradingprogrammiersprache" ist. Selbst wenn man von einem Trader ausgeht, der sich am Markt auskennt: Im Allgemeinen sind sämtliche Ansätze, die ein diskretionärer Trader (also ein Nicht-Programmierer) hat, in dieser Form nicht automatisierbar, weil meist so schöne Begriffe wie "wenn der Markt nach oben geht" oder noch besser "wenn der Markt gerade bullish ist dann..." in den Regeln vorkommen. Und vor allem immer so vollständig... Versteh ich das eigentlich richtig was der Typ da erzählt? "Sie liefern die automatisierbaren Regeln, und "wir" programmieren genau diese Regeln für 1000 Euro in einen EA"? Also ohne gemeinsame Entwicklung, Verbesserung, Realitätskontrolle? An die Coder: Hat irgendjemand von euch schon mal ein Regelset aufgestellt, implementiert und dann den EA so belassen (und als gut befunden ;)? Für einen halbwegs guten EA muss man IMO zumindest einige Tests durchführen und die Regeln teils adaptieren, ergänzen, weglassen... oder war ich bis jetzt beim Regeln aufstellen einfach nur zu dumm? (ich mein klar, wenn man schon 100 Trendfolgesysteme der verschiedensten Art gecodet und getestet hat, wird man beim 101. sehr wahrscheinlich schon beim Regelausdenken was sinnvolles produzieren, aber ich red jetzt von EA Nr. 0 ;) Aber man soll ja nix ausschließen, also wenn sich jemand von diesem Interview motiviert fühlt: Ich implementier gerne einen exakt definierten Regelsatz in einen voll funktionstüchtigen EA. Und weil ich heut so gut geschlafen hab sogar zum Sonderpreis von sage und schreibe 900 Euro. (Ein echtes Schnäppchen im Vergleich zu den horrenden 1000 Euro die Herr Hahn da veranschlagt ;) Anfragen einfach per PM an mich
  19. *lol* Wollen wir das nicht alle? (ok das mit den E*** schaukeln fällt für proudroses aus, aber sonst ;) Im Prinzip schon, hier geht es zwar hauptsächlich drum anderen bei Problemen und Fragen zu helfen, aber wenn sich dabei mal so ein E***-Schaukel-EA ergibt wird keiner beleidigt sein ;) Ich persönlich hab nur noch nie gesehen, das ein solcher EA einfach so zum Download steht... ;)
  20. Dann mach ich gleich mal weiter, was mir als Entwickler noch einfällt: Vorteile -Einbindung beliebiger externer DLLs einfach möglich, dadurch sehr große Möglichkeiten Nachteile - keine Möglichkeit zum Backtest von Portfoliostrategien - ineffizient bei Arrays (scheinbar nicht konstante Zugriffszeiten)
  21. sollte es auch, aber das macht man normalerweise ja nicht mit Dateinamen sondern per SVN etc. die Dateinamen selbst müssen konstant bleiben, oder ständig in allen include-Anweisungen, makefiles etc geändert werden. vergisst man dann einen Eintrag zu ändern ist das Chaos perfekt weil gemischte Versionen verwendet werden etc. Also ich hab noch nie gesehen das die Dateinamen geändert werden. (zumindest nicht in der Entwicklung)
  22. gute Frage, vor allem im Entwicklungsbereich (nicht nur hier) ist die Frauenquote noch recht gering... Versteh aber nicht warum, Frauen können mindestens genausogut programmieren oder? ;)
  23. das würd ich nicht, weil dann müsste man bei neuer Version alle EAs die die TradeBox verwenden, umschreiben und neu kompilieren. Aber bei einer Lib gehts genau darum, das man sie ändern/debuggen/erweitern kann und damit alle bereits geschriebenen EAs sofort weiter funzen. Die Versionsnummer in den Dateinamen zu schreiben UND diesen Vorteil der Lib nicht zu verlieren, würde bedeuten, jeder der sie runterläd, muss die Datei händisch umbenennen. Ich find die Versionsnummer im Header reicht, vor allem weil die Versionsnummer eh im laufenden Betrieb auch angezeigt wird. Ich schreib auch immer die aktuelle Versionsnummer im Downloadbereich dazu... Ist für meine Begriffe genug Redundanz ;)

Account

Navigation

Suche

Suche

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.