bonjour à tous , je souhaite tester un code qui me permet de détecter le moment ou la zone bleue passe au dessus de la moyenne mobile 200. c’est 2 indicateurs combinés est assez fiable, mais mon code ne me donne pas uniquement lorsque le croisement se fait le jour J à la clôture ou la veille :
// Détecteur de début de tendance haussière
// Conditions: Nouveau signal haussier ExtraTrend + Bande bleue ExtraTrend > MM200
// --- ExtraTrend ---
myTrend, ignored, myExpansion, ignored, ignored = CALL "ExtraTrend"[0, 0, 0, 0, 0, 0](close)
uptrend = myTrend <> myExpansion //ExtraTrend bande bleue
dntrend = myTrend = myExpansion //ExtraTrend bande rouge
newDnTrend = dntrend and not dntrend[1] //nouvelle tendance baissière
newUpTrend = uptrend and not uptrend[1] //nouvelle tendance haussière
// --- Moyenne Mobile 200 ---
mm200 = average[200](close)
// --- Conditions sur la bande bleue ---
// La bande bleue ExtraTrend (myTrend en période uptrend) doit être au-dessus de la MM200
bandeBleueAuDessusMM200 = uptrend AND myTrend > mm200
// Détection du passage de la bande bleue au-dessus de la MM200
passageBandeBleueAujourdhui = bandeBleueAuDessusMM200 AND (NOT (uptrend[1] AND myTrend[1] > mm200[1]))
passageBandeBleueHier = (uptrend[1] AND myTrend[1] > mm200[1]) AND NOT (uptrend[2] AND myTrend[2] > mm200[2])
// --- Conditions combinées ---
// Cas 1: Nouveau signal haussier ExtraTrend ET bande bleue déjà au-dessus MM200
cas1 = newUpTrend AND myTrend > mm200
// Cas 2: Bande bleue vient de passer au-dessus MM200 (aujourd'hui ou hier)
cas2 = passageBandeBleueAujourdhui OR (bandeBleueAuDessusMM200 AND passageBandeBleueHier)
debutTendanceHaussiere = cas1 OR cas2
// Signal pour le screener
if debutTendanceHaussiere then
signal = 1
elsif newDnTrend then
signal = -1
else
signal = 0
endif
// Screener - détecte quand la bande bleue passe au-dessus de la MM200
screener[debutTendanceHaussiere](signal as "TendanceHaussiere")
Filtre affichant les valeurs en zone de force (mensuelle et hebdomadaire) et dont le prix a franchi la résistance dynamique quotidienne.
Tri par vitesse.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
monthlySignal = 0
weeklySignal = 0
TIMEFRAME(monthly)
Trend, ignored, Expansion, ignored, ignored = CALL “ExtraTrend”[0, 0, 0, 0, 0, 0](close)
if Trend <> Expansion and close > Trend then
monthlySignal = 1
endif
TIMEFRAME(weekly)
Trend, ignored, Expansion, ignored, ignored = CALL “ExtraTrend”[0, 0, 0, 0, 0, 0](close)
if Trend <> Expansion and close > Trend and monthlySignal then
weeklySignal = 1
endif
TIMEFRAME(daily)
okvol = highest[20](close*volume)>300000
vitesse = highest[200](roc[5])
Trend, ignored, ignored, ReDyn, ignored = CALL “ExtraTrend”[0, 1, 0, 0, 0, 0](close)
signal = monthlySignal and weeklySignal and close >= Redyn[1] and Trend[1] <> ReDyn[1]
SCREENER[signal and okvol](vitesse as “Vitesse”)
|
Salut Gabi, merci beaucoup pour ton code. Pourrais-tu me dire ce que je dois modifier pour faire la même chose en mode suivi de tendance ? Plus précisément, je dois suivre les indicateurs de force journaliers et hebdomadaires, afin de détecter un franchissement de la ligne de résistance dynamique et le début d’un nouveau mouvement ou un retour à la tendance.
Merci encore, Guillermo.
Le même filtre avec l’option « suivre la tendance » :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
//
condvolume= Average[200](volume)>15000
//calcul de la moyenne mobile 4 périodes pondérée par les volumes
tempValue = 0.0
tempVolume = 0.0
for step = 0 to 3 do
tempValue = tempValue + (((close[step]*volume[step])))
tempVolume = tempVolume + volume[step]
next
myVWMA = tempValue / tempVolume
//Recherche des Trend Haussier avec “trend following”
myTrend, myNeutral, myExpansion = CALL “ExtraTrend”[1, 0, 0, 0, 0](close)
uptrend = myTrend <> myExpansion
//Calcul de la distance entre la clôture et la borne haute et basse du Trend
DistNeutral = ((close–myNeutral)/close)*100
DistExpans = ABS((myExpansion–close)/close)*100
//retournement à la hausse de la VWMA(4) sur Trend Haussier proche de la borne basse
//la condition sur les volumes évite les valeurs peu liquides
ca = myVWMA[2]>myVWMA[1] and myVWMA[1]<myVWMA and condvolume and uptrend and close>open and DistNeutral<DistExpans and DistNeutral>0
SCREENER[ca] (DistNeutral) //affichage de la distance de la borne basse
|
Bonjour Corto78, serait-il possible de mettre ce code à jour pour la dernière version de l’indicateur ? Celui-ci ne fonctionne plus, merci beaucoup par avance.
Guillermo
@Fibonaccheese
Publiez uniquement dans la langue du forum dans laquelle vous publiez. Par exemple, l’anglais uniquement dans les forums anglophones et le français uniquement dans les forums francophones. Merci 🙂
(J’ai fait la traduction de l’espagnol)
Bonjour, j’ai acheté récemment l’indicateur extratrend et malheureusement je n’ai aucune connaissance en programmation. Merci de demander de l’aide pour voir si quelqu’un peut m’aider à créer un filtre de sélection basique (screener) où un signal est généré lorsqu’une bougie de momentum est générée dans un cas, et un autre filtre lorsqu’une bougie impulsive est générée en mode tendance ( trend following). Merci beaucoup. Guillaume
Malheureusement il n’y a pas de signal généré par l’indicateur pour les bougies impulsives. Cependant, je vais réfléchir à créer une solution en ajoutant un nouvel indicateur à part un et uniquement pour ces bougies. En effet si j’ajoute un signal en plus à l’indicateur, c’est des centaines de screener et stratégies qui ne fonctionneront plus parmi les utilisateurs d’Extratrend.