Alle Inhalte von Forex1+
-
Code auslagern
Hey Leute, mir ist aufgefallen dass wenn ein EA mit DLL läuft bei den Windowsprozessen weiterhin nur terminal.exe *32 läuft. Ich frage mich aus reiner Unwissenheit wo jetzt eine DLL, die doch als eigenes Konstrukt in einer eigenen Sprache eine komplexe Berechnung durchführen soll, läuft? Irgendwie ist das bei Anwendungen oder Prozesse nicht zu erkennen. Ein anderer Punkt, mir ist noch aufgefallen das die kompletten definierten Funktionen im Reiter Abhängigkeiten zu betrachten sind. Wie dies im Bezug auf "Schutz des geistigen Eigentums" einzordnen ist...?
-
Womit trade ich eine Währungsposition über Monate am günstigsten ?
Ich habe eben mal nachgeschaut, hatte letzte Zeit nur ein paar Trades die bis zu 7 Tagen gingen, diese hatten Swaps die ziemlich gering waren. Kann beim Swap total unterschiedlich sein positiv wie negativ. Eine Nacht kann kosten wie eine Woche, bei noch längerer Dauer hab ich keine Erfahrung. Und der Spread spielt bei der langen Haltedauer auch eher eine untergeordnete Rolle. Hattest du denn konkrete Kostenprobleme mit lang gehaltener Orders?
-
Womit trade ich eine Währungsposition über Monate am günstigsten ?
Interessante Frage, hat jemand Erfahrung mit langer Haltedauer? Würde mich mal interessieren mit wieviel prozentualen Kosten pro Order man ungefähr so alle Woche oder Monat rechnen muss? F1+
-
Flüchtlingsmarsch über die "grüne Grenze"
Kommunikation geht wohl ironischerweise bei dem IS nun über Playstation http://nypost.com/2015/11/16/isis-using-playstation-4-to-communicate/
-
Flüchtlingsmarsch über die "grüne Grenze"
Wer es hat zuerst gerochen, dem ist es aus dem Arsch gekrochen. Und wer hat als erster sein Beileid bekundet... Obama. Ich kann diese Beileidsbekundungen nicht mehr ertragen vor allem der EU-Politiker die das Spiel doch seit langem mitspielen, es wurde mehr über das politische Beileidsschaupiel berichtet als über die eigentlichen Vorgänge des Geschehens. Mir tun einfach nur die Betroffenen leid die rein gar nichts mit diesem geopolitischem Bullshit am Hut haben. @ Rumpel: die serbische Frau hat halt einfach recht
-
Futures auf Metatrader handeln?
Ja, C++ versuche ich gerade zu lernen. Ziel ist Teile in eine dll auszulagern die ich dann mit c++ schreibe. Ich möchte eben noch Backtesten können daher war der Plan mich nicht ganz abzukoppeln vom MT4. Auch ist praktisch das man Values von Indis usw rauslesen kann. Wenn man sich ganz unabhängig macht dann müsste die API ziemlich viele Values liefern zB Bars aller TFs, Orderhistory, usw. Die Indis müsste man sich alle selber Coden denn sowas wie iMA() oder iATR() gibt es dann ja nicht mehr. Wobei aus der dll ja leider auch nicht direkt aufrufbar, muss im mql liegen und übergeben werden. Aber prinzipiell wäre es komplett unabhängig natürlich der Königsweg aber ich bin nicht ganz sicher ob mein Skill da reicht... :-) Und vor allem die Backtestfunktion + Optimierung + GUI müsste man irgendwie selber coden das ist glaub ich harter Stoff, man bräuchte auch nen Algo um die Ticks aus M1 zu simulieren ;-) Machst du das so, plattformunabhängig mit API Robotor laufen lassen?
-
Futures auf Metatrader handeln?
Genau das Problem bei der API ist das scheinbar Metatrader die Kursdaten aus CFDs bezieht und diese dann weiterleitet um sie als reine Futures zu handeln. Und genau das ist das Problem denn die tick-by-tick Daten wie beim Nanotrader sind bei Metatrader dann nicht verfügbar und eben diese machen das Futuretrading zu einem der "saubersten" Arten zu traden. Ich hab bisher auch ledier nichts gefunden wo Metatrader die reinen Ticks bekommt. Grundsätzlich ist MT fürs diskretionäre Trading von Futures auch nicht nötig, da es bessere Möglichkeiten gibt wie WHS etc, für mich ist es allerdings spannend um MT-EAs einfach auf Futures anzuwenden ;-) Daher wenn es irgend-wo/wie gehen würde, bräuchte man die Robotor nicht auf andere Plattformen umzucoden. Grüße F1+
-
Futures auf Metatrader handeln?
Hello, gibt es Broker bei denen man Futures (keine CFDs) über Metatrader handeln kann? Grüße F1+
-
Code auslagern
ich mach das mit Microsoft Visual C++ 2010 Express und das rundherum ist aus einem anderen Forum hier der Link http://www.forexfabrik.de/topic/3516-dll-schreiben/?hl=import allerdings geht das nur für eine simple variable also die Sache mit arrays, strings etc versuche ich aus anderen Quellen herzuleiten bis jetzt noch ohne Ergebnis ;)
-
Code auslagern
Ich mache das bewusst in C++ und will die Sprache jetzt auch weiter lernen also zumindest so viel ich eben für meine Zwecke benötige weil ich glaube das ich mit dieser Sprache die großmögliche Flexibilität für die Zukunft habe. Speed und Möglichkeiten sind einfach gigantisch zudem sehr Hardwarenah. Bis jetzt habe ich erstmal nur eine Funktion in der dll die so eine Rechnung durchführt und den Wert zurückgibt int V1 = 0; V1 = A1 + A2; return(V1); im mql dann: import "DLLv001.dll" int Rechnung(int, int); #import int A1 = 20; int A2 = 30; int Ergebnis = Rechnung(A1, A2); Bin dabei die ganzen Beispielcodes aus dem www aufzudröseln um dann auch Sachen mit Arrays und Strings etc zu verstehen und zu machen. Wird langsam... :-)
-
Code auslagern
Danke für die Infos. Das heißt es gibt eigentlich auch keine kompliziertere und bessere Methode als den normalen Aufruf über eine Funktion. Was mich nur wundert warum die gefundenen Anleitungen so kompliziert sind und viel mehr Code beinhalten als nötig ( zB http://www.forexfactory.com/showthread.php?t=219576 oder https://www.mql5.com/en/articles/18 ). Ich habe jetzt die Minmalvariante mit einer einfachen Varibale hinbekommen also eine einfache Addition in der dll, dies ist sehr viel weniger Code als bei den Anleitungen. Kann sein das es dann mit Arrays oder Strings besonders kompliziert wird das ist nun mein nächster Schritt.
-
Metatrader, Möglichkeiten der Steuerung
Jetzt führen wir schon parallel Monologe in unseren Threads Zu deiner Übertragung im #1: So weit ich zur Zeit informiert bin ist die einzige Verbindung zu allen externen Codes also ausserhalb des in mt4/5 laufenden Programms nur über Funktionen zu schaffen. Dies geht wohl auch nur in eine Richtung also der Funktionsaufruf muss immer in der mql definiert werden und die Funktion selber im externen Code zB dll etc. Aber nicht umgekehrt. Leider! Das führt zu dem Ergebnis, dass wenn man eine Anweisung (zb deine Orderanweisung) aus dem externen Code hinein ins mt-terminal bekommen möchte dies nur über die Rückgabewerte einer Funktion hinbekommt. Man könnte also sagen varA = 0 -> keine Order öffnen und varA = 1 -> Anweisung Order öffnen. Nach dem selben Prinzip könntest du den Orderstatus zurückgeben. Orderstatus offen -> varB = 1 und Orderstatus geschlossen -> varB = 0. Dies nur als Beispiel. Heißt in deinem Falle, wenn ein Orderauftrag aus externem Code in MT übertragen werden soll, muss dies ein Rückgabewert einer Funktion steuern die wiederum aber vorher aus MT aufgerufen wird. Soweit mein Verständnis zum Thema, wär natürlich klasse wenn wir in unseren einsamen Threads noch Input von den Profis bekommen, der autodidaktische Weg ist doch immer so schmerzhaft hehe
-
VW-Krise
Nach dem Kursverlust darf man ruhig mal korrigieren Sehe ich genauso, rein charttechnisch wäre eine Korrektur sogar schon vor den Badnews mal fällig gewesen. Die Vanitas steckt in jeder Bewegung. Ich denke der Diesel also die deutsche Autoindustrie wird in weiterer Zukunft nicht mehr so leicht um Harnstoff rumkommen. Nicht nur die Chlorhuhnhandelspartner mögen keine Stickoxide in ihrem Wirtschaftsraum (daher auch die ständige dynamische Anpassung der Grenzwerte), auch hier wird man jetzt genauer hinschauen was für die Autobauer unschön ist da genau der Dieselmotor eben eine deutsche Spezialität ist. Es gab letztes Jahr eine Untersuchung wo festgestellt wurde, dass die Grenzwerte vom NOX real um das siebenfache überschritten werden, die Diskrepanz zwischen Labor und Realausstoß ist schon beachtlich ...wenn es eigentlich auch nichts neues ist. Die Lobbyarbeit ist natürlich auch gut. Falls ab 2017 alle Ergebnisse durch PEMS also dieses portable emissions measurement systems verifiziert werden müssen, dann wird es erst realistische Werte geben. Bis an den Tanken die nötige Infrastruktur für das Dieseladditiv hergestellt ist, weiß ich schon wie ich die 70 Cent Sanifair spare
-
Code auslagern
Keiner mehr aus der Programmierecke aktiv? Wie gesagt es geht mir um ein groben Überblick welche sinnvollen Möglichkeiten es überhaupt gäbe. Dann könnte ich einem ggf zukünftigen Freelancer wenigstens erklären was ich von Ihm möchte Würde mich echt interessieren was ein Coder zu den Aspekten in #3 - #5 sagt. ps: Übrigens habe ich lange Zeit die hier durch Hilfe entstandene txt-Bridge zur Codeauslagerung erfolgreich genutzt. Zwei MT Instanzen, EA und Skript welches sich selbst triggert. War schon ne sehr coole und stabile (ja wirklich) Lösung aber echt langsam (liebevoll txt-K(B)rücke genannt) und mit großen Einschränkungen was die Datenübertragung angeht, daher jetzt obiges Projekt...
-
Code auslagern
Um nochmal auf die Funktion wie von Mythos beschrieben zurückzukommen. Ich denke die Funktionen könnte man auch einfach nutzen mit oder ohne Rückgabewert um Werte wie int oder double zu übertragen mal ganz unabhängig von Berechnungen. Kann man über die dll Funktionen eigentlich auch Arrays (oder gar Mehrdimensionale) übertragen? Man könnte dann als Beispiel jeden Bar eines Timeframes in eine Arrayhistory für Nutzung von historischen OHLC in die dll schleusen. Wenn man 1 Monat M1 möchte müsste das Array 28800 Werte beinhalten. Und noch eine blöde Frage: Kann man auch umgekehrt also von einer dll aus eine Funktion im mql aufrufen? Wenn ja wären eigentlich alle Probleme gelöst denn so könnte man alle benötigten Werte aus MT auslesen lassen und übergibt nur dazu noch den gewünschten shift-wert von Kurs, Indi, etc. Grüße
-
Code auslagern
... jetzt bin ich einigen neuen Stoff durchgegangen und vermute das die Geschichte mit der DLL-Injection definitiv durch Nutzung von Zeigern/Pointer also Direktzugriff auf den Arbeitsspeicher funktioniert. Der Lösungsweg wie ihn 7bit beschreibt hängt auch mit Zeigern/Pointer zusammen leider ist das Thema Zeiger noch nicht ganz zutraulich :-)
-
Code auslagern
Das hört sich gut an, wenn die dll als "Funktion" fungiert steuert sie zeitweise das Geschehen somit wartet die ex4 auf die dll Funktion. Die GUI würde ich, wenn es mal soweit sein sollte, mit einer on/off variable steuern sodass man grob gesagt zwischen performance und visualisierung switchen kann. Was den Aspekt der Entkopplung von Metatrader angeht habe ich gesehen, dass man die dll von egal wo auf der Platte einbinden kann #import "Drive:\Directory\FileName.dll" ähnlich hier: http://www.forexfactory.com/showthread.php?t=222560 somit wäre der Code zumindest raus aus der MT-Verzeichnisstruktur. Ob dies zwecks geistiger Eigentumsschutz nützt..., ich weiss es nicht vielleicht gibt es dazu noch die ein oder andere Meinung? Vielleicht müsste man von der dll, auf diese nun direkt von MT4 zugegriffen wird, zu einer weiteren dll, exe oder xyz weiterleiten um es wirklich von MT4 zu entkoppeln...? Desweiteren stellt sich die Frage wie die dll an die Werte aus dem Terminal herankommt. Im Programmablauf ist zum Beispiel nicht immer im Vorfeld klar welche Werte gerade von der Logik benötigt werden. Bei digit point accountequity() denke ich geht es noch aber was wenn mal Close[5] und dann Close[325] aufgerufen werden soll. Analog dazu wäre das Problem bei Time[x] oder Indikatoren oder im extremfall gar Werten aus anderen Währungspaaren wie bei iHigh(WP[x],0,1). Zu dem Thema habe ich durch einen Thread von 7bit herausgefunden (aber nicht verstanden), dass man stdcall zum exportieren braucht weil man sonst keine Schnittstelle bekommt. Int und double können mit pointers zum Speicherplatz der Arrays verwiesen werden und für den Zugriff auf die Bars im Chart kann man per ArrayCopyRates() die Sache hinbekommen. Es gibt bei der ff.com eine art Anleitung von 7bit http://www.forexfactory.com/showthread.php?t=219576. Verstanden habe ich gefühlte 10%. cxalgo hat in dem anderen Thread die DLL-Injection als Methode genannt die Dinge aus MT4 in der dll zu definieren http://www.tom-next.com/community/topic/70001-systementwicklung-langfristig-angehen/?p=154790 Wenn ich es richtig verstanden habe wird dadurch ein Prozess gezwungen auf ein anderen zuzugreifen... Grüße
-
Code auslagern
Hallo, nehmen wir an man möchte Teile des mql-Codes in externen Code auslagern und dabei die Funktionalität von Backtest sowie direkte Orderausführung aus dem Terminal von MT4 erhalten. Die Sache soll in dem Fall zwei Aspekte gleichzeitig erfüllen. Zum einen soll der Code vom Broker also von der MT4 Verzeichnisstruktur gelöst werden also ausgelagert werden (Schutz des geistigen Eigentums) und eine höhere Unabhängigkeit der Terminalsprachen (mql4/5...oa) ermöglichen. Zum anderen soll das ausgelagerte Programm anspruchsvollere Rechnungen durch eine schnellere Sprache wie c++ durchführen sowie Charts/Grafiken von Datenreihen eigenständig visualisieren. Dazu hab ich ein paar grundsätzliche Fragen an die Profis: - Kann man mql mit einem externen Programm so vernetzen, dass Backtest und Orderausführung aus dem Terminal heraus normal funktioniert? Soweit ich informiert bin geht dies über DLLs welche sich in der MT4 Verzeichnisstruktur befinden. Nehmen wir an man misstraut der Sicherheit innerhalb der MT-Verzeichnisstruktur. Ist es möglich dies aus der Verzeichnisstruktur auszulagern sodass der geistige Eigentum nicht innerhalb dieser liegt? - Wie kann man sich eigentlich den Programmablauf mit externem Code vorstellen? Wechseln sich das mql-programm und das c++-programm ab, also als Beispiel: TICK triggert mql -> mql macht xyz und pausiert und triggert c++ -> c++ zieht sich Werte aus mql und berechnet irgendwas -> mql macht weiter und führt Order aus o.ä. Oder läuft das gar ganz anders? Je mehr im c++ ausgelagert wäre desto besser, aber wie funktioniert das wenn man iATR... iCustom... Bid oder sonstwelche Variablen aus dem Terminal also mql ziehen will? - Wäre es möglich das ein solches externe Programm Daten wiederum Grafisch (zb Datenreihe) darstellt, so das man neben dem MT4 Terminal eine eigenen "Chart" oder was auch immer hat was Datenreihen als zB Chart visualisiert? Beste Grüße
-
Systementwicklung langfristig angehen?
@KB ich vermute du spielst auf Investox an? Ich habe auch immer mal wieder überlegt auf andere Plattformen umzusteigen aber am Ende war MT durch die Flexibilität und Kostenfreiheit immer mein persönlicher Sieger. Ich kenne zwar nicht die genauen Möglichkeiten andere Plattformen aber am liebsten weiß ich genau was der entsprechende Algo macht bzw ich möchte es im Code nachschauen können oder selber Coden. Die Richtung der Überlegung soll eher dazu führen, dass ich mich von Plattformen unabhängig mache wobei das natürlich nur begrenzt möglich ist mit dem Anspruch darauf das der Backtest usw mit der genutzten Plattform trotzdem noch funktioniert. Wäre ich Berufsprogger hätte ich mir wahrscheinlich schon längst eine eigene Plattform gebastelt ;) @Mythos sehr interessante Infos. C/C++ in dlls das ist schon mal gut sowie die gute Geschwindigkeit. Das mit Multicore wusste ich auch nicht, also das die Aufgaben verteilt werden müssen, ich hatte gedacht das eine Aufgabe dann zB schneller bearbeitet wird aber im Prinzip ist es logisch jeder Kern nimmt eigene Aufgaben entgegen, wenn sie zusammenarbeiten sollen muss das programmtechnisch gesteuert werden was sicher kompliziert ist (aber spannend). Es gibt ja Leute die nutzen sogar ihre Grafikkarte für sowas.
-
Systementwicklung langfristig angehen?
Hallo, trotz meiner nur langsam steigenden mql4 Skills werden meine Codes immer komplexer und fordern dem Rechner bei der Ausführung, ob Backtesting oder live inzwischen immer mehr ab. Im Moment geht das alles noch recht gut aber ich habe Pläne die naturgemäß einfach zu einer sehr viel höherern Anforderung an das Programm führen. Generell habe ich vorsichtig ausgedrückt noch ziemlich verückte Vorhaben die ich mal umsetzten möchte, diese aber meißt durch meinen Codingskill und Zeitmangel begrenzt sind. Um auf es auf den Punkt zu bringen überlege ich, ob ich teile der Codes auslagere oder gar alles aus mql4 auslagere aber trotzdem mt4 als Executor und Wertgeber nutze. Ich hätte zu der Überlegung mal ein paar Fragen da ich programmiertechnisch nicht mehr als mql4 oder C beherrsche. 1. Bringt das Auslagern von Code in zum Beispiel eine dll einen Geschwindigkeitsvorteil bei der Ausführung beim Backtest oder Live? Welche Programmiersprache enthält eigentlich eine dll? Kann man Code in beliebige Programmiersprachen auslagern? und sind diese dann noch über Metatrader ausführbar -> Backtesting und Live? Kann man überhaupt in Metatrader ein externes Programm einbinden das einen Geschwindigkeitsvorteil bringt im Vergleich zu all-in-mql? Wichtig ist natürlich, dass Metatrader als Executor vorhanden bleibt inklusiv Backtestfunktion. Irgendwie muss das ausgelagerte Programm auch an die Variablen kommen. 2. Ich habe gelesen dass es Programmiersprachen gibt mit vorgefertigten Modulen für unterschiedlichste Berechnungen. Zum Beispiel genetische Algos, NN oder auch einfach gute grafische Ausgabemöglichkeiten oder gar vorgefertigte Auswertungsmöglichkeiten wie man es bei Dataminingsoftware finden kann. Gibt es eine Sprache die in solchen Dingen besonders gut ist bzw mit der man gewisse modulare Möglichkeiten hat ohne jeden komplexen Algo/Formel eigenhändig Coden zu müssen? 3. Welche Programmiersprache ist Zukunftfähig um damit vielleicht ein Leben lang zu arbeiten? 4. Welche Programmiersprache ist besonders schnell und nutzt den CPU (also alle Cores!) effektiv aus? Grüße ps: mq5 unter mt5 kommt für mich derzeit nicht in Frage da ich kein Einfluss auf die Backtestdaten habe und der Backtest nicht offline funktioniert.
-
Das "Griechenland-Problem", Eine Ursachenforschung
Namen mit Qualitätsgarant das wird schwierig ;) Die Leute die Ahnung haben kommen in der Öffentlichkeit meißt nicht zu Wort. Wenn man sich dann Talkshows mit zB. Markus Lanz anschaut ich weiss ja nicht wie man sein Intellekt weiter abstumpfen kann... Ich glaub der Müller hat da einfach copy&paste gemacht, die Zahl wurde oft zitiert. http://www.spiegel.de/wissenschaft/natur/erdgasvorkommen-zyperns-milliardenschatz-im-meer-a-889818.html http://www.badische-zeitung.de/wirtschaft-3/von-der-pleiteinsel-zur-schatzinsel--68979693.html http://www.tagesspiegel.de/wirtschaft/schuldenkrise-ende-dezember-2011-wurde-noble-energy-im-zyprischen-sektor-fuendig-/7762812-2.html http://www.taz.de/!5070963/ Aber das ist die Sache mit den Studien, gerade bei so einer Schätzung unter dem Meer sind das alles nur Annäherungsversuche von Werten, man sieht die eindeutigen Mengen erst wenn es zur Sache geht und diese schließlich gefördert werden. Ohne kluge wirschaftpolitische Strukturen wird diesbezüglich in Griechenland auch nichts effektiv ablaufen, da solche Förderungen auch Risiken beinhalten, Thema Grenzsteitigkeiten, holländische Krankheit, wie können Staat und Wirtschaft vertraglich agieren... , da braucht es wirschaftpolitische Strukturen die funktionieren.
-
Das "Griechenland-Problem", Eine Ursachenforschung
-
Das "Griechenland-Problem", Eine Ursachenforschung
Die 600Mrd kommen von einer Studie der RBS.
-
Das "Griechenland-Problem", Eine Ursachenforschung
Die Frage ist wie viel die EU diesbezüglich überhaupt was zu melden hat, da spielen Interessen anderer viel stärkerer Länder mit rein. Sucht man Erklärungen für die ganzen Dinge landet man zwangsläufig bei mancher alter "Verschwörungstheorie" die in der Entwicklung der Dinge immer interessanter erscheint. Die Wahrheit liegt oft irgendwo in der Mitte aber trotzdem sollte man nicht glauben das die EU bei der Sache alleine ist. Geopolitisches Interesse ist da weit gestreut, USA, Russland, Türkei, Ägypten, Libyen... alle spielen mit. Die EU ist für mich eine devote Kolonie der USA und wir können uns bei unseren Kolonialherren bedanken, zum einen für Wirtschaftseinbrüche durch unter Druck entstandene Sanktionen gegen Russland während die USA selbst den Handel mit Russland ausbaut, bemerkenswert!, zum anderen für steigenden Extremismus in der EU dank dem Irakkrieg eine völkerrechtswidrige Invasion die mitunter den IS erst hervorgebracht hat. Der IS ist übrigens viel schwächer als dargestellt, alleine die Türkische Armee könnte die Sache in wenigen Tagen erledigt haben aber warum stabil wenn es auch destabil... äh instabil geht. Apropos Ukraine... aber ohne jetzt noch weiter abzuschweifen, warum sollte sich Griechenland jetzt dahinterklemmen Öl und Gas zu fördern was rund 600 Milliarden Dollar über 25 Jahre einbringen würde, bevor die Gläubiger all ihre Rechte verloren haben... plausibel
-
Das "Griechenland-Problem", Eine Ursachenforschung
Die Broker fangen schon wieder an mit den Marginanforderungen zu spielen wegen dem 5.7 Wer zocken will, am Freitag rein und Montag wieder raus...