ProRealTime
Pour partager sur le trading automatique, nos algorithmes, nos backtests

Problème intégration Heiken Ashi

par ConfidentChart » 29 sept. 2021 07:35

Bonjour, j'ai un souci avec un bot que j'essaye de programmer, qui utiliserait heiken ashi
J'ai déclaré les variables selon le calcul du hk, mais le bot ne fonctionne pas, comme si j'avais oublié quelque chose dans le code
Le code grossièrement c'est quelque chose du genre

Xopen = (open+close)/2
Xclose =totalprice

Xopen=(open[1]+close[1])/2
Xclose=totalprice

c1 = xopen<xclose

IF c1 THEN
BUY 1 MARKETSHARE
ENDIF


Alors j'ai vu que prt avait un exemple de bot Heiken ashi, avec des commandes ONCE et previousstatus, mais je comprends pas pourquoi elles sont utilisées
J'ai déjà bossé sur des bots a conditions, et ça marchait très bien
Mais la dès que je veux intégrer heiken ashi ça ne se lance plus et quand je recopie le code de prt et que j'essaye d'y intégrer mes conditions, pareil ça ne se lance pas

Une idée de ce sur quoi je me suis trompé ?

Re: Problème intégration Heiken Ashi

par Log » 29 sept. 2021 11:38

Bonjour,
Je crois que c'est le calcul de la première Bougie Heiken ashi qui vous pose problème. C'est pour cela que once et previusstatus sont nécessaires.
Peut-être avez-vous aussi des heures d'ouverture qui sèment le bazar pour le calcul de cette première Bougie.
Je regarde dès que j'aurai un peu de temps, mais je suis un peu une trompette en codage et un membre plus aguerri vous aura sans doute répondu avant!

Re: Problème intégration Heiken Ashi

par ConfidentChart » 29 sept. 2021 12:31

D'accord, merci beaucoup c'est gentil

Je réexaminerais mon code ce soir mais effectivement, les heures d'ouvertures peuvent poser problème

En revanche je comprends pas le fonctionnement de once et previous, quand j'essaye de modifier le code de prt ça ne fonctionne plus

Previousstatus utilise une commande de type "if previousstatus <>1", alors que jusque là je ne voyais que des types " if x<1" par exemple, donc je suis assez perdu mais bon, on va y arriver

Re: Problème intégration Heiken Ashi

par Log » 29 sept. 2021 14:26

Avec votre trame et If Barindex = 1... devant la définition de la première Bougie, ça fonctionne pour moi; on achète bien sur Bougie verte.
Tout semble ok, il doit y avoir quelque chose d'autre qui bloque.

Re: Problème intégration Heiken Ashi

par ConfidentChart » 29 sept. 2021 15:03

Sur le code de prt, on avait IF barindex =0
Pareil, je n'ai pas bien compris le role de barindex, pour moi il suffisait de déclarer ses variables, mais comme le hk se calcule avec la barre précédente il doit y avoir quelque chose a faire

Le barindex =0 fonctionne, avec 1 j'essayerais aussi

Re: Problème intégration Heiken Ashi

par Log » 29 sept. 2021 18:26

Non désolé!
C'est bien barindex = 0, vous avez raison.

Re: Problème intégration Heiken Ashi

par Log » 29 sept. 2021 18:37

Le Barindex=0 détermine si la Bougie est la toute première (des bougies chargées); cette première Bougie sert à calculer la première Bougie Heikin Ashi, car nous n'avons pas l'antériorité pour le calcul classique de l'ouverture Heikin Ashi.
L'ouverture Heikin Ashi prend en compte les valeurs de la Bougie Heikin Ashi précédente (que nous n'avons pas, puisque c'est la toute première). Pour les suivantes, barindex différent de 0, le calcul de l'ouverture Heikin Ashi redevient classique.

If 1ere Bougie chargée, calcul de l'ouverture avec les Chandeliers Japonais,
Else, calcul de l'ouverture avec les valeurs Heikin Ashi de la Bougie Heikin Ashi précédente,
Endif

Re: Problème intégration Heiken Ashi

par ConfidentChart » 29 sept. 2021 21:23

Okay c'est ce que je me disais aussi que ça pouvait coincer au niveau de la première Bougie

Donc au niveau du code ça donnerait

IF Barindex=0
Xopen = (open+close)/2
Xclose = totalprice

