2 Bougies cassure de bande bollinger
- This topic has 3 replies, 2 voices, and was last updated 5 years ago by .
Viewing 4 posts - 1 through 4 (of 4 total)
Viewing 4 posts - 1 through 4 (of 4 total)
Similar topics:
Forums › ProRealTime forum Français › Support ProOrder › 2 Bougies cassure de bande bollinger
Bonjour,
je suis entrain d’essayer de développer un backtest d’une stratégie, l’idée c’est que 2 bougies soit entièrement en dehors d’une des 2 bande de bollinger, donc le high low close & open, toute la bougie quoi,
et il faudrait que 2 bougie soit l’une après l’autre dans ce cas (peut-être plus ou moins si c’est possible à faire pour d’autre test). 2 bougies entièrement en dehors de la bande haute pour un achat par exemple, inversement pour la vente.
Du coup j’ai essayer de faire une programmation assisté via la création simplifié et cela ne marche pas, y a des cas ou ont devrait rentré en position et ça ne le fait pas, et l’inverse également.
J’ai essayer de jouer avec les paramètres de Dhigh et Dlow soit ça ne change rien, soit c’est pire…
Autre question, quel ligne de programmation dois-je inclure pour miser 1% de mon capital à chaque nouvelle position ?
Merci beaucoup.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
// Définition des paramètres du code DEFPARAM CumulateOrders = False // Cumul des positions désactivé // Conditions pour ouvrir une position acheteuse indicator1 = Average[15](close)+std[15](close) c1 = (DLow(0) > indicator1) indicator2 = Average[15](close)+std[15](close) c2 = (DLow(1) > indicator2) IF c1 AND c2 THEN BUY 1 SHARES AT MARKET ENDIF // Conditions pour fermer une position acheteuse indicator3 = Average[15](close) c3 = (close >= indicator3) IF c3 THEN SELL AT MARKET ENDIF // Conditions pour ouvrir une position en vente à découvert indicator4 = Average[15](close)-std[15](close) c4 = (DHigh(0) < indicator4) indicator5 = Average[15](close)-std[15](close) c5 = (DHigh(1) < indicator5) IF c4 AND c5 THEN SELLSHORT 1 SHARES AT MARKET ENDIF // Conditions pour fermer une position en vente à découvert indicator6 = Average[15](close) c6 = (close >= indicator6) IF c6 THEN EXITSHORT AT MARKET ENDIF |
Il y a plusieurs choses à revoir 🙂
Premièrement pour la condition de 2 bougies au dessus de la bande de bollinger supérieure (attention toutefois, la bande que tu as programmé n’est pas la bande standard, mais je suppose que tu le sais, ici tu as codé une bande de 15 périodes avec un facteur de 1).
1 2 3 4 5 6 7 |
// Conditions pour ouvrir une position acheteuse indicator1 = Average[15](close)+std[15](close) c1 = summation[2](open>indicator1 and close>indicator1)=2 IF c1 THEN BUY 1 SHARES AT MARKET ENDIF |
Dans l’exemple ci-dessus je fais la somme des 2 dernières opérations booléennes, soit si la condition entre parenthèse est vrai 2 fois de suite, alors sa somme est égale à 2. (voir la formation gratuite à la programmation).
Pour fermer la position, il y a une erreur car tu testes si le prix est supérieure à la moyenne mobile centrale et il l’est forcément puisqu’on vient de tester si le prix est supérieure à la bande haute pour prendre position .. donc à revoir !
Bonjour Nicolas, merci beaucoup pour votre aide j’ai enfin réussi à faire ce que je voulais, en effet il s’agit bien d’un Bollinger à 15 période et 1 d’écart, bien vue l’erreur pour fermé la position, c’est corriger !
Je souhaitais que toute la bougie soit en dehors de la bande, du coup j’ai modifier votre ligne 3 par ceci
1 |
c1 = summation[2](high>indicator1 and low>indicator1)=2 |
Et ça fonctionne parfaitement comme souhaité, merci encore !
Du coup quel ligne de programmation dois-je inclure pour miser 1% de mon capital à chaque nouvelle position ?
Find exclusive trading pro-tools on