Ecart Posted April 6, 2011 Report Share Posted April 6, 2011 Hallo CFuture, willkommen hier bei uns im TN-Forum... Na, bist ja schon seit dem 06.02.2011 dabei und jetzt kommen die Beiträge... Bin auch JForex - User und vielleicht kannst du mir jetzt, bzw. unsere Mitleser-Experten weiterhelfen? Seit heute morgen ~ 06:00 Uhr läuft auf meinem vServer | 1 GB RAM | der Strategietester für für ein Backtesting. Sind genau 231 Kombinationen und jetzt nach ungefähr 11 Stunden Laufzeitsind erst 28 % 'verarbeitet'. [siehe Screenshot] Könnt Ihr mir dazu Tipp's geben? Mehr RAM oder was auch immer - damit die Verarbeitungszeit kürzer wird??? Quote Link to comment Share on other sites More sharing options...
Henrik Posted April 6, 2011 Report Share Posted April 6, 2011 Tjoa, bei sowas hilft nur reine Rechenpower.Ist JForex MultiCore fähig? (mache mal den Taskmanager auf und schaue, ob beide Kerne voll ausgelastet sind oder nur einer). Quote Link to comment Share on other sites More sharing options...
Ecart Posted April 6, 2011 Author Report Share Posted April 6, 2011 Ist jetzt bei 35%. 4 >>> CPU's 0 | 1 | 2 | 3 | sind zu 100 % ausgelastet. (=vServer) Ich habe leider (noch) keine Ahnung wie ich dies verändern kann. Neue Hardware ist in Planung... Quote Link to comment Share on other sites More sharing options...
Rumpel Posted April 6, 2011 Report Share Posted April 6, 2011 Wie stark wird denn dabei dein Arbeitsspeicher beansprucht?Ich fand die RAM-Auslastung immer recht gering. Kann aber auch Linux gelegen haben, ich weis nicht wie gut Windows mit Java umgehen kann. Quote Link to comment Share on other sites More sharing options...
Nelly1966 Posted April 6, 2011 Report Share Posted April 6, 2011 Ist jetzt bei 35%. 4 >>> CPU's 0 | 1 | 2 | 3 | sind zu 100 % ausgelastet. (=vServer) Ich habe leider (noch) keine Ahnung wie ich dies verändern kann. Neue Hardware ist in Planung... Das muss nicht unbedingt ein Problem der Hardware sein! Habe 8 GB RAM Arbeitsspeicher, einen Intel i5-2500 (3,4 GHz) und sonst auch nur leistungsfähige Hardware im Rechner verbaut, aber bei einem aufwändigem EA läuft selbst mein Rechner im Schneckentempo. Nutze zwar MT4 aber ich denke, dass JForex da nicht viel anders ist. Die durchschnittliche CPU Auslastung liegt bei 25% (er hätte also noch Ressourcen)aber dennoch braucht der Rechner viel Zeit (> 30 Min.) um einen 8-tägigen Backtest zu machen! LG Nelly P.S. Der EA heißt "THV MTF" und ist hier vielleicht dem ein oder anderen bekannt. Quote Link to comment Share on other sites More sharing options...
Ecart Posted April 6, 2011 Author Report Share Posted April 6, 2011 Wie stark wird denn dabei dein Arbeitsspeicher beansprucht? Ich habe ja auf diesem vServer 1 GB RAM gebucht. Laut Ressourcenmonitor sind installiert 1.024 MB - Verfügbar 1.866 MB - Im Cache 1.518 MB [siehe Screenshot] Was heißt das nun für mich? Zusatzinfo: Backtesting verarbeitet die Tick-Daten vom letzten Quartal 2011 | mit insgesamt 231 Kombinationen z.B. TP | SL | usw. Vielen Dank geht an SFX Christian der mich immer wieder unterstützt... Quote Link to comment Share on other sites More sharing options...
TR@FI Posted April 6, 2011 Report Share Posted April 6, 2011 Hi. die Optimierung in JForex ist Strafarbeit. Da kannst Du die beste Hardware haben, es ist unglaublich langsam. Wir haben hier bei FI sehr gute, eigentlich hochperformante Hardware, aber jeder Backtest und jeder Versuch der Optimierung erinnert mich an meinen AMD-K7 mit 750 Mhz, wobei der dagegen wahrscheinlich schnell war beim Starten von Windoofs. Die Probleme bei der Optimierung ist aber nicht nur die Geschwindigkeit. Wenn sich in einem Rechenzyklus mal mehr als ~1.000 Variationen ergeben, dann kannst Du es gleich ganz vergessen, es wird einfach nix. Es hängt sich beständig auf. Vielleicht waren wir bis heute nicht in der Lage JForex korrekt zu bedienen, aber aus der Erfahrung die wir haben (und das sollte nicht so wenig sein) ist es zur Zeit absolute Zeitverschwendung. Dann lieber die echten Tickdaten nach MT importieren und in MT weiter programmieren. Aber das ist ein anderes Thema und auch recht aufwändig. VGThomas Quote Link to comment Share on other sites More sharing options...
Ecart Posted April 6, 2011 Author Report Share Posted April 6, 2011 Hallo Thomas, vielen Dank für deine kompetente Antwort. Habe mir eure FI - Homepage angesehen und deine Aussagen sind für mich als 'Nicht-Programmierer' absolut verständlich. Seit über 3 Jahren habe ich viele Plattformen 'getestet', aber diese JAVA-JForex Plattform ist einfach 'geil'. Wenn wir beide Tick-Daten von Ducascopy 'vergleichen' dann sind die einfach zu 100 % gleich und das bei diesem Volumen. Von MetaTrader bin ich ab, es gibt dort keinen Broker wie Dukascopy. Wir sollen uns hier weiter 'austauschen', denn ich bin überzeugt das die Anzahl der JAVA JForex-User ständig steigen wird... Quote Link to comment Share on other sites More sharing options...
TR@FI Posted April 6, 2011 Report Share Posted April 6, 2011 Seit über 3 Jahren habe ich viele Plattformen 'getestet', aber diese JAVA-JForex Plattform ist einfach 'geil'. mmmmhhhh. da bin ich anderer Meinung. Geil ist das in meinen Augen nicht. Es bietet zwar andere Möglichkeiten, aber 1. ist Java weit weg von geil, da ist mir ein sauberes C oder C++ lieber. und 2. Die Anzahl der Updates der Plattform und der spärliche Support bei Problemen seitens DC ist auch far away von geil. Wenn wir beide Tick-Daten von Ducascopy 'vergleichen' dann sind die einfach zu 100 % gleich und das bei diesem Volumen.NEIN! Du hast bei DC genau das selbe Problem wie bei MT. Im Livetrading werden "3 Konten 4 Kurse" haben! Wir traden Live-Accounts bei DC. Alle auf dem gleichen Server. Und trotzdem ist es einfach technisch nicht machbar, dass alle Konten im Livetrading die selben Ticks erhalten! Wir sehen es fast täglich. Auch wenn die Abweichungen klein sind und die Datenqualität sehr gut... es gibt keine richtigen Forex Daten und die Versorgung tausender Kunden im Millisekunden Takt mit gleichen Daten weltweit ist auch bei Dukascopy unmöglich. Natürlich haben wir im Backtest die selben Daten. Aber das können wir auch in MT hinbekommen. Es gibt inzwischen gute Datenquellen und über die symbols.sel kann man schon mal fast identische Datensätze erzeugen. Natürlich ist MT nicht perfekt und an diversen Stellen muss man improvisieren, aber JForex ist weit weg von ausgereift und ich verwende es nur für sehr spezielle Probleme und für ein paar Untersuchungen dann und wann. Aber für das tägliche Entwickeln ist JForex absolut noch nicht reif. Trotzdem können wir uns gerne über JForex austauschen. Wir nutzen es ja auch und in gewissen Bereich hat es Vorteile. VGThomas 1 Quote Link to comment Share on other sites More sharing options...
TR@FI Posted April 6, 2011 Report Share Posted April 6, 2011 Von MetaTrader bin ich ab, es gibt dort keinen Broker wie Dukascopy. sehe ich auch anders. da haben wir andere Erfahrungen!!! aber das ist wohl ein anderer Thread. VGThomas Quote Link to comment Share on other sites More sharing options...
Ecart Posted April 6, 2011 Author Report Share Posted April 6, 2011 ... aber 1. ist Java weit weg von geil, da ist mir ein sauberes C oder C++ lieber. und 2. Die Anzahl der Updates der Plattform und der spärliche Support bei Problemen seitens DC ist auch far away von geil. Stichwort: C++ | siehe CapTrader Quote Link to comment Share on other sites More sharing options...
Vola Posted April 6, 2011 Report Share Posted April 6, 2011 sehe ich auch anders. da haben wir andere Erfahrungen!!! aber das ist wohl ein anderer Thread.Au ja, Interesse ist sicher vorhanden !Trau dich Quote Link to comment Share on other sites More sharing options...
CFuture Posted April 6, 2011 Report Share Posted April 6, 2011 Hi Ecart, ich habe bisher mal Strategien vom Strategy-Contest versucht laufen zu lassen. Dass dies auf meiner Workstation so lange dauerte habe ich auf die Ladezeit der History-Daten geschoben und dass Java mehr Rechenzeit braucht. Die Strategien aus dem Contest selbst sind ja nicht so komplex, MAs, BB.., soweit mir bekannt. Das mit "231 Kombinationen" habe ich nicht wirklich verstanden (und muss leider auch gestehen Deine Arbeiten noch nicht intensiv gelesen zu haben, finde ich aber sehr interessant).. Intermarkets, Versuch eine funktionierende Strategie für die jetzige Marktsituation automatisch aus zu wählen, Timeframe-Filter, Anwendung der Strategien für verschiedene Timeframes mit automatisch angepasstem Moneymanagement, neuronale Netze (KI?), keine Ahnung. 1Gb sind natürlich wenig RAM, wenn sonst noch was auf der Maschine läuft schaufelt die HD mehr als die Xeons rechnen. Ich habe mich mit Automatisierungen bisher nicht tiefer beschäftigt weil Hedgefonds da eine enorme Manpower mit Informatiker/Mathematikerteams, dauernden Anpassungen und geschulter 24/6 Livebeaufsichtigung reinstecken. Mir sind auch nicht die Handelsmarken der Smartmoney-Riesen bekannt, z.B. EMA200?, so dass man solche Handelssysteme wenigstens nachbilden kann. Dazu meine ich auch, das der Algo ja auch unterscheiden können muss zwischen den verschiedenen Marktphasen und in diesen vielleicht sogar verschiedene Timeframes, es gibt ja überall Möglichkeiten. Mir ist auch bekannt, dass z.B. Reuters maschinenlesbare News anbieten, die man halt nur mit entsprechenden, erfahrenen Programmierern in einen Algo einfliessen lassen kann, um mindestens mal den Algo abzuschalten oder auch zu versuchen mal schnell News mitzutraden. In wie weit das bei Sitzungen von Zentralbanken mit nebulösen Aussagen funktioniert.. Ist ja schon manuell schwer zu bewerten. Bei diesem Aufwand gibt/gab es auch immer mal monströse Verluste bei absoluten Vollprofis, wie http://de.wikipedia.org/wiki/Long-Term_Capital_Management, Zentralbanken ganzer Länder. Mit technischen Tricks/schnellem Zugang und Insiderwissen über das stupid money, Ordebuch/Darkpools, "Unternehmensberatung" wichtiger Länder, etc. machen die Algos z.B. von Goldman jeden Tag zuverlässig ein paar hundert Millionen. Und ja, selbst die Riesen konnten bisher ohne technische Tricks/mit normalem Trading/Algos nur mit Hilfe der Steuerzahler/Staatsverschuldung gerettet werden?! Der heilige Gral scheint da selbst bei diesen Institutionen (noch) nicht gefunden zu sein. Auf jeden Fall bin ich bei solchen Überlegungen noch nicht so weit. Hält mich bisher auch davon ab meine Handelsideen irgendwie zu programmieren. Mein Traum bisher wäre vielleicht jeweils zur Marktphase den "richtigen" Algo auswählen zu können um sich von sonstiger Subjektivität zu verabschieden. Vielleicht liegt es wirklich am Java und der Kursversorgung sowie dem Arbeitsspeicher.Aus eigener Erfahrung berichte ich dann mal in einigen Jahren. :) Viele Grüße CFuture 1 Quote Link to comment Share on other sites More sharing options...
Roy Awesome Posted April 7, 2011 Report Share Posted April 7, 2011 Kenn JForex nicht, aber am meisten bringt parallelisiern. Ich nehme mal an, die Software unterstützt kein Grid-Computing, aber man kann trotzdem die Optimierungsfälle auf mehrere Rechner aufteilen, oder, falls möglich, mehrere Instanzen der Software mit den jeweiligen Optimierungsfällen auf einem Rechner mit Multicore CPU laufen lassen. Man muss die Reports dann halt zusammen kleistern. Z.B. Neoticker unterstützt das von Haus aus. Ist recht nett, wenn man n Rechner hat, beschleunigt sich die Berechnung auch tatsächlich um den Faktor n. Ansonsten hilft nur den Code optimieren. Alles Unnötige radikal ausmisten, und nochmal durchdenken, ob es nicht eine einfachere Lösung gibt. Kann auch Wunder wirken. Quote Link to comment Share on other sites More sharing options...
Henrik Posted April 7, 2011 Report Share Posted April 7, 2011 Habe 8 GB RAM Arbeitsspeicher, einen Intel i5-2500 (3,4 GHz) und sonst auch nur leistungsfähige Hardware im Rechner verbaut, aber bei einem aufwändigem EA läuft selbst mein Rechner im Schneckentempo. Nutze zwar MT4 aber ich denke, dass JForex da nicht viel anders ist. Die durchschnittliche CPU Auslastung liegt bei 25% (er hätte also noch Ressourcen) Du hast also 4 Kerne :-)Was man für Anwendungen wie MT4 oder JForex brauch ist eine CPU mit möglichst wenig Kernen, dafür umso mehr Leistung pro Kern. Aber in der Hardwarekonstellation lohnt es sich trotzdem nicht eine andere CPU einzubauen....Die Anwendungen können nur einen Kern nutzen, da ist das Problem. Das ist der Vorteil von MT5, MultiCharts, NinjaTrader etc, die können die gesamte Rechenpower nutzen. Im Beispiel wäre der Backtest dann praktisch 3x so schnell, da die anderen Kerne dann mitbenutzt werden. Quote Link to comment Share on other sites More sharing options...
substanz Posted April 7, 2011 Report Share Posted April 7, 2011 Ohne selbst schon meine Algos im Backtest beobachtet zu haben vermute ich auch, das es am Laden der Historie-Daten liegt (also langsamer Festplattenzugriff in Kombination mit wenig RAM). Die reine Berechnung bringt moderne Prozessoren eher nicht ins schwitzen. Quote Link to comment Share on other sites More sharing options...
Henrik Posted April 7, 2011 Report Share Posted April 7, 2011 Ohne selbst schon meine Algos im Backtest beobachtet zu haben vermute ich auch, das es am Laden der Historie-Daten liegt (also langsamer Festplattenzugriff in Kombination mit wenig RAM). Die reine Berechnung bringt moderne Prozessoren eher nicht ins schwitzen. Flaschenhals ist bei Optimierungen/Backtests immer die Prozessorleistung. RAM und Plattengeschwindigkeit ist nebensächlich. Quote Link to comment Share on other sites More sharing options...
Mythos Posted April 7, 2011 Report Share Posted April 7, 2011 Die Anwendungen können nur einen Kern nutzen, da ist das Problem. Das ist der Vorteil von MT5, MultiCharts, NinjaTrader etc, die können die gesamte Rechenpower nutzen. Nun ja. Man muss sich nur zu helfen wissen. Wenn man zB eine klassische Optimierung durchlaufen lässt die alle Varianten rechnen soll, dann wählt man sich einen der zu optimierenden Parameter, teilt den Bereich in Teile auf. Und lässt jeden Teil separat in einem MT rechnen. Jeder MT nutzt einen vollen Kern. Auswerten muss man es dann eh extern und zusammenkopieren is ja nit die Tragik. Ohne selbst schon meine Algos im Backtest beobachtet zu haben vermute ich auch, das es am Laden der Historie-Daten liegt (also langsamer Festplattenzugriff in Kombination mit wenig RAM). Die reine Berechnung bringt moderne Prozessoren eher nicht ins schwitzen.Kommt drauf an wie intelligent es gemacht ist. Wenn man über 1000000 bars optimiert und der Algo bei jedem Durchlauf die gesamte History neu lädt, dann wirds da eng ja. (btw. ich glaub bei einem misslungenen Update hat das MT mal bei mir ne zeitlang gemacht, da is die RAM-Nutzung mit jedem Durchlauf um 2 MB angewachsen)Aber mit halbwegs intelligenter Datenstruktur liegt es rein an der Rechenpower. Wer will kann sich ja mal die Arbeit machen und die Laufzeit seines Algos pro Tick ausrechnen (also die nötigen Flops)... Dann wundert einen nichts mehr. Quote Link to comment Share on other sites More sharing options...
CFuture Posted April 7, 2011 Report Share Posted April 7, 2011 Habe eben mal mit der aktuellen Jforex-Version ein paar Strategien durchgetestet. Ist HD und CPU-intensiv, CPU limitiert die maximale Geschwindigkeit. Kann man schön mit den Geschwindigkeitseinstellungen des Strategietesters ausprobieren, beim Core2Duo werden beide CPUs voll ausgelastet. Ich denke mal es liegt am Java und eventuell der Art der Programmierung, andere Plattformen sind wirklich schneller. Viele GrüßeCFuture Quote Link to comment Share on other sites More sharing options...
Nelly1966 Posted April 7, 2011 Report Share Posted April 7, 2011 Du hast also 4 Kerne :-)Was man für Anwendungen wie MT4 oder JForex brauch ist eine CPU mit möglichst wenig Kernen, dafür umso mehr Leistung pro Kern. Aber in der Hardwarekonstellation lohnt es sich trotzdem nicht eine andere CPU einzubauen....Die Anwendungen können nur einen Kern nutzen, da ist das Problem. Das ist der Vorteil von MT5, MultiCharts, NinjaTrader etc, die können die gesamte Rechenpower nutzen. Im Beispiel wäre der Backtest dann praktisch 3x so schnell, da die anderen Kerne dann mitbenutzt werden. Darum hat er auch nur 25% der vorhandenen Kernressourcen genutzt, aha (4x 25% = 100%). So ein Mist, da kauft man sich ne neue Maschine & die Software kann diese nicht (richtig) nutzen ... Danke trotzdem für Deine Antwort! LG Nelly Quote Link to comment Share on other sites More sharing options...
Ecart Posted April 7, 2011 Author Report Share Posted April 7, 2011 Das mit "231 Kombinationen" habe ich nicht wirklich verstanden (und muss leider auch gestehen Deine Arbeiten noch nicht intensiv gelesen zu haben, finde ich aber sehr interessant). Siehe Screenshot => nur ein 'kleiner' Auszug der Indikatoren. Noch ~ 18 Stunden = 35 % Restlaufzeit Quote Link to comment Share on other sites More sharing options...
Henrik Posted April 7, 2011 Report Share Posted April 7, 2011 Nun ja. Man muss sich nur zu helfen wissen. Wenn man zB eine klassische Optimierung durchlaufen lässt die alle Varianten rechnen soll, dann wählt man sich einen der zu optimierenden Parameter, teilt den Bereich in Teile auf. Und lässt jeden Teil separat in einem MT rechnen. Jeder MT nutzt einen vollen Kern. Auswerten muss man es dann eh extern und zusammenkopieren is ja nit die Tragik. Ich hab das einmal gemacht, eine Optimerung aufgeteilt. Nie wieder. Ist einfach unpraktikabel, man hat so schon genug zu tun die Daten zu organisieren. Quote Link to comment Share on other sites More sharing options...
CFuture Posted April 7, 2011 Report Share Posted April 7, 2011 (edited) Hi Ecart, alles klar, vielen Dank. Beschäftige mich gerade mit den Strategien von http://www.dukascopy.com/swiss/english/forex/jforex/forum/viewtopic.php?f=8&t=15573 http://www.jforexstrategy.com/scalper/JForexStrategy_scalper_v6.jfxhttp://www.jforexstrategy.com/ http://www.jforexstrategy.com/jforexrobot.com/jfx/JForexRobot_awe_V1.jfxhttp://www.jforexrobot.com/ Viele GrüßeCFuture Edited April 7, 2011 by CFuture Quote Link to comment Share on other sites More sharing options...
Ecart Posted April 7, 2011 Author Report Share Posted April 7, 2011 Hi CFuture, und wenn die mal Zeit hast schau die diese hier an...13 Währungspaare gleichzeitig. Quote Link to comment Share on other sites More sharing options...
Mythos Posted April 7, 2011 Report Share Posted April 7, 2011 Ich hab das einmal gemacht, eine Optimerung aufgeteilt. Nie wieder. Ist einfach unpraktikabel, man hat so schon genug zu tun die Daten zu organisieren.Dafür hast dann ja auch die gesparten 3 Tage Zeit ;)Im Ernst: ich versteh dich. Ich bins möglicherweise mehr gewohnt Daten zu organisieren oder hab einfach zuviel "freie" Zeit ;). Für mich is es nur ein, "Alles kopieren"->In Excel dazufügen und du hast die gesamte Tabelle. Die Auswertung läuft dann eh dort. Der Aufwand zahlt sich natürlich nur aus, wenn man sich mindestens 20 Stunden spart ;) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.