Else Xclose =total price
Xopen = (xopen[1]+xclose[1])/2

Endif


J'ai essayé de faire tourner le code sans la commande Barindex et ça fonctionne mais pas de la bonne façon, il ouvre des positions sur des bougies rouges alors qu'il devrait ouvrir sur des vertes.
Je vais essayer d'intégrer barindex pour voir si il ya de l'amélioration

Re: Problème intégration Heiken Ashi

par ConfidentChart » 30 sept. 2021 07:22

Log

Je viens de regarder le code et effectivement tu as complètement raison, j'ai compris le but de Barindex et ça fonctionne exactement comme tu l'a décris dans ton dernier message, merci

Le terme qui me chiffone a présent c'est previous status, je ne comprends pas comment ça fonctionne
Je recopie le code prt ici pour que ce soit plus facile

ONCE PreviousStatus = 0
IF BarIndex = 0 THEN
XClose = TotalPrice
XOpen = (Open + Close) / 2
ELSE
XClose = TotalPrice
XOpen = (XOpen[1] + Xclose[1]) / 2
ENDIF
IF XClose >= XOpen THEN
IF PreviousStatus <> 1 THEN
BUY 1 SHARES AT MARKET
PreviousStatus = 1
ENDIF
ELSE
IF PreviousStatus <> -1 THEN
SELLSHORT 1 SHARES AT MARKET
PreviousStatus = -1
ENDIF
ENDIF

Re: Problème intégration Heiken Ashi

par Log » 30 sept. 2021 09:29

Hello ConfidentChart,

Effectivement, sans BarIndex=0 pour le calcul spécifique de la première Bougie, on ne peux calculer les suivantes puisqu'elles dépendent les unes des autres. En tapant Graph XOpen et Graph XClose en fin de programme (cité à 21h23), on voit qu'on a les bonnes valeurs de bougies Heikin Ashi.

Dans le programme de 07h22,
PreviousStatus sert ici de témoin d'investissement. On voit dans certains programmes le terme "flag".
Au démarrage du programme, on pose PreviousStatus = 0: nous ne sommes pas "en position". Et c'est la seule fois où l'on sera à 0.

De fait, si la condition (XClose>XOpen, Bougie verte) est respectée, soit:
- on entre LONG si on était FLAT (PreviousStatus=0 devient =1)
- on passe FLAT si on était short.(PreviousStatus=-1 devient =1)
Si la condition n'est plus respectée (Bougie rouge):
- on passe FLAT si on était LONG (PreviousStatus devient -1)
- on passe short si on était FLAT (PreviousStatus devient -1).


Sauf erreur d'interprétation, le premier trade donne le sens de la tendance de la journée; on scalpera LONG, ou short, mais pas les deux.
Et on maintient la position temps que la condition est respectée. C'est bien ce qui apparait sur ton backtest?

Re: Problème intégration Heiken Ashi

par ConfidentChart » 30 sept. 2021 18:02

D'accord je comprends mieux
Non ce qui ressort sur mon back test c'est des achats sur bougies rouge par exemple, ce genre d'incohérence

C'est dommage que le premier ordre donne un sens unique a la journée, le but ce serait qu'il soit capable de vendre ou d'acheter dans une même séance
Mais le backtest est un mystère il faut que je reteste encore et que j'essaye une bonne fois pour toute de faire comprendre les bougies hk au robot

Re: Problème intégration Heiken Ashi

par Log » 30 sept. 2021 22:10

Le programme étudie la Bougie en cours et donne l'ordre d'entrée en position à l'ouverture de la suivante, qui peut être de la couleur inverse; je ne sais pas si ton problème est lié à ça.

J'avais un peu bossé sur un truc sommaire qui reprenait l'exercice de Benoist, en HakinAshi, pour "sentir la respiration du marché". (Je ne sais pas si tu vois de quelle file je parle.)
J'avais mis:
- retournement (un simple chgt de couleur pour moi :? )
- une Bougie monomèche
- une grosse Bougie (corps 3 fois plus gros que précédent)
- un stop et un target
J'ai ressorti le truc après nos échanges.
Si ça t'intéresse, je poste le truc, il y a pour le short et le long. Et avec une bonne suroptimisation, on obtient évidemment des bons scores. C'est de la daube, mais si ça peut aider ton projet...

