difference de fonctionnement entre probacktest et papertrading

Forums ProRealTime forum Français Support ProOrder difference de fonctionnement entre probacktest et papertrading

  • This topic has 10 replies, 3 voices, and was last updated 9 months ago by avatarapi.
Viewing 11 posts - 1 through 11 (of 11 total)
  • #217905
    api

    Bonjour,

    c’est mon 1er post sur le forum et c’est egalement ma 1ere programmation probuilder autotrading sur PRT. J’ai donc developpé un programme qui fonctionne sur GOLD SPOT

    5mn , que j’ai testé sur l’historique max dispo avec mon abonnement soit env 9 mois et mon prog donne de bons resultats  . Je l’ai donc passé en papertrading cette semaine lundi matin et la grosse surprise , le papertrading se comporte de facon assez differente du probacktest,

    le proorder a notamment declenché des ordres qui n’apparaissent absolument pas dans le probacktest .. ??!!!  Comment cela est il possible sachant que le code est le meme dans les 2 cas ? Apparemment il y a quelque chose qui m’a echappé ..

    Pour info j’ai aussi envoyé un rapport au support PRT mais pas encore de reponse pour le moment .. apparemment ils ont d’autres pbs a traiter avant de s’occuper du mien

    Toute aide sera la bienvenue …

    Merci

    API

    #217915

    Sans avoir lu le code, je ne pourrai me prononcer avec certitude, mais voici une liste non exhaustive des choses à prendre en considération pour comparer un backtest avec une version temps réel d’un code :

    1. Spread
    2. Slippage
    3. Les rejets d’ordres pour l’une des raisons susmentionnées, mais aussi en raison de la distance autorisée entre le prix actuel et les ordres en cours (appelée “distance minimale”)
    4. Horaires de négociation différents (code ProOrder lancé dans un fuseau horaire différent / horaires personnalisés, par l’utilisateur)
    5. Problème de codage : division par zéro erreur, périodes nulles ou négatives pour les indicateurs, …
    6. Manque de réactivité des serveurs de démonstration de IG (si IG est le courtier).
    7. Faire des backtests sans option tick-by-tick
    8. l’instruction “set stop trailing” qui donne à IG le contrôle total de votre stoploss, peut être déplacée différemment entre les comptes en raison des points ci-dessus
    9. Les comptes à risque limité et leurs règles
    10. Règles et frais des stops garantis
    11. Option de réajustement des stops activés ou non
    12. Démarrage d’une stratégie à un moment différent (1 heure ou même 1 minute plus tard): selon le code de la stratégie, les résultats de certains calculs pourraient être différents
    13. Marge requise sur le compte de trading (aucun tests n’est fait à ce propos en démo ou en backtest)
    14. Ajustement automatique des ordres stop cochés ou non lors du lancement de ProOrder
    15. Frais overnight et overweekend
    16. Différence de taille de contrat entre les backtests et le live
    Comme les backtests/démo sont testés que sur l’historique *sans lien avec le marché réel*, vous pouvez rencontrer des différences avec l’environnement de trading réel.
    1 user thanked author for this post.
    avatar api
    #217925
    api

    merci Nicolas , houla 16 points ca fait beaucoup de choses a verifier et je n’ai pas suffisamment d’experience/ connaissances pour analyser tout ceci . Je pensais que la bonne execution du probacktest sur une serie de tests suffisait pour passer en reel , apparemment c’est loin d’etre le cas …

    Comme je ne prefere pas communiquer mon code en clair sur le forum je vais attendre la reponse du support PRT a qui j’ai envoyé un rapport detaillé . En esperant qu ‘ils repondent assez vite …

    merci encore et bonne journee ,

    Alain

    #217937

    Utilises tu des ordres au marché ou des ordres conditionnels type STOP / LIMIT ?

    Par ailleurs, je pense que le point 12 pourrait peut être t’aider à revérifier, en lançant le backtest à la même heure où tu as lancé ton ProOrder.

    #217965
    api

    Bonsoir ,

    En fait j’ai progressé sur l’analyse du pb . En résumé ca se passe plutot bien et proorder execute bien les ordres d’entree et de sortie de position que mon robot lui envoie. Pour info j’ai paramétré une quantite de 100 par lot soit 1$ par pip ( GOLD SPOT  ) . Le souci c’est que d’autres  ordres semblent declenchés intempestivement par proorder , ces ordres sont toujours avec une quantité de 1  .

    J’ai joint un screenshot de mon ecran sur le deroulement de la journee du 17 juillet .

    • A gauche le probacktest avec le fonctionnement normal , soit une entree short(croix orange ) a 14h25 quantité 100, puis une sortie ( croix bleue ) a 16h05. La pas de pb
    • A droite le papertrading avec les ordres intempestifs quantité 1 entourés au crayon sur le screenshot ( fleche orange a 14h25 , croix verte a 1445 ,fleche verte a 1700 , croix rouge a 1735 ),je me demande bien ce qui les declenche….  Ceci dit ils n’ont apparemment pas d’influence sur les gains mais ca fait désordre ..

    Sinon voila les ordres que je passe dans le robot  :

    • ouverture de position :

    BUY 1 LOT AT MARKET
    SET STOP %LOSS stopdelta

    ou pour un short :
    SELLSHORT 1 LOT AT MARKET
    SET STOP %LOSS stopdelta

    • fermeture de position :

    SELL AT MARKET
    ou pour un short :
    EXITSHORT AT MARKET

    Voila , bonne soiree et merci encore pour ton aide ..

    Alain

     

    #217976

    Une croix est une sortie de position (hors takeprofit / stoploss) et initié par le code. A mon avis, la version qui tourne sous ProOrder n’est pas la même que tu backtest. Si tu modifies un code ProBacktest, la version qui tourne déjà sous ProOrder ne sera modifié, c’est une version compilée indépendante.

    Il faudrait commencer par comparer ces versions.

    #217981
    api

    Oui il y a surement une difference de code entre le backtest et le proorder , mais comment faire pour aligner les 2 ? Et comment faire pour comparer ces 2 versions ? Moi je pensais qu’il suffisait de stopper et redemarrer mon robot pour que celui prenne en compte d’eventuels changements de code probuilder du robot effectués entre temps . D’ailleurs il n’y a pas d’explication sur la facon de gerer les changements de code autotrading dans la doc de reference PRT , ou bien j’ai raté qque chose …

    Alain

    #217986

    Dans l’interface de ProOrder, il est noté la date de version de ce code. Il faut bien comprendre qu’une stratégie ProOrder est une instance créée à partir d’un code source, ça n’est plus le même code dés lors qu’une modification aura lieu dans l’éditeur de code (ProBacktest): (voir image jointe, si on clique sur la date, on voit le code de cette instance).

    Donc même si cette instance est arrêté et redémarré, alors il n’y aura aucune différence avec son précédent lancement.

    C’est logique, sinon on ne pourra pas gérer le versioning de ses propres développements, et c’est aussi une sécurité.

    Pour lancer une nouvelle version d’un code, il faudra cliquer sur “préparer pour le trading automatique”.

    1 user thanked author for this post.
    avatar api
    #218133

    Bonjour Nicolas, pouvez-vous me donner un exemple de l’erreur que j’ai pu faire à l’étape 4 ? Je vous remercie beaucoup

    #218220

    Je ne sais pas si il s’agit de la même personne @api et si la demande concerne bien ce sujet. Si oui, l’étape 4, ce serait :

    4/ Horaires de négociation différents (code ProOrder lancé dans un fuseau horaire différent / horaires personnalisés, par l’utilisateur)

    Lors de l’envoi vers ProOrder, le code utilisera celui du graphique courant et la version ProOrder utilisera celui ci pour toujours, même si on change les horaires personnalisées par la suite de son graphique. Donc si on observe un backtest sur un graphique différent (puisque horaires perso différent) et qu’on le compare avec la version ProOrder lancé auparavant, alors on aura sans doute des différences notables.

    #218281
    api

    Bonjour Nicolas

    non ce n’est pas moi (API- Alain )  il s’agit d’une autre personne ( aragorna ) qui apparemment a eu lui aussi une divergence entre probacktest et papertrading

    Sinon en ce qui me concerne le pb semble avoir disparu , je n’ai plus retrouvé cette erreur d’autotrading ( ordres intempestifs passés par proorder ) apres avoir modifié mon code ( pour d’autres raisons ) et veillé a bien cliquer sur “Preparer pour le trading automatique” avant de lancer le proorder papertrading.

    Ceci dit mon robot n’a que qques heures “de vol” , et je dois le faire tourner plus longtemps ( au moins qques jours )  pour en etre sur et certain ..

    Bon WE

    Alain

     

Viewing 11 posts - 1 through 11 (of 11 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login