Alle Inhalte von Mythos
-
Einstieg zu MT4 Programmierung
Hi Leute, mal ist man einen Tag nicht durchgehend on schon geht die Post ab ;) muss nur ein bissl Senf dazugeben: Doch würde er, er überprüft nämlich nicht den Tag, sondern DayOfYear und dann noch Year. Also voll in Ordnung. Zusätzliche Überprüfung des Monats is nit falsch aber auch nit notwendig. Zu deiner Frage: Die is fast ein bissl fies. Vor allem für Noobies ;) Aber durch Herausforderungen wächst man. Aber da ich aufholen muss darf i zumindest einen Tipp in Form einer neuen Frage geben: Welche Zeit/Zeitpunkt hat ein Balken im Wochen/Monatschart? (Und es macht echt wenig Sinn den Tagesprofit zu verwenden wenn der EA am Wochenchart rennt ;)
-
Das Kind hat endlich einen Namen
Hallo zusammen, es ist endlich soweit! Endlich wurde ein Namen gefunden. Ab sofort arbeite ich nicht mehr an der "Exchange" sondern an der Entwicklung der Technical Exotic Fruits Exchange oder kurz TEFEx. Die TShirts und Autoaufkleber bestellt ich dann... später ;) no worries mythos
-
Hintergrundwissen
Pipsize und Pointvalue Pipsize Beim Handel von Assets muss man sich immer auf eine gewisse "Auflösung" des Preises einigen. Also die kleinste Einheit um die sich der Preis bewegen kann. Oft ist das offensichtlich 1 Cent. Diese kleinste Einheit ist die sogenannte Pipsize. Der Preis ist dann immer ein Vielfaches dieser minimalen Bewegung. Die Pipsize ist nicht immer 1 Cent. An der FOREX ist es zB oft 0,0001 . An der Exchange gibt es unterschiedliche Pipsizes. In der Ordermaske wird der eingegebene Kurs immer auf volle Pips gerundet. Pointvalue Im Aktienhandel hat die Bewegung von einem 1 Euro normalerweise eine Wertänderung von 1 Euro pro Kontrakt/Aktie zur Folge. Im Futuresmarkt (und auf der Exchange) ist das natürlich nicht immer so. Hier handelt man ja auch nicht Aktien sondern eben Kontrakte. Kurzer Exkurs Wenn man Futures handelt, schließt man formal einen Vertrag mit der Gegenseite, zum Liefertermin die angegebene Anzahl des zugrundeliegenden Assets zum angegebenen Preis zu kaufen (long) bzw. zu verkaufen (short). Jetzt kann natürlich ein Kontrakt beinhalten das man 1 Tonne Kartoffeln liefert etc. Ende Exkurs Wenn jetzt der Kontrakt beinhaltet das man zB 25 Kartoffeln liefert, aber der Wert des Kartoffel-Futures in Preis pro Kartoffel angegeben wird, dann hat eine Bewegung von 1 Punkt des Futures eine Wertbewegung von 25 pro Kontrakt zur Folge. Diese Wertbewegung pro Kontrakt und Punkt wird als Pointvalue bezeichnet. Margin und MarginCall Da an der Exchange Endlosfutures gehandelt werden, muss man beim Kauf und Verkauf natürlich auch nicht den vollen Positionswert bezahlen. Dafür muss man um eine Position zu eröffnen einen gewissen Teil der Positionsgröße als freie (also noch nicht für andere Positionen verwendete) Sicherheitsleistung (sogenannte Margin) am Konto haben. Hat man im Moment der möglichen Ausführung nicht genug freie Margin zur Verfügung, so wird die Order storniert. Die freie Margin kann sich jetzt natürlich im Laufe der Zeit verändern. Hat man nun mit aufgelaufenem Gewinn/Verlust nicht mehr genug Kapital am Konto um die Sicherheitsleistung (Margin) für alle offenen Positionen zu stellen, so kommt vom Broker der sogenannte MarginCall. Man bekommt die Aufforderung Kapital nachzuschießen da ansonsten die offenen Positionen zwangsgeschlossen werden. Bei der Exchange gibt es keinen Call in diesem Sinn. Die freie Margin wird regelmäßig überprüft und hat man nicht genug so werden beinhart alle offenen Positionen per MarketOrder geschlossen. Dies gilt es immer zu Bedenken wenn man seine freie Margin voll ausreizt. Berechnung der Margin An der Exchange wird die notwendige Margin nach folgender Formel berechnet: benötigte Margin= (aktueller Preis*Punktwert*Positionswert)/Hebel Standardmäßig hat jeder Trader an der Exchange einen Hebel von 10.
-
Hilfe bei Programmierung
Sorry, falls es falsch rübergekommen ist, war absolut keine Kritik an dir. Hab die Diskussion auch interessiert verfolgt und wollte einfach mal wieder meinen Senf dazugeben ;) Das Problem mit Wahrscheinlichkeiten ist eben das sie nur wahrscheinlich sind und nicht fix. Es gibt da soviele tolle Modelle um Aktienkurse zu modelieren. Ich hab ein paar Jahre am Statistikinstitut der Uni gearbeitet wo sich die Profs damit beschäftigen und sagen wir so: Seltsamerweise ist keiner der Profs an der Börse aktiv geschweige denn reich... Also analysieren und für sich was daraus lesen: gut. Aber sich davon den Gral versprechen is eher nicht. Im Endeffekt basiert doch alles auf dem gleichen Chart, Indikatoren sollen es nur für uns Menschen "leichter lesbar" machen. Nur die Frage was man selber eben am leichtesten "liest".
-
Wenn man nicht coden will...
Neue Version online, sollte passen.
-
Einstieg zu MT4 Programmierung
Nein. Ich sehe es war gut das ich die Frage gestellt hab ;) Gehen wirs langsam durch. Sagen wir, wir starten an einem Punkt wo ma1 = 10 und ma2 = 20 ist. Innerhalb der Cross-Funktion steht last_direction also auf 2. (btw. current_direction muss nicht static sein hier) Jetzt kommt ein neuer Tick und ma1 = 25 und ma2 = 20. Jetzt wirds haarig also Zeile für Zeile: if(Crossed(ma1,ma2) == 2) { Crossed(25,20) wird aufgerufen, line1 (25) ist größer als line2 (20) also current_direction= 1. Die if ist erfüllt, es wird last_direction auf 1 gesetzt und 1 zurückgegeben. Im Ablauf wird jetzt der Rückgabewert von Crossed(25,20) (also 1) mit 2 verglichen, stimmt nicht also überspringen wir den if-Body und kommen zur else if Abfrage: } else if(Crossed(ma1,ma2) == 1) { Also wieder Crossed(25,20) aufrufen. Erneut wird current_direction auf 1 gesetzt (kein Wunder), aber da last_direction vom letzten Aufruf bereits 1 ist ist die if-Bedingung nicht erfüllt, wir überspringen den if-body und geben 0 zurück. 0 verglichen mit 1 ist wieder nicht wahr und wir überspringen auch diesen Block. In Summe: Kreuzung nach oben, aber der EA hats nicht mitgekriegt. Fazit: Diese Variante der Crossfunktion, zeigt ein Kreuzen genau beim ersten Aufruf mit Werten nach dem Cross an. Für die Funktion entspricht jeder Aufruf der Funktion einem neuen Zeitpunkt. Also wenn ihr diese Funktion verwenden wollt: einmal im start() aufrufen, Wert speichern und diesen verwenden. Sonst wird das nix. hth
-
Wenn man nicht coden will...
hoppla, stimmt. ja die Kurse werden in "Cent" in der DB (damit alles in Integer) gespeichert... Thx, wird behoben.
-
Hilfe bei Programmierung
Das ganze geht immer noch nicht gegen einen SMA. Wenn man schon mit Wahrscheinlichkeitsverteilungen argumentiert, kann man auch sagen, das aufgrund des zentralen Grenzwertsatzes jede Verteilung gegen die Normalverteilung konvergiert und der SMA ist ja ein Schritt dorthin. d.h. Egal welche Verteilung die Kurse haben, mit dem SMA kommst wieder in Richtung Normalverteilung (wenn auch nur einen kleinen Schritt ;) Disclaimer: W!theorie is schon ein paar Jährchen her und will jetzt nit meine Unterlagen suchen, also korrigiert mich wenn ich mich irre.
-
Marginsystem und MarginCall
Was wäre das Leben ohne Hebelwirkung? Ich hab doch noch ein Backgroundthema gefunden, und wills euch natürlich nicht vorenthalten: Das Marginsystem. Wiedermal als "Disclaimer": Das ist das wie ich es verstanden habe, bzw. es bei der Exchange implementiert habe. Vor allem beim Thema Margin und Hebel gibt es AFAIK starke Brokerspezifische Unterschiede. Nehmen wir an ich will den FDAX handeln. Das Ding hat einen Punktwert von 25 Euro und steht derzeit bei rund 7400 Punkten. Wenn ich also 1 Kontrakt kaufen will, müsste ich lasche 185000 Euro hinblättern. Ich will das Ding aber nicht behalten sondern vielleicht in ein paar Minuten wieder verkaufen. Da ist es doch irgendwie witzlos für die paar 100 Euro Gewinn/Verlust gleich 185000 hin und her zu schieben. Zusätzlich ist es im Futuremarkt auch so, das ich ja nicht sofort etwas kaufe, sondern nur einen Vertrag abschließe zu einem fixen Zeitpunkt in der Zukunft (deswegen Future ;) etwas zu kaufen (bzw. verkaufen wenn ich short gehe). Also wenn ich es jetzt noch nicht kaufe, wieso gleich dafür zahlen? Auf der anderen Seite muss man die gehandelten Kontrakte doch irgendwie einschränken. Weil wenn ich 1 Kontrakt jetzt kaufe und in 30 Minuten wieder verkaufe, kann ich auch gleich 10 oder 10000 Kontrakte kaufen und gleich wieder verkaufen (abgesehen davon das ich damit sicher Verluste mach), ich muss das Geld ja nie parat haben, weil ich eh wieder verkauf. Also irgendwie muss man da scheinbar doch was tun. Auf einem anderen Markt zB der Forex ist es ähnlich, hier handle ich Positionen im Wert von 100000 Euro für ein paar Euro Gewinn. Hier ist es zwar kein Future, aber eigentlich geht ja niemand her und handelt FOREX um echt Geld zu wechseln. Aus diesem und anderen Gründen gibt es das Marginsystem bzw. Hebel. Wenn man eine Position eröffnet, muss man nicht den gesamten Betrag zahlen, man muss eigentlich gar kein Geld zahlen, es wird lediglich ein Teil des Kontos als Sicherheitsleistung (die sogenannte Margin) "eingefroren". Mit einem Hebel 1:100 müsste man zB nur 1/100 des Positionswertes als Margin zur Verfügung haben. Hat man nicht genug freie Margin (also Kapital das noch nicht als Margin verwendet wurde) zur Verfügung kann man die Position nicht eröffnen. Soweit so gut, aber dank Hebel kann ich jetzt zB mit 1000 Euro eine Position im Wert von 100000 eröffnen. Wenn die Position jetzt aber 1000 Euro an Wert verliert, hab ich damit mein Konto theoretisch (weil noch nicht realisierter Gewinn) an die Wand gefahren. Aber das ist nicht das einzige Problem. Der Broker besteht darauf das ich inkl. offener Gewinn/Verlust genug Geld am Konto hab für die Sicherheitsleistungen. Das wär hier natürlich nicht der Fall und dann kommt es zum sogenannten MarginCall. Der Broker "ruft" mich an und stellt mich vor die Wahl: entweder ich schieße Geld nach oder er wird meine Position zwangsschließen. Bei der Exchange ist das ein bissl anders, hier ruft niemand an. In regelmäßigen Abständen wird die Margin kontrolliert, und wer nicht genug hat dem werden einfach alle offenen Positionen geschlossen. Nun zur Berechnung der Margin. AFAIK wird zB beim FDAX ein fixer Wert pro Kontrakt als Margin verlangt. An der Forex ist es glaub ich abhängig vom aktuellen Kurs. So ist es auch bei der Exchange. Die notwendige Margin ergibt sich aus (aktueller Kurs * Positionsgröße * Punktwert)/Hebel.
-
Trading mit T&S, Dom und Orderbuch
Danke für deine Ausführungen. Sorry wenn ich pingelig bin, aber das würde bedeuten ein "inner market" Geschäft liegt vor, wenn es einen Spread gibt, sich Bid oder Ask bewegt aber der neue Bid/Ask "schnell" wieder weggekauft wird. Klingt wiedermal nach einer sehr willkürlichen Festlegung der Daten seitens der Software (wie schon bei "welche Ausführungen werden zusammengefasst"). Weil wenn ich dein Beispiel 2 jetzt ein bissl verändere und sage es kommt ein LimitBuy 1@1000 daher (also in deiner Def ein passiver weil er ja nicht ausgeführt wird), dann dauerts ein bissl (lass es ein paar Minuten sein in denen nix passiert) und erst dann kommt die Sell Order welche dir das Limit bei 1000 wegraucht. Dann dürfte es keine inner-market mehr sein, weil in den Minuten davor ist das Limit bei 1000 ja angezeigt und somit der Bid auf 1000... Die Frage ist dann nur, was ist "schnell" genug für inner-market. Und gilt das auch für mehrere Orders? Also wenn jetzt 3 LimitBuys in Summe 10@1000 kommen und danach mehrere Sells (in Summe >= 10) die das fillen, und das alles innerhalb von "schnell", sind das dann viele inner-markets oder hat sich da eigentlich der Bid kurz nach oben bewegt? Wenns nur darum gänge das danach der Bid tiefer (bzw. Ask höher) liegt, dann müsste es eigentlich immer bei der "letzten" Ausführung bei dem Preis (also bevor der Bid/Ask sich bewegt) einen inner-market geben oder? Fragen wir mal anders: Euch als "Nutzer" dieser Features, interessiert euch das inner-market überhaupt? (Frag nur weil ich überlege T&S bei der Exchange einzubauen)
-
Trading mit T&S, Dom und Orderbuch
Das ist schon klar, wenn zwischen Bid und Ask kein "Platz" ist kann auch nix dazwischen ausgeführt werden. Meine Frage ist eher, welche zwei Orders da ausgeführt werden. Weil eine davon ist neu und die andere muss schon im Orderbuch gewesen sein, was dann aber bedeuten würde das ein Limit zwischen Bid und Ask im Orderbuch liegt/lag ?!
-
Trading mit T&S, Dom und Orderbuch
Wiedermal danke fürs Video. Eine Frage drängt sich mir auf: Wie kann ein Preis zwischen Bid und Ask ausgeführt werden? Da muss der Ausführungsalgo im Hintergrund anders ablaufen als ich es mir vorstelle, oder ich hab Bid/Ask falsch verstanden. Mal wie ich es verstanden hab: Bid ist das höchste Limit der LimitBuys, also der Preis zu dem ich aktuell verkaufen kann Ask ist das kleinste Limit der LimitSells, also der Preis zu dem ich aktuell kaufen kann. Nehmen wir an Bid steht bei 1000 und Ask bei 1005. Jetzt kommt eine neue LimitBuy bei 1002 rein, dann geht dadurch das Bid auf 1002 rauf und fertig oder? (Gegen die LimitSells kann nicht ausgeführt werden und Markets können keine da sein, weil die wären ebenfalls schon ausgeführt). Kommt statt der LimitBuy eine LimitSell würde sich halt das Ask nach unten bewegen. Wie kann also eine Ausführung zwischen den beiden zustande kommen, ohne das sich vorher Bid oder Ask auf diesen Wert gesetzt haben? Eine der beiden bei der Ausführung beteiligten Orders muss als erstes da gewesen sein und die hat dann Bid oder Ask bewegt...
-
Wenn man nicht coden will...
...schreibt man halt das Handbuch. Und wenn man nit weiß was man Schreiben soll, macht man zumindest ein paar erklärende Bildlein. In diesem Sinne hab ich mal ein paar "Erklärungsbilder" gemacht. Eigentlich hab ich gehofft das Userinterface sei selbsterklärend, aber ich befürchte dem ist nicht ganz so. Für alle Interessierten sind die Bilder in der Exchange-Galerie zu besichtigen. Bzgl. Betatest muss ich sagen ich bin begeistert. 2 Tage Betatest und noch keine einzige Bugmeldung/Beschwerde. Und der Server schnurrt auch wie ein Kätzchen... so long no worries mythos
-
Orderliste mit Beschreibung
Vom Album Exchange
Die wichtigsten Komponenten der Orderliste in der Exchange beschriftet.© © Mythos
-
Linienchart
Vom Album Exchange
Ein Linienchartbeispiel von der Exchange, Beschreibung siehe Candlestickchart.© © Mythos
-
Ordermaske mit Beschreibung
-
Chart inkl. Beschreibung
-
Level2 mit Beschreibung
-
Menu im Hauptfenster mit Beschreibung
Vom Album Exchange
Eigentlich ist das Menü selbsterklärend, aber der Vollständigkeitshalber.© © Mythos
-
Hauptfenster mit Beschreibung
Vom Album Exchange
Die wichtigsten Elemente des Hauptfensters der Exchange beschriftet.© © Mythos
-
Rear View Girls - Los Angeles
Wo hast du Gesichter gesehen? ;)
-
Wie entstehen Backtestdaten?
Stimmt, ich hätt zwar gedacht/vermutet, das er den TP immer zu dem Preis ausführt und dir keine "positive" Slipage gibt, würde der Broker in Realität vermutlich auch nicht, aber mei. Bei Open-Price is es übrigens nicht so. Da wird scheinbar nur geschaut ob der TP innerhalb der Range vom Bar davor war und wenn ja wurde er ausgelöst (exakt zum Preis).
-
Einstieg zu MT4 Programmierung
Stimmt, mein Fehler. 1 und 2 sind aber auch nicht wirklich gute Konstanten um rauf und runter zu codieren. Da wär 1 (für cross up) und -1 (für cross down) irgendwie logischer. Aber wie du schon befürchtest, ich mein wiedermal nicht die Tradingebene sondern rein die Programmierseite. Angenommen innerhalb er Schleifen würden zB Orders (also long bei cross up, short bei cross down) eröffnet, würden in den Resultaten Long und Short Orders auftreten?
-
Einstieg zu MT4 Programmierung
Beides schöne Antworten, aber ich hab gar nicht Tradingtechnisch sondern rein programmier/verständnisstechnisch gedacht. zB folgender Code: double ma1,ma2; ma1= iMA(NULL,0,10,0,MODE_SMA,PRICE_CLOSE,1); ma2= iMA(NULL,0,50,0,MODE_SMA,PRICE_CLOSE,1); if(Crossed(ma1,ma2) == 2) { //cross nach unten zB Short einstieg } else if(Crossed(ma1,ma2) == 1) { //cross nach oben zB Long einstieg } Tut der Code das was er offensichtlich soll?
-
Wie entstehen Backtestdaten?
Was ist bei dir gering? An sich kann ich dem aber zustimmen, müsste man aber auch auf den SL ausweiten (wobei hier die realen Ergebnisse teils vielleicht besser wären als der Backtest...) Aber wenn du so kleine TPs hast kickt dich der Broker vermutlich eh bald wegen Scalping ;)