Dukascopy
 
 
Wiki JStore Search Login

J’aimerais bien savoir
 Post subject: J’aimerais bien savoir Post rating: 0   New post Posted: Thu 06 Feb, 2014, 13:23 
User avatar

User rating: 0
Joined: Thu 02 Jun, 2011, 12:21
Posts: 15
Location: Uruguay, Punta Del Este
Bonjour à tous et merci à l’équipe Ducascopy pour cet excellent outil visual, je connais bien ce type d’outil pour avoir programmé de grosses applications dans l’industrie. Comme tous ces outils cela facilite énormément la programmation mais revers de la médaille cela génère beaucoup de code (on ne peut pas tous avoir). Je programme aussi sans problème des stratégies en java et parfois j’engrange quelques gains avec le concours stratégie. J’ai deux questions.
Que se dit-il dans le milieu « Si tu sais programmer en java reste en java pour X raisons «
ou « laisse tomber ce java et passe à visual pour X raisons «

En pratique, le test historique est-il plus rapide avec une application écrite en code java traditionnel ou avec le code java générer par Jforexvisual ?

Amicalement Richard depuis L’Uruguay


 
 Post subject: Re: J’aimerais bien savoir Post rating: 0   New post Posted: Fri 07 Feb, 2014, 11:42 
Site Administrator
User avatar

User rating:
Joined: Fri 21 Jun, 2013, 16:50
Posts: 197
Location: FranceFrance
Ben...

C'est a vous de voir.

En général, Visual JForex c'est plus pour les traders que pour les programmeurs.

C'est un outils qui permet aux traders de faire des stratégies automatisée sans avoir a passer des années a apprendre JAVA.


 
 Post subject: Re: J’aimerais bien savoir Post rating: 0   New post Posted: Wed 11 Feb, 2015, 09:56 
User avatar

User rating: 0
Joined: Wed 24 Oct, 2012, 17:12
Posts: 20
Location: France, Paris
Bonjour, je pense avoir compris le sens de la question. Il est en effet très pénalisant d'utiliser le testeur historique car en mode visuel, il est très très lent. N'y a t-il pas un moyen d'accélérer ce testeur ? Cela vaut également pour l'outil myOfflineTrade...


 
 Post subject: Re: J’aimerais bien savoir Post rating: 0   New post Posted: Wed 11 Feb, 2015, 15:26 
Visual JForex expert at Dukascopy
User avatar

User rating: 288
Joined: Thu 18 Apr, 2013, 09:26
Posts: 1496
Location: Switzerland, Geneva
Bonjour;

D'abord je ne penses pas que la longueur du code est un élément déterminant de la vitesse du testeur historique. Ce dernier dépend surtout de "l'engin" ou module qui collecte les données historique et les déroule en appliquant les conditions demandées du code.
Techniquement, le testeur historique de Visual est un module extrait de Jforex et puise dans la même source de données historique (flux marché)/ quant à sa vitesse, elle est ralentie par l'aspect visuel de l'interface flash qui affiche le déroulement du test et bien plus encore.
Vous pouvez tester votre stratégie sous Jforex bien évidement (en exportant le code)
Par contre il évident que les moyens de débogage de Visual sont beaucoup plus intéressantes via l'aspect visuel du flux à travers les conditions (une vue d'ensemble permet de voir où ça bloque par exemple) ou l'affichage rapide des variables dynamiques en les glissant sur l'espace de travail.
Nous travaillons sur l'optimisation de ce produit pour améliorer entre autre la vitesse du back-testing.


 
 Post subject: Re: J’aimerais bien savoir Post rating: 0   New post Posted: Wed 11 Feb, 2015, 15:44 
User avatar

User rating: 0
Joined: Wed 24 Oct, 2012, 17:12
Posts: 20
Location: France, Paris
Merci Amine pour cette réponse qui nous éclaire sur le sujet.

Tout cela est trop lent, pourtant avec 8Go de RAM et un quadriprocesseur avec hyperthreading activé, je suis obligé de me passer du mode visuel et de travailler à la main.

J'ajoute les éléments suivants concernant les backtests historiques :

- Que que soit l'outil utilisé (Visual Jforex ou sur la plateforme Jforex), les stratégies sont trop lentes à dérouler en mode visuel.
- Cette lenteur dépend très peu de la longueur du code, que ce soit codé en dur en java ou avec Visual Jforex
- Toujours en mode visuel, plus les unités de temps sont longues, plus c'est fastidieux, pour ne pas dire rédhibitoire.
- C'est encore plus long si la stratégie utilise copieusement la méthode OnTicks
- J'ai essayé de passer par un backtest manuel via myOfflineTrades. C'est pareil, et donc rédhibitoire surtout avec des unités de temps longues.

Quand je dis rédhibitoire, je pèse mon mot, et je sens que je vais être obligé de passer sur une autre plateforme, ce qui est dommage.

N'y a t-il pas moyen dans le code de supprimer d'éventuels temps d'attente d'affichage (instructions de type sleep()), que ce soit dans myOfflinesTrades ou le backtesteur dans Jforex ?


 
 Post subject: Re: J’aimerais bien savoir Post rating: 0   New post Posted: Wed 11 Feb, 2015, 16:35 
Visual JForex expert at Dukascopy
User avatar

User rating: 288
Joined: Thu 18 Apr, 2013, 09:26
Posts: 1496
Location: Switzerland, Geneva
De rien!
Quelques éléments de réponses:

Quote:
- Toujours en mode visuel, plus les unités de temps sont longues, plus c'est fastidieux, pour ne pas dire rédhibitoire.

Quote:
- C'est encore plus long si la stratégie utilise copieusement la méthode OnTicks


C'est vrai mais il y a des moyens de contourner cette lenteur:
- Couper les tests en plusieurs tests de moyenne durée sachant que le maximum recommandé pour un test historique est 1 année
- Utiliser l'interpolation des données historiques disponible à chaque lancement de test historique: Par defaut c'est la methode par ticks qui est appliquée mais l'utilisateur a le choix pour changer ceci en fonction des données input de sa stratégie. L'exemple le plus courant observé: si la stratégie utlise comme données input les OHLC sur une période donnée, il est parfaitement inutile de la tester en appelant tous les prix (interpolation sur les ticks) et donc je choisirai l'option OHLC basée sur ma période trading.
- Optimiser le code de la stratégie en réfléchissant sur le réel besoin d'utilisation du start "OnTick". J'opte toujours pour une utilisation "OnCandle" et si j'ai besoin d'avoir plus de données de prix je travaille sur des bougies de 10 secondes --> Ma stratégie reste sur les bougies et je focalise sur les prix BID/ASK par exemple au lieu de rapatrier chaque tick.
En condition de mouvement rapide des marchés (front run), même un automate sera obligé de "zapper" des ticks pour prioriser le temps réel compte tenue des caractéristiques techniques du terminal qui l’héberge (Serveur Vs ordinateur de bureau / qualité, type et latence de la Connexion / et bien d'autres choses qui m’échappent !)
- Nous somme entrain d'améliorer la plateforme Jforex y compris son engin de test historique et nous vous demandons un peu de patience :)


 

Jump to:  

  © 1998-2024 Dukascopy® Bank SA
On-line Currency forex trading with Swiss Forex Broker - ECN Forex Brokerage,
Managed Forex Accounts, introducing forex brokers, Currency Forex Data Feed and News
Currency Forex Trading Platform provided on-line by Dukascopy.com