Voilà le code modifié. Précision: j’utilise donc une EMA20 pour le filtre de tendance, teste juste si c’est rouge (descend sur 1 période) ou vert (monte sur une 1 période). Les cours touchent les bandes avec le High/Low et non le Close comme auparavant, il y a donc beaucoup plus de signaux, mais à priori ça n’est pas important selon ta remarque.
Merci de bien intégrer le fonctionnement de ProBacktest : les signaux sont considérés à la clôture de la bougie 5-min et pas en cours de bougie. Le filtre est basé sur la clôture de la dernière bougie 30 minutes (donc à 10h48, c’est la tendance de 10h30 qu’on utilise). Si les conditions sont réunies, l’ordre est passé à l’ouverture de la bougie qui suit.
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
//x = 5 //quantité de bougies tendance SuperTrend
//stoploss = 50
//takeprofit = 100
timeframe(30 minutes,updateonclose)
filtre = exponentialaverage[20]
bullish = filtre>filtre[1] //EMA20 verte
bearish = filtre<filtre[1]//EMA20 rouge !! summation[x](close<st)=x
timeframe(default)
noEntryBeforeTime = 093000
timeEnterBefore = time >= noEntryBeforeTime
noEntryAfterTime = 163000
timeEnterAfter = time < noEntryAfterTime
daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
up, ignored, down = CALL "Bande de Mogalef"
//les cours touchent, avec le High/Low
ibuy = (low <= down) and down=down[1]
isell = (high >= up) and up=up[1]
atr = averagetruerange[14]
IF (ibuy AND bullish) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN
BUY 1 SHARES AT MARKET
set stop loss atr*0.25
set target profit atr
ENDIF
IF (isell AND bearish) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN
SELLSHORT 1 SHARES AT MARKET
set stop loss atr*0.25
set target profit atr
ENDIF
//debug
graphonprice filtre
graph bullish coloured(0,255,0)
graph bearish coloured(255,0,0)
Merci Nicolas ,
Pour être sûr qu’il n’y aie pas d’ambiguïté :
1- Tester juste si c’est rouge (descend sur 1 période) ou vert (monte sur une 1 période). Q: Une période pour toi veut dire une seule bougie 30 min ? Pour moi il faudrait que visuellement quand je regarde la EMA20 sur l’UT 30 min je vois un tracé continu (Donc plusieurs des bougies 30 min ) Vertes ou Rouges .
2- Les cours touchent les bandes avec le High/Low et non le Close comme auparavant, il y a donc beaucoup plus de signaux, mais à priori ça n’est pas important selon ta remarque
Q- Pourquoi ne pas prendre les deux conditions : si la bougie enfonce les bandes que se soit avec le corps ou la mèche, prendre ce signal et le checker en 30 min ?
3- Concernant le fonctionnement de Probacktest, n’est il pas possible de prendre instantanément l’ordre ou non lorsqu’il y a contact de la bougie courante avec les bandes après avoir vérifier la condition en UT 30 min ?
Mes réponses Nicolas,
1- Avoir une couleur rouge ou verte sur une seule période n’est pas significatif pour dire que la tendance est H ou B , peut on avoir une variable comme avant pour paramétrer le nombre de période ( pour moi 10 x périodes de 30 min est un minimum)
2- Ok pour moi
3- Ok , faisons comme tu dis : L’ordre est passé à l’ouverture de la bougie qui suit. Mais à condition de s’assurer d’une manière ou d’une autre que cette bougie qui suit n’a pas fait bouger la ligne inf / sup , j’imagine ce contrôle en ajoutant une sous condition qui vérifie par exemple “si la ligne mogalef à laquelle correspond la bougie suivante a bougé par rapport à sa position dans la bougie passé qui a déclenché le signal ) qu’est ce que t’en penses ? Illustration ci jointe pour expliquer mon point de vu
On y arrive :)..
3 – Ton exemple n’est pas bon, à la bougie 1, à sa clôture la bande a bougé, donc il n’y aurait pas eu d’ordre à la bougie 2.
Effectivement donc décalons vers la gauches les deux bougies 1 et 2 , ok ?
j’ai mis à jour la capture d’écran ( et imaginons que la mèche de la bougie 1 touche la ligne )
Je ne comprends pas ta question puisque cela équivaudrait à connaître le futur ? Je crois que tu n’as pas encore bien compris, j’ai bien expliqué dans mes précédents messages, mais je réitère, j’ai refait le plein de patience cette nuit 😉
A l’issue de la bougie 1 (à sa fermeture, au Close), on teste les conditions dont celle du non déplacement des bandes, si c’est validé, alors un ordre est lancé. Celui-ci s’ouvre dés que la bougie suivante apparaît. Ces 2 événements se font en quelques centièmes de seconde.
Exemple :
13h05 – clôture de la bougie de 13h00, conditions OK, algo envoi l’ordre au courtier
13h05 01s – courtier répond par l’ouverture de l’ordre
13h07 – la bougie fait se décaler les bandes
13h08 – la bougie retrace, la bande n’est plus décalé
13h09 – la bougie repart dans le mauvais sens, la bande décale
13h10 – clôture de la bougie de 13h05, finalement la bougie a bien fait bouger la bande à sa clôture.
Selon ta description, à 13h10 je devrai retourner dans le passé pour éviter qu’à 13h05 j’ouvre une position, si seulement …
Merci pour ta patience en tout cas , je pense que ce post est parmi les plus longs
Ecoutes Nicolas , si toi tu as bien assimilé ce que je voulais faire , je te fais confiance , tu peux essayer de faire une dernière version du code que j’utiliserai .
Je pense que par manque de compréhension de probacktest et mon manque expérience je n’arrive pas à te convaincre.
Dans ma vision des choses ,il ne s’agit pas de retourner dans le passé ou prédire le future , simplement avant d’envoyer l’ordre au courtier – attendre de voir ce qui va arriver suite à la clôture de la bougie 2 , en ayant une pré-validation de la bougie 1 , donc checker les bougies 1 et 2 avant d’envoyer l’ordre au courtier .”peut être que là encore je dit des chose fantastique “
Je suis pourtant un vieux analyste développeur ..
attendre de voir ce qui va arriver suite à la clôture de la bougie 2
Pourquoi pas attendre 10 secondes avant la fin de la bougie 2, mais le problème sera le même : dans les 10 secondes ensuite, ta bande pourrait se décaler.
ou
Attendre la clôture effective de la bougie 2, donc ordre envoyé à l’ouverture de la bougie 3, mais dans ce cas la stratégie n’est plus la même ? et quid de la bougie 3 ?
C’est pas pour embêter que je pose ces questions, je vais t’aider et coder ce que tu veux, mais si c’est pas possible ou “incohérent”, je préfère le dire, c’est pas drôle de perdre son temps, le tient comme le mien 🙂
Qu’est ce que tu suggères maintenant ?, en écriture je dis haut les mains Nicolas
De toute manière la bourse est entrain de s’effondrer
La stratégie actuelle est codée telle que décrite par l’auteur. Dans la quasi totalité des cas, on prend les signaux à la clôture pour justement éviter les mauvaises informations et par ce que les indicateurs sont figés à cet instant précis, donc on est conforme.
Ok Super Nicolas , c’est quand tu veux pour le code final , et merci encore pour ton temps 🙂
Bonjour Nicolas,
Tu as eu un peu le temps de voir la dernière version du code ?
Merci
Désolé, je dois changer quoi exactement ?