Il me semble bien que Benoist a dit qu'un robot même complexe aura toujours du mal à "ressentir" le marché. Et c'est vrai qu'en live, j'étais plus efficace que mon programme basique! Si ça se trouve, Benoist s'y connait un peu en trading. :lol2:
J'avais surtout ressenti qu'il fallait intégrer la proximité de supports/résistances au programme. Bref, mon esprit a pris un autre chemin et le truc est resté en l'état. Mais si ça peut faire avancer ton projet...

Re: Problème intégration Heiken Ashi

par ConfidentChart » 30 sept. 2021 23:15

Oui ça m'intéresse en effet
J'avais prévu de me baser sur les q plat pour aiguiller le programme, et sur les pivots
Donc si ton code de base intègre déjà des choses intéressantes, si jarrive a le compléter de manière correcte, ça peut être sympa tout ça

Re: Problème intégration Heiken Ashi

par ConfidentChart » 01 oct. 2021 07:28

Ce n'est pas meme pas sur la Bougie d'ouverture de position que ça coince, sur les bougies de calcul déjà elles sont pas bonnes
Et quand jessaye d'intégrer le principe de Bougie monomeche, le programme ne prend plus de position
J'avais essayé avec la commande low=xopen pour une position acheteuse, je ne sais pas comment tu as réussi toi

Re: Problème intégration Heiken Ashi

par Log » 01 oct. 2021 09:43

// Paramètres///////////////////////////////////////////////
Defparam CumulateOrders = false
DefParam FlatBefore = 021500
Defparam FlatAfter = 230000


// Variables///////////////////////////////////////////////
IF BarIndex = 0 Then
XClose = TotalPrice
XOpen = (Open + Close) / 2
Else
XClose = TotalPrice
XOpen = (XOpen[1] + Xclose[1]) / 2
Endif
bas = MIN(low,XOpen)
haut = MAX(high,XOpen)

//If (XOpen[2] > Xclose[2] and XOpen[1] < Xclose[1]) Then
//rtmtL = 1 // retournement haussier
//Endif

//If (XOpen[2] < Xclose[2] and XOpen[1] > Xclose[1]) Then
//rtmtS = 1 // retournement baissier
//Else
//rtmtS = 0
//Endif

If (XOpen[0]-Xclose[0]) / (XOpen[1]-Xclose[1]) > 3 Then
BigBJ = 1 // grosse Bougie
Else
BigBJ = 0
Endif
If (bas = XOpen) or (haut = XOpen) Then
Qplat = 1 // Bougie monomèche
Else
Qplat = 0
Endif


// Conditions pour ouvrir une position acheteuse/////////////////////////////::
If BigBJ and Qplat and Xopen < XClose then
Buy 1 contracts AT market
Endif

// Conditions pour fermer une position acheteuse///////////////////////////////////////
//If LongOnMarket and ......
//Sell AT market
//Endif

// Conditions pour ouvrir une position en vente à découvert///////////////////////////////////////:
If BigBJ and Qplat and Xopen > XClose then
SELLSHORT 1 CONTRACTS AT MARKET
Endif

// Conditions pour fermer une position en vente à découvert/////////////////////////////////////////
//If ShortOnMarket and ...........
//Exitshort AT Market
//Endif

// Stops et objectifs/////////////////////////////////////////////////
Set Stop Loss sl
Set Target Profit tp
Graph Qplat
Graph BigBJ
//Graph rtmtL

8-) Voilà, sur la journée d'hier, j'entre bien en short et en long. Les variables Sl et Tp sont optimisées à 15 et 35, uniquement sur cette période bien sûr. J'avais mis le facteur "grosse Bougie" en variable aussi, mais de mémoire, on est toujours autour de 3. La condition de retournement était trop restrictive, je n'ai conservé que la condition d'accélération donnée par BigBJ.
Je m'apperçois que mes calculs de Haut et de Bas des Heikin Ashi sont imprécis; il faudrait corriger.
J'ai essayé de mettre en forme compréhensible, mais c'est toujours plus clair quand on l'a fait soi-même.

Re: Problème intégration Heiken Ashi

par ConfidentChart » 03 oct. 2021 13:44

J'ai étudié un petit peu ton code et effectivement les hauts et bas sont imprécis et ne correspondent pas a des qplat

pour coder les qplat j'étais plus parti sur un truc du genre :

low[1]<=xopen[1]
high[1]<=xclose[1]

