Bonjour,
Je sollicite votre aide car je suis bloqué pour créer un screener (ou plutot une alerte).
Voici les critères:
1- Dans un graphique 5 min, le cours touche (ou croise) une moyenne mobile définie (flèche noire sur le dessin du graphique 5 min)
2- Dans un autre graphique en 1 min cette fois, dans l’intervalle des bougies correspondantes à cette bougie de 5 minutes de l’autre graphique, le cours croise une moyenne mobile (qui est en bleu foncé sur le dessin).
3- Toujours dans le graphique 1 minute, la distance entre le plus bas des bougies et la moyenne mobile (flèche rose sur le dessin) est au moins égale à la distance entre le plus haut des bougies et la moyenne mobile (flèche noire sur le dessin) (toujours durant l’intervalle de temp de la bougie 5 min, qui correspond au rectangle bleu)
Je joins un petit dessin pour essayer d’être plus clair.
Auriez vous une petite solution pour coder cela?
Si ce n’est pas très clair, dites moi et je préciserai.
Merci par avance 🙂
Je pense que ce code doit convenir pour trouver ce setup :
timeframe(5 minutes)
mm1 = average[20]
ihigh=high
ilow=low
c1 = ilow<mm1
timeframe(1 minute)
mm2 = average[20]
c2 = mm2-ilow>=ihigh-mm2 and low<mm2
screener[c1 and c2]
Super, merci beaucoup Nicolas 🙂
Je vais essayer tout cela.
Quelques petites questions complémentaires:
1- si je souhaite modifier les unités de temps, je remplace par exemple (1 minute) par (200 ticks)?
2- si les moyennes mobile sont exponentielles, triangulaires, ou de hull, faut-il laissé mm1 et mm2?
3- et enfin, j’aimerai qu’une position à l’achat se déclenche au moment où le cours sur le graphique 1 minute recroise à la hausse la moyenne mobile (rond jaune sur le dessin ci-joint), avec un objectif TP égale à X fois la taille de la flèche jaune sur le dessin (par exemple 2 fois la taille de la flèche jaune, 1.5 fois, 1 fois, … à paramétrer selon mon objectif). Et un stop loss qui se place sous le plus bas (correspondant au bas de la flèche rose).
Ca m’aiderait grandement.
Bonne journée
Je réponds à tes questions:
1/ Oui c’est bien cela. Par contre on ne peut mélanger des unités de temps décorrélés du temps (comme le ticks, le renko, le range bars, ..) avec des UT qui l’utilisent (les UT classiques en secondes ou minutes).
2/ mm1 et mm2, ce sont les noms des variables que j’ai donné, j’aurai aussi pu les appeler titi et grosminet, peu importe. Pour obtenir d’autres types de moyennes mobiles, change le x l’instruction AVERAGE[20,x] avec le chiffre qui correspond à la moyenne voulue:
0 = SMA 1 = EMA 2 = WMA 3 = Wilder 4 = Triangular 5 = End point 6 = Time series 7 = Hull 8 = ZeroLag
3/ toujours durant la même bougie 5-minutes ou même plus tard ? et si oui jusqu’à combien de temps après c’est possible ?
Merci Nicolas pour tes précieuses explications.
Accompagné des videos tutos que tu as réalisées, ça me permet petit à petit de mieux comprendre.
1- c’est compris pour le ticks et minutes, impossible tous les deux. Il n’existe aucune solution dans ce sens pour avoir un graphique en minutes et un second en tick (qui permet de mieux ressentir la nervosité je trouve)?
Si je décide de remplacer le graphique 5 minutes en graphique 2 minutes, et celui 1 minute en 30 secondes (par exemple), je remplace juste (5 minutes) par (2 minutes) et sur l’autre graphique (1 minute) par (30 secondes)?
2- Ok c’est très clair. Si j’applique un décalage verticale (par exemple de -0.004) sur ma moyenne mobile, comment faut-il faire?
3- dans la meme bougie de 5 minutes c’est bien. Est-ce qu’il te serait possible de me proposer une seconde version avec cette fois ci une tolérance de : intérieur de la bougie de 5 minute + 3 bougies sur la période suivante 1 minute
Grand merci par avance j’apprends beaucoup grâce à toi 🙂
1/ oui tu peux modifier le libellé des timeframes entre parenthèses à ta guise.
2/ on retranche cette valeur à la valeur de l’indicateur soit:
mm1 = average[20] - 0.004
3/ voilà le code (à vérifier) pour une version durant la même bougie 5-minutes.
defparam cumulateorders=false
//j’aimerai qu’une position à l’achat se déclenche au moment où le cours sur le graphique 1 minute recroise à la hausse la moyenne mobile (rond jaune sur le dessin ci-joint), avec un objectif TP égale à X fois la taille de la flèche jaune sur le dessin (par exemple 2 fois la taille de la flèche jaune, 1.5 fois, 1 fois, … à paramétrer selon mon objectif). Et un stop loss qui se place sous le plus bas (correspondant au bas de la flèche rose).
timeframe(5 minutes)
mm1 = average[20]
ihigh=high
ilow=low
c1 = ilow<mm1 and ihigh>mm1
timeframe(1 minute)
mm2 = average[20]
c2 = mm2-ilow>=ihigh-mm2 and close crosses over mm2
if c1 and c2 and not longonmarket then
buy at market
set target profit (close-ilow)*2
set stop price ilow
endif
graphonprice mm1
graphonprice mm2
graphonprice ihigh coloured("orange")
graphonprice ilow coloured("orange")
Merci vraiment pour ton aide Nicolas, c’est très appréciable 🙂
J’essaie tout ça