Bonjour, comme dit dans le titre, je cherche l’indicateur des 3 corbeaux et 3 soldats.. problème ceux presents ici ne sont pas filtrer avec les “”vraies”” conditions.
Top conditions :
- 3 bougies haussières d’affilées
- on ne prend pas en compte les mèches
- celle du milieu doit impérativement avoir un corps plus long que les 2 qui l’entourent. (image)
- inversement pour la baisse 🙂
- Merci à vous de votre aide.
Désolé pour le derangement, ne vous embetez pa sà repondre, cet indicateur serait peut etre utile mais signaux “rares” etc bref pour moi cest ok on cloture le post, merci 🙂
Pour les références futurs, le code de la détection de ce pattern peut-être trouvé ici: 3 Black Crows, 3 White Soldiers
et ici aussi: 3 white soldiers / 3 black crows
et certainement encore dans d’autres indicateurs de détection de figures de chandeliers (voir dans la bibliothèque).
Bonjour Nicolas,
Pour une raison inconnue à moins que statistiquement ultra rare, tous ces indicateurs ne retournent aucun corbeaux ! et je ne comprends pas pourquoi car le code est super simple ;
Tu vois pourquoi ?
En effet, ça ne doit pas être très courant. C’est pareil sur toutes les unités de temps ? Pourquoi ne pas modifier les paramètres, notamment celui du pourcentage des corps de bougies ? Ce serait plus simple si tu partageais le code, j’ai pas l’intention de tout retaper pour tester de mon côté 🙂
Hello Nicolas,
j’ai pas l’intention de tout retaper pour tester de mon côté
ah bon ;-))
Yes testé sur toutes les unités de temps et sur tous les marchés ; y a comme un pb 😉
//Candlestick pattern x crows / x soldiers
//With or without body length compared to the wicks
//E.g. body must be at least 70% of total candle
//Parameters
NbrCandles = 3
Bodysize = 50 //in percentage
BodySizeOnOff = 1 //standard 'On'
//MinPrix = close >2.5
//MinVolume = summation [10] (volume > 100000)=10
//3 or x white soldiers
for i=0 to NbrCandles-1 do
CondSoldier = close[i] > open[i] and close[i] > close[i+1]
If BodySizeOnOff then
CondBodySizeSoldier = (((close[i] - open[i]) / (high[i]- low[i])) > (BodySize / 100))
if CondSoldier and CondBodySizeSoldier then
CondSoldier = 1
else
CondSoldier = 0
break
endif
elsif CondSoldier then
CondSoldier = 1
else
CondSoldier = 0
break
endif
next
//3 or x black crows
for i=0 to NbrCandles-1 do
CondCrows = close[i] < open[i] and close[i] < close[i+1]
If BodySizeOnOff then
CondBodySizeCrows = (((open[i] - close[i]) / (high[i]- low[i])) > (BodySize / 100))
if CondCrows and CondBodySizeCrows then
CondCrows = 1
else
CondCrows = 0
break
endif
elsif CondCrows then
else
CondCrows = 0
break
endif
next
//Determining and drawing of indicator
if CondSoldier = 1 then
//3 or x White Soldiers
CrowSoldier = 1
elsif CondCrows = 1 then
//3 or x Black Crows
CrowSoldier = -1
else
CrowSoldier = 0
endif
SCREENER [CrowSoldier ] (CrowSoldier as "signal")
Sans aller plus en avant, il faudrait vérifier qu’il n’y a pas de division par zéro, aux lignes 17 et 36. Pour cela, il faudra encapsuler le code dans une vérification de type if barindex>10 , par exemple.