Bonjour à tous,
Dans le cadre de programmation de stratégie afin d’optimiser le temps de calcul quelle est la meilleure facon d’ecrire le code suivant . Par exemple on souhaite cloturer une position Longue lorsque l’on a 4 bougies rouges consécutives et que le range entre l’ouverture de la 1er bougie et la cloture de la 4eme est Supérieur à 90 points ( dans le cadre de future ) Est ce la solution 1 ou 2 ? La Solution 1 me parait plus claire à la lecture Mais est ce la solution la meilleure pour le temps de calcul ?
// Solution 1 //
Red1 = Close[1] < Open[1]
Red2 = Close[2] < Open[2]
Red3 = Close[3] < Open[3]
Red4 = Close[4] < Open[4]
BigRedRange = Open[4] - Close [1] > 90
Signal = Red1 AND Red2 AND Red3 AND Red4 AND BigRedRange
// Solution 2 //
Signal = Close[1]<Open[1] AND Close[2]<Open[2] AND Close[3]<Open[3] AND Close[4]<Open[4] AND(Open[4]-Close [1]>90)
Difficile à dire.. je n’ai aucune certitude sur ce qui serait plus rapide désolé. 🙄
Personnellement j’aurai plutôt fait:
test = summation[4](close<open)[1]=4 and highest[4](open)[1]-lowest[4](close)[1]>90*pointsize
ici tu obtiendras le vrai range de prix des dernières 4 bougies.
Merci beaucoup Nicolas, Pas de problème pour ce qui serait le plus rapide .
Je ne pense jamais à utiliser summation
Et merci pour la correction du calcul du range . Effectivement mon calcul ne fonctionne pas si par exemple la 2eme bougie rouge ouvre plus haut que la 1ere.
Merci encore