j'avais essayé avec une égalité stricte mais j'avais eu de mauvais résultats (low = xopen)
donc j'étais passé sur inférieur ou égal, mais pareil ça ne fonctionne pas, les positions ne s'ouvraient pas si rajoutais ça en condition d'ouverture
on dirait que le programme n'arrive pas a considérer le plus bas en chandelier classique avec le calcul heiken ashi, et les qplat ne ressortent pas sur le déclenchement de position

en revanche j'ai corrigé le code avec la variable Barindex et ça marche super bien, le calcul heiken ashi se fait, merci pour le tuyau

je cherche d'autres moyens pour les high and low

Re: Problème intégration Heiken Ashi

par Log » 04 oct. 2021 03:04

Haut et Bas correspondent à la mèche basse de la Bougie Heikin Ashi; ils sont imprécis dans le sens où, théoriquement, ils devraient prendre en compte le mini de (xOpen, xClose et low), ou le maxi de (xOpen, xClose, et high). Il manque donc un paramètre dans mes calculs, mais je ne suis pas sûr que ça perturbe puisque seuls les QPlats du côté du xOpen nous intéressent dans notre cas "de respiration du marché" (je ne sais comment l'appeler).
Je regarderai demain car je n'ai pas prt à disposition en ce moment, mais il me semblait qu'on entrait bien en position sur la Bougie suivant un Qplat.

Re: Problème intégration Heiken Ashi

par ConfidentChart » 05 oct. 2021 18:36

Je suis d'accord, il doit manquer quelque chose mais j'ai pas trouvé quoi

Le programme marche moyen pour l'instant, il est perturbé par pas mal de faux signaux
Et je cherche un moyen de mettre en place une mécanique de stop profit automatique avec la commande positionperf

Re: Problème intégration Heiken Ashi

par ConfidentChart » 08 oct. 2021 15:43

Toujours entrain de chercher de nouvelles solutions pour le programme

Je suis actuellement sur les stop profit auto, j'ai découvert que si je passais la position en break even (stop loss sur 0), le programme considère que si on code stoploss = 0, le stop est désactivé, ce qui explique l'échec du backtest
j'essaye de le passer en stoploss= -10 mais on dirait que le programme ne tolère pas les stop loss en négatif
Il ne tolère pas non plus un stop target en remplacement, ce dernier devant être positionné au dessus de la position (pour un achat par exemple)


Quelqu'un a t'il déja réussi a coder un stop profit automatique sur proorder ?

Re: Problème intégration Heiken Ashi

par Log » 08 oct. 2021 16:09

Bonjour,

Oui, la commande Stop Loss = 0 considère qu'il n'y a pas de stop. Ce qui se comprend, sinon au moment où tu passes en position, ton price serait égal à ton stop, et le programme vendrait immédiatement.
Pour coder un stop, il faut que tu donnes un écart par rapport à ton prix d'acquisition ou par rapport au prix actuel (dans le cas d'un stop trailing); la valeur de cet écart est positive. Donc -10 ne marche pas. Mais 10 fera le job.

Qu'entends tu par stop profit?

Sujets similaires
Code du Heiken Ashi
par z0om » 14 oct. 2016 19:12 (5 Réponses)
Condition EA à l'aide de Heiken Ashi
par artes88 » 22 nov. 2017 22:19 (18 Réponses)
Renko est efficace face à Heiken Ashi ?
Fichier(s) joint(s) par Burzum » 01 avr. 2018 14:38 (9 Réponses)
Les limites des bougies Heiken Ashi
par Cinquième » 03 août 2019 18:11 (10 Réponses)
Heiken Ashi question
par Amarantine » 04 sept. 2019 12:39 (4 Réponses)
Heiken-Ashi vs chandelier
Fichier(s) joint(s) par Marubozu » 04 mai 2020 11:07 (4 Réponses)
Intégration des vidéos Youtube dans les posts du forum
Fichier(s) joint(s) par Amarantine » 07 janv. 2014 17:38 (292 Réponses)
Intégration d'une carte Google Maps sur un blog ou forum
Fichier(s) joint(s) par blAst » 14 avr. 2014 12:39 (6 Réponses)
Sauvegarde impossible apres integration de screeners
Fichier(s) joint(s) par Rogue » 07 sept. 2014 09:41 (5 Réponses)
Intégration FDJ
par Kratos0013 » 07 nov. 2019 07:51 (4 Réponses)