Besoin d'aide sur sortie fractionnée
Forums › ProRealTime forum Français › Support ProOrder › Besoin d'aide sur sortie fractionnée
- This topic has 15 replies, 4 voices, and was last updated 7 years ago by demettra.
-
-
11/10/2017 at 5:49 PM #52292
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.
11/10/2017 at 5:53 PM #5229411/10/2017 at 5:57 PM #52296Merci 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.
11/10/2017 at 7:35 PM #5231711/11/2017 at 7:05 PM #5240311/12/2017 at 8:03 PM #52468Et 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.
11/13/2017 at 8:06 AM #5250311/13/2017 at 10:17 AM #52514Un 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):
123456789101112131415defparam cumulateorders=falsec1 = close crosses over average[20]if c1 and not longonmarket thenbuy 4 contracts at marketlastprice=closeendifif longonmarket thenif close-lastprice>=5*pointsize thensell 1 contract at marketlastprice=closeendifendif1 user thanked author for this post.
11/13/2017 at 10:54 AM #52519Merci 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.
11/13/2017 at 11:27 AM #5252811/13/2017 at 11:40 AM #5253311/13/2017 at 11:46 AM #5253611/13/2017 at 11:55 AM #52539si la MM20 est ascendante (si elle monte). La MM20 plate est une MM20 horizontale.
😆
Au sujet des pentes de moyenne mobile : (ou “slope” en anglais)
https://www.prorealcode.com/topic/calcul-dangle-moyenne-mobile/
https://www.prorealcode.com/topic/pente-dune-moyenne-mobile/
https://www.prorealcode.com/prorealtime-indicators/moving-average-slope/
https://www.prorealcode.com/topic/ema-slope/
https://www.prorealcode.com/prorealtime-indicators/tma-slope/
https://www.prorealcode.com/prorealtime-indicators/linear-regression-slope-oscillator/
et encore beaucoup d’autres sans doute en utilisant l’outil de recherche du site.
11/13/2017 at 12:02 PM #5254011/13/2017 at 1:51 PM #52547Certes 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 …
-
AuthorPosts
Find exclusive trading pro-tools on