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.

Krümel

*_skilled
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Krümel

  1. Ja, das ist doch ne sehr gute Strategie. Stell Dir einfach oben das Bild vor von dem "Raum". Der Raum an sich ist für MT und einen Durchlauf zu groß. Alternativ kann man die Schrittweite vergrößern, so dass man ein gröberes Bild vom Rauminneren bekommt. Und nur an den interessanten Stellen sucht man lokal nochmal mit kleineren Schritten und schaut sich die potentiellen Kandidaten nochmal genauer an. Das ist ja auch ne Heuristik. ;). Gut ist auch , sich die Veränderung des Raumes über die Zeit hinweg anzusehen. Wenn sich da große Änderungen zeigen, ist das schon mal ein Indiz dafür, dass man sich wahrscheinlich nicht allzu lange auf die aktuelle Parametereinstellung verlassen sollte.
  2. Oh doch, käme er schon. Falls Du 5 Jahre oder zumindest mehrere Stunden auf das Ergebnis warten willst.
  3. Hmm, der Tester scheint ja mittlerweile mit genetischen Algorithmen zu arbeiten (Quelle: http://articles.mql4.com/361), weil es einfach dramatisch schneller geht. Das erklärt wohl auch die leicht unterschiedlichen Ergebnisse bei aufeinanderfolgenden Optimierungsvorgängen (mehr dazu: http://articles.mql4.com/134), vermute ich zumindest, da dabei meist mit zufällig generierten Zahlen gearbeitet wird. Normalerweise ist das Ziel von Optimierungsvorgängen, globale Extremwerte zu finden, z.B. hier den maximalen Gewinn. Alle Kombinationen durchzugehen, dauert viel zu lange. Von daher gibt es eine Reihe von Verfahren, die mit Heuristiken arbeiten und so den Suchraum (das ist der n-dimensionale Raum, der durch die Anzahl aller zu optimierenden Variablen aufgespannt wird) verkleinern sollen. Bsp: Du hast nen Moving Average-EA mit 2 Variablen, nämlich die Periode für nen kurzen und für nen langen MA. Jetzt kann man ja die Randbereiche angeben und sagen, der eine soll nie kleiner sein als 10 und größer als 20, der andere nicht größer sein als 15 und kleiner als 3. Ein paar Kombinationen fliegen raus, weil der kurze ne größere Periodenzahl hätte als der lange. Schrittweite soll immer 1 sein. Jetzt kann man für alle möglichen Kombinationen : [3,10],[3,11],[3,12],...[15,20] den EA laufen lassen und erhält nen Wert für den maximalen Gewinn bei der gegebenen Kombination. Die Anzahl der Kombinationen kann man vorab natürlich berechnen, was im Optimierer gemacht wird und dann schreibt er zur Not die Meldung raus, dass die Anzahl der Möglichkeiten zu groß ist. Ok, man hätte jetzt als Ergebnis ne 3.Dimension erzeugt, nämlich für den Maximalen Gewinn/Kombination. Mal man das als Bild, entsteht irgendne merkwürdige dreidimensionale Form (wenn man die Punkte verbindet). Quelle: www.statcon.de Man würde wahrscheinlich sehen, das man mehrere Kombinationen findet, die sehr dicht beeinander liegen können und nen ähnlich hohen Gewinn produzieren (d.h. es wäre eher unssensibel gegenüber Veränderungen von Eingangsparametern) oder aber weit auseinander. Sprich: bei leichten Parameteränderungen wird das Ergebnis dann sehr schnell schlechter. Im optimalen Fall hat man nur einen Peak (Extremwert in der Ebene) ähnlich einer Gauß-Glocke mit einem breiten Gipfel, im schlimmsten diverse spitze Peaks. Das fehlt leider alles in MT, so dass man die Sensitivität gar nicht beurteilen kann. Dazu kommt noch, dass man natürlich - da die Anzahl der Kombinationen oft sehr groß ist, meist keine erschöpfende Suche machen kann (also jede Kombination prüfen), sondern meist nur Stichproben nach einer Heuristik (ne einfache, die man User anwenden kann, wäre z.B. schon mal, die Schrittweite zu vergrößern). Blöd nur, wenn man dann grad den höchsten Berg nicht findet, da die ausgewählten Kombinationen außendrum rumführen. So kann da auch schon mal der eine oder andere Extremwert untern Tisch fallen. Zeigt allerdings auch - wenn er verloren geht, dass er wahrscheinlich auch nicht breit genug war. Das Ganze lässt sich noch beliebig verkomplizieren (Stichworte: Hängenbleiben in lokalen Extremwerten, mehrere Fehlerkriterien statt nur eines, größere Anzahl an Variablen, so dass man irgendwo im n-dimensionalen Raum umherirrt, was man sich auch gar nicht mehr vorstellen kann ohne zu werden).
  4. Hast Du denn ein oder mehrere Fehlerkriterien angegeben (im Fenster Optimierung: Minimale Balance, Profit-Maximum etc.) ?
  5. Quelle: http://www.intalus.de/de/produkte/tradesig...t-weiss-rot.php Aus Urheberrechtsgründen Impressum kann ich leider keine Absätze kopieren und hier posten.
  6. Aus Urheberrechtsgründen ( Impressum) kann ich leider nichts kopieren, sondern kann nur die Webseite referenzieren zum Selberlesen. Liest sich aber recht interessant. Quelle: Digitale Stochastik
  7. Ja, ging mir früher auch meist so. Deswegen bin ich mittlerweile dazu übergegangen zu versuchen, das Grundproblem möglichst gut zu verstehen und dann Stück für Stück die Lösung dafür zu erarbeiten. Und zwar nicht gleich am Stück ne Komplettlösung, denn wenn irgendwo was nicht funktioniert in dieser Komplettlösung (und erfahrungsgemäß funktioniert immer irgendwo was nicht), weiß man nicht, wo es hakt und sucht sich tot an viel zu vielen Ecken. Am Ende fängt man dann doch wieder bei 0 an und entscheidet sich letztendlich für die Step-by-Step-Lösung. Komplettlösungen am Stück zu programmieren funktioniert nur, wenn die Vorgaben zu 99% vorhanden sind und man genau weiß, was man haben will und es auch beschreiben kann. Und zwar nicht mehr auf dem Niveau "Irgendwas, was mich reich macht. " Mir auch ;). Er verstärkt die einzelnen Schwingungen recht gut. Als Ausgangsbasis zum Nachbilden der Schwingungen im Kurs ist er schon mal ganz brauchbar. Und gute Lösungen brauchen halt Zeit. Das Problem muss auch mal gedanklich "sacken" - in der Zeit kann man auch mal gut was anderes machen (ich schleife und streiche z.B. seit paar Tagen vorwiegend meine Fenster ;) ). Bisschen Abstand zu dem Problem zwischen durch und man kriegt oft nen völlig neuen Blick auf die Sache und neue Ideen für ein ne Lösung oder oder oder. Ich denke, wir sind hier auf nem guten Weg. Von daher dauert es sicher länger als Du Dir erhofft hast, ibelieve, aber nun ja....
  8. Danke ! Kannst Du mal einen Indikator posten, wo die Parameterübergabe funktioniert, damit ich nen Vergleich habe, wie es normalerweise abläuft. Seh das NT-Zeug ja heute zum ersten Mal. C# zum Glück nicht.
  9. Ohne Lag? *neugierig guck*
  10. Ich find' meine Stochastik-Stochastik am besten
  11. Ich verwende in Tradesignal nen anderen Algorithmus zu Berechnung der Longstopp- und Shortstopp-Werte, weil es die Funktionen, die in Deinem Amibroker-Code drinsind, so in TS nicht gibt. Von daher hab ich das Gesamtteil anders programmieren müssen. Ich hab nicht solche Zacken wie Du drin, zumindest hab ich noch keine gesehen. Kann aber auch an den Kursdaten liegen bzw. an der Parametereinstellung. Das müsste man - wie gesagt-, nochmal nachprüfen.
  12. // check for long position (BUY) possibility if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious && MathAbs(MacdCurrent)>(MACDOpenLevel*Point) && MaCurrent>MaPrevious) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"macd sample",16384,0,Green); if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice()); } else Print("Error opening BUY order : ",GetLastError()); [s] return(0); [/s] [color="#FF0000"]Hier verlässt Du die Funktion.[/color] [color="#FF0000"]Hier kommt das Programm nie an[/color] // AB HIER VON MIR EINGEFÜGT ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,[b]Ask+TakeProfit*Point,[/b] "macd sample",16384,0,Green); if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice()); } else Print("Error opening [s]BUY[/s] SELL order : ",GetLastError()); return(0)[b];[/b] } Bei dem letzten return(0) fehlt das Semikolon. Deswegen der Compilerfehler. Jede einzelne Anweisung wie z.B. das return(0) - welches zum Beenden der Funktion an dieser Stelle führt, muss mit einem solchen abgeschlossen sein. Außerdem sollte der Takeprofitwert von einer Verkaufsorder kleiner sein als der Einstieg (fett), denn gewinnen kann man nur, wenn der Kurs fällt . Ansonsten wirst Du die Order auch nicht abgesetzt bekommen, fürchte ich.
  13. Was kam denn als Antwort ?
  14. Das meinte ich : Irgendwas stimmt noch nicht, und da ist eventuell noch nen Bug drin. Zumindest sieht es auf Deinen Bildern stellenweise so aus. Kann aber auch täuschen.
  15. Seh ich das richtig: die roten Pfeile "gefallen" Dir nicht ? Also, nach Voigt würde man den Stopp ja erst dann nachziehen, wenn der Kurs wieder durch die untere grüne Linie durch wäre. Daher seh ich die Pfeile nicht als problematisch an, denn es sind ja zu dem Zeitpunkt erst "Kandidaten" für nen neuen Short-Stopp. Für den echten 1-2-3 nach Voigt müsste man jetzt noch nach Higher-Highs und Lower-Lows und den korrekten Mustern suchen. Im Moment sind die Stopps ja nur potentielle neue Stopps - rein danach getradet wird man doch recht häufig rausgekickt. Würde ich daher so auch nicht nutzen wollen. Aber irgendwas ist in dem Code noch krude, glaub ich. Na ja, da muss man wohl nochmal durchfräsen.
  16. Man darf nur nicht zu früh das Handtuch ins Korn schmeißen. Ähem, wie sieht denn Deine Stochastik-Stochastik auf dem Chart aus ? Schwingt es da auch so schön zwischen den Extremwerten = 80 hin und her wie bei auf meinem M1-Chart ?
  17. Ja, hoffen wir mal. Aber der Henrik kann mit seinen Bauchmuskeln (leere ?) Bierdosen stemmen, der schafft das schon ne Weile. Ich hab Beweisfotos gesehen, jawoll .
  18. Schon mal dran gedacht, dass ich auch gewinnen könnte!! Was soll ich mit nem kostenlosen Programmierkurs von mir ? Ja, ja, ich weiß, aufschreiben und ins Forum stellen *grummel*......
  19. Krümel antwortete auf Henrik's Thema in Archiv
    4800
  20. Mittels der Import-Funktion (Hilfe-> Equilla Formelsprache -> Equilla erweitern) kann man auch DLLs einbinden in TS. Eventuell wäre es hilfreich, sich ne "normale" Print-Ausgabe in ne DLL zu packen und dann von TS aus zu benutzen statt PrintToFile. Hab ich aber selbst noch nie probiert. In der TS-Hilfe ist aber beschrieben wie es gehen soll.
  21. Ja. Ja, war in der Formel auch eher als "Pseudocode" gedacht, um zu zeigen, das mit dem "i" nur 1 Wert in dem Array gemeint war - oder wie man so schön sagt, die Zelle an dem Index/Bar i . StochV (deswegen das V am Ende) - um zu veranschaulichen, dass es ein Vektor ist (bzw. ein Array). Vektor ist eher die mathematische Formulierung (Mythos ist ja Zahlenverdreher ;) ), wohingegen der Begriff "Array" eher für die Programmierer verständlich ist. Dahinter steht aber (vereinfacht) nichts weiter als sowas wie ne Zeile in Excel (falls das ein gutes Bild ist ), Bsp.: [1, 2, 3, 4, 5,...,10]. Richtig. Das tut der Code von Dir auch. Zumindest meiner Meinung nach ;).
  22. Die einzelnen Anweisungen im Programm kann man ja "Chunken", d.h. nen Klumpen bilden, was darin passiert. Du hast jetzt Deinen kopierten Text mitten in so einen zusammengehörigen Klumpen reinkopiert, das ist meist ungesund. Der Compilerfehler verschwindet, wenn die doppelte Klammer weg ist, aber dennoch ist die Programmlogik (was soll das Biest tun) falsch, weil Du zuwenig von dem Orderabsetz-Klumpen kopiert hast und an der falschen Stelle platziert. Der eigentliche "Klumpen" inklusive Signal ist die erste Codebox, die Du gepostet hast. Den musst Du komplett kopieren und hintereinander anfügen und DANN kann man darin rumeditieren, um ne Short-Order abzusetzen (da das MACD-SIgnal in der Regel ja auch nen anderes sein wird.) Soll es kein anderes Signal sein, musst Du dennoch zumindest den fettmarkierten Teil kopieren.
  23. Also, sagen wir 's mal so: ich kenn das Problem. Wenn ich Daten exportieren will, um damit in R zu rechnen, mault der R-Editor mich genauso an wie Dich Dein MT-Editor und zeigt merkwürdige Zeichen an. Mein Workaround: ich öffne die von TS geschriebene Datei in nem anderen Editor und speichere sie nochmal explizit als Text ab. Ich hab noch nicht tiefer nachgeforscht, woran es tatsächlich liegt, vermute nur, dass Tradesignal (meinst Du doch mit 'TS5', oder ?) Unicode rausschreibt, was Dein anderer Editor offenbar kann und deswegen den Text ordentlich anzeigt, der olle von MT und auch das einfache Teil von R können's wahrscheinlich nicht. Ist aber nur ne Vermutung von mir. Und ne Lösung hab ich für Dein Problem leider auch nicht.
  24. Hmm, das klingt so, als ob es extrem preiswert für Le Cheffe wird !

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.