indicateur sur ratio trade gagnant

Forums ProRealTime forum Français Support ProBuilder indicateur sur ratio trade gagnant

Viewing 2 posts - 1 through 2 (of 2 total)
  • #206255

    Bonjour,

    J’aimerais créer un indicateur qui me permets de créer une moyenne mobile sur mes trades gagnant/perdant

    Nombre de trade gagnants divisé par nombre de trade total sur une période donnée.

    Je n’arrive pas à faire ceci.

    Quelqu’un aurait une piste ?

     

    Excellente journée à tous

    #206278

    Bonjour,

    Les éléments ci-dessous correspondent à du backtest. Je ne vois pas pourquoi ils ne fonctionneraient pas en ProOrder

    Si vous tradez un seul instrument, cela parait possible. Ma proposition est

    • de calculer à la cloture de chaque trade (et ceci même si vous faites des ventes partielles, la clôture étant considérée comme la sortie de la position complete) le profit net du trade considérer. Pour cela il faut enregistrer manuellement les différentes ordres (sens, nombre de titres, et prix d’éxécution) et calculer le profit/perte final. Dans le cas où vous ne vous intéressez q’u % de trades gagnants, il suffit de définir 0 pour un trade perdant, 1 pour un trade gagant
    • Stocker la valeur dans une pile, ou plus simplement dans un tableau des dernières valeurs de profit, par exemple sur 20 valeur, un tableau de 20 positions
      • il faut empiler la pile, c’est à dire recopier tous les éléments en les décalant d’un cran vers le haut
      • mettre la derniere valeur calculée en position 0
    • si vous souhaitez utiliser une période précise,
      • il faut utiliser 2 tableaux de pile, l’un pour les dates de fermeture, l’autre pour les valeurs de Profit/Perte, la taille des piles devra être ajustée par tatonnement en fonction de la fréquence de vos trades.
      • Il est conseillé de dimmensionner largement les piles, par exemple doubler le nombre d’éléments par rapport aux nombre d’évènements attendus dans la pile
      • Définir dans la pile des dates le nombre  d’enregistrements correspondant à votre période, par exemple NbVentesPeriode
      • Calculer à partir de la pile des Profit/Perte la valeur moyenne des NbVentesPeriode premiers éléments ou le pourcentage de trades gagnant
    • Vous pouvez utiliser la valeur moyenne ci-dessus, pour dimensionner votre trade suivant en fonction de votre stratégie.
    • Attention, il ne faut pas utiliser ls valeurs brutes de Profit/Vente dans la pile, mais une valeur normée, c’est à dire se rapportant toujours au cas de base
      • A titre d’exemple, si vous avez un profit de 10 en utilisant dans votre stratégie un coefficient de 0,25 pour ce trade, il ne faut pas stocker 10 dans la pile des ventes mais 40, qui correspond au résultat du trade normé

    Si vous voulez trader plusieurs instruments, je ne crois pas que ProRealTime dans la ou les versions actuelles vous permettent de résoudre ce problème (du moins pas avec la version minimale de ProREalTime). Pour ma pat, je réalise ce genre de travaux avec un programme mixte ProRealTime et un programme Personnel en Visual Basic, et je n’ai pas la solution pour du ProOrder, cela supposerait que vous pourriez introduire une variable extérieure dans la stratégie de définition des ordres. Pour ma part, la séquence utilisée pourune simulation de Portefeuille sur environ 800 titres et 10 ans en daily

    • Backtester la stratégie sur chacun des titres avec une Position nominale (par exmple risque de 600 Euros par position pour un captial intial de 100 000 Euros)
    • Enregistrer toutes les positions (pour chaque titre, donnée dans le rapport détaillé du backtest)
    • Classer tous les trades dans un ordre chrnonlogique de position d’ouverture
    • Introduction de la base de données de trades dans un programme Visual Basic (environ 200 heures de travail, 3000 lignes de codes, et ce n’est pas completement fini, mais j’obtiens les premiers résultats)
    • Le programme execute les étapes suivantes
      • Relecture de chaque ordre, au début on n’a logiquement que des ordres de prise de position
        • Décision si en fonction des règles de Money Management et du capital disponible (non investi) si le trade peut être pris ou non
        • si non, on passe au trade suivant
        • Si oui,
          • réalisation du trade en appliquant les conditions de money management
          • on stocke dans la base de données ci dessus les différentes positions (ventes partielles ou totale pour un trade long)
      • Si c’est pour un système long, un ordre de vente, il est automatiquement exécuté et le résultat normé (c’est à dire recalculé avec un Coef de MoneyManagmeent de 1)est pris en compte dans la pile Profit/Perte
      • Classement après le traitement de chaque ordre de la base de données par ordre chronologique
        • Suppression de l’élément traité (le bas de l’élément de la base de données)
        • Pour chaque jour, on classe d’abord les ordres d’entrée en position et ensuite les ordres de sortie de position (ces derniers éléments vont générer du cash, mais il ne sont encaissés qu’en fin de journée)
        • Si le dernier ordre traité est un ordre de sortie (ou de clôture de position selon la stratégie), on actualise le coefficient de Money Management pour les prises de positions futures

    Je crains que les explications ci-dessus ne soient un peu confuses, mais c’est le seul moyen que j’ai trouvé pour le traitement d’un protefueille complet. Je précise qu’actuellement, le programme développé ne fonctionne que pour des positions longues.

    Si vous tradez sur un seul instrument (1ère partie de ce mail) et que vous dévoilez votre code ainsi que vos souhaits dans le Money Management, c’est à dire comment vous voulez utiliser le moyenne de trade gagnants sur une période considérée, ainsi que le titre utilisé pour la simulation, je suis disposé à regarder si je eux compléter votre code pour prendre en compte votre pourcentage de trades gagnants selon votre stratégie

     

    Bons trades et revenez vers moi pour de plus amples explications

     

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

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