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. Richtig vermutet. OrdersTotal() ist eine built-in function. Die Funktionsweise wird in der Hilfe von MT genau beschrieben (Funktionsnamen markieren und F1 drücken bringt dich direkt dorthin). Nein, das sind alle offenen Orders von diesem Account. Es gibt auch noch OrdersHistoryTotal(), das sind alle geschlossenen Orders. Du kannst beliebig viele EAs am gleichen Symbol und auch Timeframe laufen haben. Um die Orders jedoch zu den einzelnen EAs zuordnen zu können gibt es OrderSymbol() und OrderMagicNumber(). OrderSymbol() sagt dir von welchem Symbol diese Order ist. Die MagicNumber, ist eine beliebige Nummer, die du der Order beim erstellen mitgeben kannst und die sie dann dauerhaft behält. Wenn jetzt jeder deiner EAs seinen Orders eine andere Magicnumber gibt, kannst du mithilfe von Symbol und Magicnumber eindeutig entscheiden ob diese Order nun zu deinem EA gehört oder nicht. Ich codiere meist zur Laufzeit noch zusätzlich den aktuellen Timeframe in die MagicNumber dazu, wodurch es möglich ist den gleichen EA am gleichen Symbol aber in unterschiedlichen Timeframes laufen zu lassen, ohne das sie sich gegenseitig in die Quere kommen. zb so: #define MAGIC_NUMBER 1230000 int magic = MAGIC_NUMBER + Period(); Stoploss und Takeprofit wie du das hier vielleicht meinst, ist in MT keine eigene Order, sondern vielmehr eine Eigenschaft einer Order. Sprich du hast dann 1 Longorder mit SL und TP. Keine eigenständige Shortorder dazu. Wenn du eine Longorder schließen willst, bringt es dir bei MT auch nichts, wenn du eine gleich große Short eröffnest. Dann hast du nur 2 Orders die sich gegenseitig hedgen. Es wird auch keine Order "automatisch" (also Serverseitig) erstellt (als SToploss oder so). OrdersTotal() wird also nur größer, wenn du selber einen OrderSend Befehl schickst. (und kleiner, wenn bei einer Order SL oder TP geht, oder du eine Order mit OrderClose() schließt) (Das alles gilt nur in der Theorie, ich hab schon von Brokern gehört die über Nacht Hedgingpositionen gegeneinander aufrechnen und somit schließen. Ist natürlich nicht nett, da der EA damit "vergisst" das er ja eigentlich im Markt war.) hth PS: Nur nicht abschrecken lassen weil du der einzige Fragensteller bist, es lesen sicher sehr viele mit, die nicht wissen was oder wie sie fragen sollen und sich sehr freuen das du fragst.
  2. Sorry, hab mich glaub ich falsch ausgedrückt. was ich eigentlich meinte: Geg: stoch. Prozess Q_t, Zufallsvariablen X und Y, Einstiegszeitpunkt s, Ausstiegszeitpunkt t, maximale Positionsgröße m und ein n mit n|m die teilpositionen. X sei jetzt der Gewinn wenn ich einfach bei s voll kaufe und bei t verkaufe. Erwarteter Gewinn wär also E(X)= E((Q_t-Q_s)*m) ... (ohne Gebühren, usw... ) Y sei jetzt der Gewinn, wenn ich bei s mit n Positionen einsteige, und dann bis zum Zeitpunkt t in jedem Zeitschritt r(ganz vergessen: Q_t is natürlich diskret) folgendes macht: Q_{r} >= Q_{r-1} und Gesamtpositionsgröße Zum Zeitpunkt t wird dann die gesamte aufgelaufene Position wieder verkauft. Die Frage: Unter welchen Bedingungen ist E(X) Klar, deswegen auch der Erwartungswert oder? Wenns wirklich mathematisch wird, fang ich meist eh automatisch an TeX zu tippen ;) lg
  3. Erstmal willkommen im Forum jfc Hab grad leider keinen Zugriff auf das Buch, deswegen frag ich dich direkt: Die Gewinnerwartung (also Erwartungswert vom Gewinn) bleibt nur gleich wenn du "nicht weißt" wie sich der Kurs während dem Nachkauf/pyramidisieren verhält oder? Habs mir nicht durchgerechnet (da ich auch nicht genau weiß welches Setting ich verwenden will/soll) aber rein gefühlsmäßig: Wenn ich die Annahme treffe (was in der Praxis ja stimmt) das sich der Kurs bewegt während ich nachkaufe (also zb alle 5 Minuten eine Aufstockung, dazwischen beobachte ich den Kurs) und ich nur nachkaufe wenns im Zeitraum davor nach oben gegangen ist. Dann müsste sich der Erwartungswert des Gewinns unterscheiden vom Erwartungswert wenn ich alles auf einmal kaufe. (Wenn wir sagen wir kaufen in Summe immer gleich viel, und verkaufen zu einem fixen Zeitpunkt später.) Wie gesagt, ich habs mir nicht durchgerechnet, wär aber mal interessant, unter welchen Annahmen Pyramidisieren einen Vorteil bringt. (und ob es überhaupt einen Vorteil bringt). btw: du erwähnst den Begriff Pyramidisieren im Zusammenhang mit Spieltheorie. Da es hier ja eigentlich um die Frage "was ist Pyramidisieren" gegangen ist, und inzwischen ein paar Unterschiedliche Definitionen aufgetaucht sind. Könntest du kurz beschreiben was man unter Pyramidisieren in der Spieltheorie versteht? @whipsaw: sorry wenns zu mathematisch wird, aber ich glaub es kann sehr interessant sein, wie die Gewinnerwartungen sich theoretisch ändern bei so Dingen wie pyramidisieren. Trader leben im Prinzip ja nur vom Erwartungswert
  4. sollte eigentlich nicht sein, da jeder Indikator ja für sich abgeschlossen ist. Und auch die TB von jedem aufrufenden Modul als eigenständige Instanz aufgerufen wird (werden sollte). Ich kann das Verhalten hier auch leider nicht reproduzieren (wenn ich den RSI 2 mal unter verschiedenen Namen mit unterschiedlichen Parameter laufen lassen, funkt alles wie es soll...) habt ihr mal versucht das ganze "schrittweise" zu machen? also den "geheimen" Teil wegzulassen und schaun ob die Probleme dann immer noch bestehen... Ohne Code bzw. "Testfall" ist es schwer zu sagen was falsch sein könnte, weil das theoretisch vom Programmierfehler bis zu einem MT-Bug gehen kann... (MT zeigt ja bei einem solchen Indi teils sehr interessantes verhalten)
  5. jein, du musst unterscheiden zwischen Reihenfolge im Code und Programmablauf. In MQL ist es egal wo im Code eine Funktion "erklärt" (definiert) wird. Wenn irgendwo im Code die Funktion aufgerufen wird, springt der Programmablauf an die Stelle wo die Funktion steht und führt diese Zeilen aus bis zum return, dann springt er zurück. Und das "wohin springen" findet der Compiler beim kompilieren raus. Das ist auf alle Fälle das, was dieser Codeblock tut. Bei einem EA ist das "was er tut" und das "was er tun sollte" bzw. "ob die kommentare dazupassen" nicht immer das gleiche ;) Zu den sachen die man abchecken sollte: das kann ma so jetzt schwer sagen, hängt ganz vom EA ab. Du solltest auf alle Fälle immer über den aktuellen Status deiner Orders informiert sein. (falls du sowas meinst)
  6. So ungefähr (nur nicht so schön formuliert) hätt ich mir das auch gedacht gehabt. hat aber den effekt, das der aktuelle Bid bei 900 steht, der aktuelle Ask bei 950, man aber dennoch bei 1000 ausgeführt wird, und wenn der LimitSell größer war, danach der Ask immer noch bei 950 stehen würde... was von Käuferseite doch auch irgendwie seltsam wäre... vor allem ohne Level2
  7. Ich glaub das genau in die Richtung der Frage die ich mir gestellt hab. Aber bei der EUREX scheint es umgekehrt zu sein. Wenn 2 Orders zum gleichen Preis vorhanden sind, gilt "first come first serve". geht es aber darum wer den "für sich besseren Preis kriegt" wird die neueste (also eben eingestellte) Order bevorzugt. Dieses Verhalten sorgt auf alle fälle für mehr volatilität.
  8. so abstrakt is es gar nicht, bei kiwee kommts regelmäßig vor... gefillt wird auf alle Fälle, und es gibt ja nur ein LimitSell und ein LimitBuy das gefillt werden kann. ? So wie ich das verstanden habe, würde es an der EUREX anders laufen. Die im Orderbuch stehende Limit Sell wird zum angegeben Preislimit ausgeführt (950). Also kriegt der Verkäufer nur seine mindestens geforderten 950 und der Käufer kommt 50 günstiger weg. oder irr ich mich. @Krümel: aber danke für die Info, schön das wir das gleiche gefunden haben ;)
  9. ok, kanns mir selbst beantworten: Quelle Eurex
  10. Ich start das ganze mal im Chit Chat, da es (wie von mir so oft) ein eher konstruiertes Beispiel/Frage ist, die aber für mich derzeit ziemlich interessant ist: Setting eine "richtige" Börse (EUREX oder so also kein CFD Zeug). Nehmen wir an es gibt nur 2 Orders im Orderbuch: ein LimitBuy zu 900 und ein LimitSell zu 1000 (beide Größe 1). Jetzt kommt eine LimitBuy mit Limit 1000 und wird natürlich gegen die LimitSell ausgeführt, der letzte Kurs steht damit bei 1000. (korrigiert mich wenn ich wo falsch liege). Jetzt kommt eine LimitSell herein mit Limit 950, wird nicht ausgeführt (da nächstes LimitBuy bei 900 steht) also ins Orderbuch eingehängt. Also zum mitschreiben letzter Kurs bei 1000, LimitBuy bei 900, Limit Sell bei 950. jetzt kommt ein LimitBuy mit Limit 1000 (oder MarketBuy, wie ihr wollt)... wo wird das ausgeführt? theortisch ist eine Ausführung zwischen 950 und 1000 möglich... was zählt hier? Minimale Bewegung des Kurses (also ausführung bei 1000?) oder "beste ausführung für die neue Order" also 950? weiß jemand wie das in real gehandhabt wird?
  11. Mythos antwortete auf siscop's Thema in MQL Einsteiger
    Immer langsam mit den jungen Pferden, solche Fragen würd ich nicht stellen bevor nicht zumindest ein Exit-System drauf ist... sonst stecken wir nur wieder zu große Hoffnungen rein und werden enttäuscht ;)
  12. Mythos antwortete auf siscop's Thema in MQL Einsteiger
    Seh ich anders. Klar, ein Gral wo die Einstiege mit festem TP und SL schon glatte Kurve bringen wär besser, aber ich seh trotzdem Potential, vor allem als Communityprojekt das aufzeigt wie so eine Entwicklungsprozess von statten geht. Wenn am Schluss nix extrem positives rauskommt ham zumindest alle was gelernt. Zur Exitstrategie: Standard-Holzhammer wär natürlich ein Volabasierter Stop/TP wie ihn DT vorgeschlagen hat, aber ehrlich gesagt hatte ich noch nicht genug zeit die Strategie anzuschauen, um echt was dazu zu sagen. Aber sobald ich freie Zeit hab, geb ich meinen Senf dazu (das sollte nicht nach Drohung klingen ;)
  13. Hi, Jein. Man muss unterscheiden zwischen der Deklaration/Definition einer Funktion (also dort wo du dem Compiler sagst was die Funktion tut) und den Funktionsaufrufen. Definiert wird eine Funktion nur einmal im Code, und das kann nicht innerhalb einer anderen Funktion geschehen. Aufgerufen wird sie dann innerhalb anderer Funktionen. Wo die Definition im Code steht ist bei MQL völlig egal. Der Rückgabewert kann durchaus direkt an eine Printanweisung übergeben werden, ich glaube hier war es lediglich zu Demonstrationszwecken. (Es ist ja auch nicht unbedingt sinnvoll eine eigene Funktion zu definieren die nur addiert ;) stimmt teils. Eine Funktion gibt nicht automatisch etwas zurück sondern nur wenn man es explizit per "return( )" Anweisung vorschreibt. Wenn eine Funktion nichts ausrechnet und damit kein wirklicher Rückgabewert existiert, sollte diese als "void" deklariert werden. Warum in void-Funktionen trotzdem return(0): Es zählt mit unter zum "schönen" programmieren, eine Funktion nicht einfach am Ende des Funktionsblocks "sterben" zu lassen, sondern "definiert" per return zu beenden. In c kann man return ohne Wert für void-Funktionen machen, in MQL geht das AFAIK nicht weswegen man auf "return(0)" zurückgreift. ja, definitiv
  14. Wen nennst du hier Freak? Zu den Arrays: stells dir als (lange) Tabelle mit nur einer Spalte vor (wenn du willst sogar in Excel). Die Einträge im Array sind genau die Werte in der Tabelle... (und die indizes des Arrays sind die Zeilennummern) hth
  15. Zu den Arrays: mean_array ist der "source" für die Mittelwerte, die dann für die RegSlope verwendet werden. Es wird also der entsprechende Teil (und genau hier hängts glaub ich bei deinem Code) aus der "Equitycurve" (also dem EquityBuffer) rauskopiert, und der Mittelwert dieses TeilArrays in den entsprechenden Eintrag von temp_array geschrieben. Dann wird von den Werten in temp_array die RegSlope berechnet. Zugegeben das Kopieren ins mean_array kann man sich eigentlich sparen (hab da das erste mal mit Array-Zugriffsfunktionen gearbeitet ;), das würde vermutlich Performance bringen. (Ich weiß, schön programmieren is was anderes, das war mehr ein kleiner schneller Hack ) Das geht leider nicht, da er im Backtest (also visuellen Modus) die Ticks nach der Reihe in den Chart lädt, beim ziehen auf den Chart, aber mit einem Satz alle Bars kriegt, also die gesamte Tick-info der Vergangenheit "verloren" geht. Bei Indikatoren geht man eigentlich davon aus, das sie nur die Infos der einzelnen Bars benötigen, aber keine Tick-Info. Man kriegt zwar live defakto die Tickinfo geliefert, aber halt nicht auf die Vergangenheit.
  16. Mythos antwortete auf GoSPvC's Thema in Welcome @ tom-next
    Auch von mir ein "servus". Wenn du eine gewisse Komplexität haben willst, und lieber dem Programm sagst was es tun soll als darauf zu reagieren was es tut, dann wird dir bald MQL lieber sein ;)
  17. Wie habt ihr es denn versucht? bzw. inwiefern wird die Equity falsch in die Buffer geschrieben? Um die History in den Buffer zu füllen, muss man für jeden noch nicht berechneten Bar, die Equity etc. berechnen und in den entsprechenden Buffer-Eintrag schreiben. Muss jetzt eigentlich jeden Tick was verändert werden, oder passiert nur beim ersten Tick vom Bar etwas? In der History hast du ja dann keine Ticks zur Verfügung, was auch zu ungewollten Effekten führen könnte.
  18. Mythos antwortete auf Krümel's Thema in Scrutiny
    Ich denke auch das es funktioniert, aber soweit ich weiß ist Hypnose ein gefährliches Ding, man sollte sowas nur von einem Profi machen lassen, der nicht unabsichtlich vergisst was wieder aufheben etc. Ich sag ja nicht das die Tradingmind idee schlecht ist, bzw. nicht funktioniert. Ich finde die Idee gut, nur sollte eine solche "Therapie" auf jeden persönlich abgestimmt sein. Es gibt sicher mehr mentale Schwierigkeiten beim traden als ich mir vorstellen kann, ich kann mir aber nicht vorstellen, das es eine Lösung gibt, die für alle gleichzeitig funktioniert und dabei kein hilfloser overkill mit nebenwirkungen ist. Und wie du schon sagst: für sowas auf diese Art Werbung zu machen, das es die Trader wirklich als "ich muss selber nix machen, sondern mich nur 3 mal wöchentlich davor setzen" verwenden, ist... sagen wir so: nicht nach meinem Empfinden von korrekt.
  19. Mythos antwortete auf Krümel's Thema in Scrutiny
    Geb ich dir Recht, aber ich denke es hat auch einen Sinn das sowas "lang" dauert. Ich denk einfach, das eine vorgefertigte Musterlösung, die für alle Trader funktionieren soll (also für alle mentalen Barrieren) gefährlich klingt. Das is wie wenn man einfach bei jedem kleinen Wehwechen ein Breitbandantibiotikum reinwirft, weil das eh gegen alles auf einmal hilft. Vor allem: Die Software klingt für mich jetzt nicht nach einem "es löst die barrieren, und dann kannst du selber traden", sondern mehr nach "solang du 3mal wöchentlich schaust, kannst du traden". Und da ist dann mMn eher das Risiko, das die betreffenden von dem Ding abhängig werden, und kleine Verluste sofort auf "ich hab nicht regelmäßig Tradingmind geschaut" schieben. Da hab ich lieber einen etwas länger dauernden Prozess wo man am ende *selber* was gelernt hat und nicht "pillen" einwerfen muss damit mans kann... Aber das ist nur meine Meinung. Es gibt sicher Menschen denen die software gut tut (die Frage ist nur woher weiß man das? ;)
  20. Mythos antwortete auf Krümel's Thema in Scrutiny
    Liegt das an mir, oder klingt dieses Tradingmind nach Hypnose? "Setz dich 3 mal die Woche für 8 Minuten vor einen Bildschirm mit lustigen Bildern, die dir unterschwellig einhämmern das du dich an deine Strategie halten sollst..." Ich kenn natürlich denen ihre software nicht, und kann mich auch gravierend täuschen. Aber es klingt doch irgendwie so... Solang sie keine unterschwellige Werbung dazupacken. Muss halt jeder für sich selber entscheiden, ob er aus eigener Kraft gut werden will, oder sich von einer Software 3mal wöchentlich den Erfolg ins Hirn hämmern lassen will
  21. Willkommen bei Tom-next. Immer nur her mit den Fragen ;) notfalls hat whipsaw sicher die thread-aufteil-schnippedischnapp-schere parat ;) servus "namensvetter" (endlich triff ich mal einen der sich mit "c" schreibt, mich fragen die leute immer ;) )
  22. Mythos antwortete auf Henrik's Thema in Chit Chat
    I würd die Frage anders formulieren: "Was wollten die damit bezwecken?" Ich glaub nicht das die Typen blöd sind, eher ignorant und selbstherrlich
  23. *auch Senf dazugeb* Ich würd ehrlich gesagt an deiner Stelle in PRT keine Backtests machen. Das Ding ist in keinster Weise für den automatisierten Handel gemacht und backtests sind mMn nur sinnvoll wenn du das ganze dann automatisiert auch so in real umsetzt. Diskretionäres Traden backtesten hat allein schon in der Ausführung die Problempunkte: Im Backtest wird eine Position eröffnet, in dem Moment wo das Signal auftritt, das wirst du in real nie zusammenbringen. Allein der Ablauf "Signal tritt auf"-"du siehst und erkennst es"-"du eröffnest eine Position" kann in aktiven Phasen einige Punkte bedeuten. Dann kommt noch dazu das du schwerlich 24/7 vorm PC sitzen wirst und auch nicht von 8-22 Uhr durchgehend. Aus dem Grund würd ich bei solchen Backtests sehr sehr vorsichtig sein. Natürlich, du kannst deine Strategie programmieren und schaun was theoretisch rauskommen würde, wenn du "perfekt" nach der Strategie handeln würdest. Sowas kann einem aufzeigen wenn eine Strategie nicht funktioniert, bzw. ein gewisses Grundvertrauen in die Strategie geben. Aber die Auswertung der Ergebnisse ist wie gesagt sehr sehr heikel.
  24. Blog? wer hat was von Blog gesagt? *Gg* mal sehen.
  25. Im Herbst? ok, dann mach ich im Juli mal eine "Aufklärungsmission" und check die Lage vor Ort.

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.