Besoin d'aide sur sortie fractionnée

Viewing 15 posts - 1 through 15 (of 16 total)
  • Author
    Posts
  • #52292 quote
    demettra
    Participant
    New

    Bonjour,

    J’aurais besoin d’aide pour écrire un code pour la situation suivante :

    Je souhaite acheter 4 contrats si la condition c1 est remplie (disons par exemple si le prix franchit à la hausse la MM20).

    Ensuite je souhaite vendre 1 contrat tous les 5 points : donc 1 contrat à 5 points, 1 autre contrat à 10 points et 1 autre contrat à 15 points. Le dernier contrat sera vendu lorsque le prix franchira à la baisse la MM20.

    Pourriez-vous svp me donner un coup de main car pour l’instant je n’arrive pas à coder ça.

    Merci.

    #52294 quote
    Nicolas
    Keymaster
    Master

    Désolé mais les sorties partielles ne sont pas possible en trading réel avec ProOrder, on peut toutefois le coder pour que ça fonctionne en paper trading avec ProBacktest .. mais ça reste du trading fictif dans ce cas..

    #52296 quote
    demettra
    Participant
    New

    Merci pour votre réponse rapide!

    Oui, même en paper sera intéressant pour pouvoir tester des stratégies, donc oui le code m’intéresse.

    Dans ce cas, pour le trading réel, il n’y a aucune possibilité de le faire fonctionner (par exemple on achète 4 fois 1 contrat…) ?

    Merci.

    #52317 quote
    Nicolas
    Keymaster
    Master

    Non cette solution ne fonctionnera pas non plus, les objectifs individuels affecteraient l’ensemble des positions quoi qu’il arrive.

    #52403 quote
    demettra
    Participant
    New

    D’accord. Dans ce cas pourriez-vous me donner un coup de main pour le coder pour le ProBacktest. Au moins je pourrai tester des stratégies.

    Merci.

    #52468 quote
    demettra
    Participant
    New

    Et j’aurais aussi un deuxième souci : je souhaite coder “le pullback” par rapport à la même MM20. J’ai réussi plus ou moins à le coder, mais le souci c’est que je souhaiterais que le code “filtre” les périodes où la MM20 est plate et donc le setup nul, car dans ce cas ce n’est pas un pulback. Je souhaiterais que le setup soit validé uniquement si la MM20 est ascendante ou descendante (si elle a une certaine pente). Est-il possible d’intégrer ce type de filtre dans le code?

    Merci.

    #52503 quote
    Leo
    Participant
    Veteran

    Un idée, ce possible activier 4 stratégies mais chaque’un avec le même condition pour entrer mais different conditions pour sortir? Ou c’est trop compliqué ?

    demettra thanked this post
    #52514 quote
    Nicolas
    Keymaster
    Master

    Un idée, ce possible activier 4 stratégies mais chaque’un avec le même condition pour entrer mais different conditions pour sortir? Ou c’est trop compliqué ?

    Pas si compliqué, c’est d’ailleurs une solution qu’on propose dans ce cas de figure, merci de nous le rappeler Leo.

    Concernant la demande de @demettra, voilà le code qui devrait fonctionner (en backtest uniquement donc):

    defparam cumulateorders=false
    
    c1 = close crosses over average[20]
    
    if c1 and not longonmarket then 
    buy 4 contracts at market 
    lastprice=close
    endif 
    
    if longonmarket then 
    if close-lastprice>=5*pointsize then 
    sell 1 contract at market
    lastprice=close
    endif
    endif
    demettra thanked this post
    #52519 quote
    demettra
    Participant
    New

    Merci pour le code et le backtest!!! Et merci a Leo pour son idée.

    Donc l’idée sera de programmer en réel 4 algos différents avec la même condition d’entrée et des conditions de sortie différentes (5, 10, 15 points) et les faire fonctionner en même temps? C’est une très bonne idée je pense.

    Et concernant ma deuxième question, est-il possible de programmer un pullback par rapport à la même MM20 et d’intégrer dans le code un filtre  qui valide le setup uniquement quand la MM20 est ascendante (quand elle a une certaine pente) et qui invalide le setup si la MM20 est plate: donc on achète 1 contrat sur un pullback (uniquement si la MM20 est ascendante)?

    Merci.

    #52528 quote
    Nicolas
    Keymaster
    Master

    Merci de définir “une certaine pente” et “est plate”, afin de pouvoir le coder.

    #52533 quote
    demettra
    Participant
    New

    Je ne sais pas trop comment definir la pente, en tout cas le setup est validé uniquement si la MM20 est ascendante (si elle monte). La MM20 plate est une MM20 horizontale.

    #52536 quote
    demettra
    Participant
    New

    Peut-être on peux définir la pente de la MM20 de la manière suivante: un angle supérieur à 20 degrés…?

    #52539 quote
    Nicolas
    Keymaster
    Master
    #52540 quote
    demettra
    Participant
    New

    Ah merci beaucoup!!!

    #52547 quote
    JC_Bywan
    Moderator
    Master

    Certes c’est compréhensible (et ce n’est pas un reproche), quand on est nouveau membre on n’a pas l’occasion de relire tout le forum depuis le début, ou plutôt “les” forums car souvent on a apporté la réponse sur le forum anglais où les habitués du site de tous pays se croisent et les discussions sont plus fréquentes, mais attention de ne reprendre que partiellement les bonnes idées et perdre trop de temps à réinventer la roue en retombant dans des difficultés déjà discutées. En l’occurence, lorsque par le passé nous proposions sur le forum de faire tourner des stratégies parallèles pour faire l’équivalent d’une stratégie à sorties fractionnées, cela incluait le conseil que si le cumul des entrées avant la fin de toutes les sorties partielles n’est pas désiré, alors il est important qu’à tout instant chaque stratégie sache si les autres sont encore en position ou pas.

    Pour illustrer, imaginons que tu veuilles une entrée à 4 contrats, simulée par 4 stratégies qui la première fois vont acheter toutes en même temps, et que parce que tu ne veux pas reprendre 4 nouveaux contrats tant que tu n’es pas sorti entièrement, tu mettes un defparam cumulateorders=false, alors en séparant en 4 stratégies chacune avec son niveau de sortie et chacune son defparam cumulateorders=false, dès que la première stratégie est sortie de position même si la 2e ne l’est pas encore, alors la 1re est malgré tout prête à réacheter si les conditions de base pour un achat sont réunies, alors qu’elle ne l’aurait pas été si elle était restée stratégie globale. Il faut donc rajouter dans tes conditions d’achat la vérification que pour l’entrée précédente, les 3 autres ont su sortir (que ce soit cible atteinte ou stop).

    En résumé: si on refuse des cumuls d’entrées avant sortie totale pour la stratégie globale, alors ce ne sont pas forcément les mêmes conditions d’achats pour chacune des 4,  ce sont les conditions d’achat de base + des conditions de surveillance des autres stratégies par rapport à leur sortie de l’entrée la plus récente.

    On peut aussi imaginer des variantes d’accumulation partielle (cumuler les positions entrées que si on a réussi 3 sorties partielles sur 4 par exemple…) qui permettent d’accumuler dans le sens de la tendance et laisser seulement un petit solde flotter le plus longtemps possible avec par exemple pour la 4e position un stop loss ou suiveur corrigé d’une partie ou tout des gains des positions 1, 2 et/ou 3 après leurs sorties puisqu’on l’aura simulé dans le code de la 4e, ce qui peut permettre de mieux sortir qu’avec un set target profit x …

    Nicolas, demettra and Leo thanked this post
Viewing 15 posts - 1 through 15 (of 16 total)
  • You must be logged in to reply to this topic.

Besoin d'aide sur sortie fractionnée


Support ProOrder

New Reply
Author
author-avatar
demettra @demettra Participant
Summary

This topic contains 15 replies,
has 4 voices, and was last updated by demettra
8 years, 2 months ago.

Topic Details
Forum: Support ProOrder
Language: French
Started: 11/10/2017
Status: Active
Attachments: 1 files
Logo Logo
Loading...