Bonjour
J’utilise l’indicateur TTM SUEEZE trouvé sur le site le PRC-TTM SUEEZE 10.3
TTM Squeeze Oscillator and On price version
(j’ai modifié et inversé les couleurs comme indiqué)
En le comparant avec la version “officielle” disponible dans THINKORSWIM (voire même sur TV) les periodes de squeeze ne correspondent pas
Tous les parametres sont standard
je ne vois pas où dans le code du PRC TTM SQUEEZE les parametres à modifier pour regler ce probleme.
De plus si je prends celui crée ici :
TTM Squeeze Indicator
Là j’ai la bonne correspondance des squeeze, mais graphiquement moins interessant que l’autre
( pour info sur mon graphe PRT pour le keltner j’utilise cet indicateur KELTNER-CHANNEL-ATR, avec comme parametres 20.1,5 et 14 pour l’atr:
Keltner Channel
Car celui fourni en standard a un écart de 1)
Merci de votre aide
Puisqu’il n’y a pas de version “officielle”, je dirai que c’est les versions ToS et TV qui ne correspondent pas ! 😆
Il peut y avoir de multiples raisons, mais quid des datas parfaitement identiques ? (à vérifier d’abord)
Pour que tu identifies mieux le problème, as-tu comparé les valeurs des indicateurs sur les différentes plateformes ? De mémoire, il y a plusieurs écoles pour le calcul des Keltner.
😉 Tu as raison Nicolas sur l'”officiel”
J’ai pris Tos Comme référence car sur le site de CARTER il indique bien les mêmes paramètres et que cet indicateur est disponible suivant son utilisation.
Après pour comparer la version PRT et ToS j’ai bien pris les même paramètres (je les aient mis sur chaque photo)
Ensuite je compare bien avec les Boll et Le keltner sur PRT, pour voir quand mes boll sont a l’interieur des keltner et le compare a l’indicateur PRC TTM SQUEEZE 10.3
En fait l’indicateur trouvé ici correspond a la version ToS:
https://www.prorealcode.com/topic/ttm-squeeze-indicator/
J’ai essayé de faire un mix des deux pour avoir l’affichage en couleur des histo et les points au centre sur la ligne comme le PRC-TTM SQUEEZE 10.3 mais sans grand succès.
L’ideal serait ce dernier code avec l’affichage de l’autre, mais trop limité pour faire ça.
L’exemple pris sur mes photos est l’action PEP (pepsiCola) en donnée jour.
Puisque le squeeze, c’est simplement le keltner qui rentre dans la bollinger, pour voir où est la différence il faut comparer les valeurs des indicateurs entre les 2 plateformes, je ne peux pas le faire, le peux-tu ?
Nicolas
Sur mes fichiers image joints avec mon premier post, j’ai mis les paramètres de chaque indicateur par plateforme.
Je ne peux rien voir de plus.
Afin que cela corresponde a ce que je recherche est-il possible d’utiliser ce code qui est OK au niveau des squeeze :
// John F. Carter Squeeze
//////////////////////////////////////////////////////////////////
// Période des Moyennes Mobiles (défaut = 20)
nPer = 20
// Coefficient des Canaux de Keltner (défaut = 1.5)
fKeltner = 1.5
// Coefficient d'écartement des Bandes de Bollinger (défaut = 2)
fBB = 2.0
// Canaux de Keltner
aKeltnerUp = Average[nPer](TypicalPrice) + (fKeltner * AverageTrueRange[nPer])
aKeltnerDw = Average[nPer](TypicalPrice) - (fKeltner * AverageTrueRange[nPer])
// Bandes de Bollinger
aBollingerUp = Average[nPer](Close) + (fBB * STD[nPer](Close))
aBollingerDw = Average[nPer](Close) - (fBB * STD[nPer](Close))
// L'indicateur vaut 1 sauf si les Bandes de Bollinger sont
// comprises entre Canaux de Keltner
nSqueeze = 1
If (aBollingerUp <= aKeltnerUp) and (aBollingerDw >= aKeltnerDw) Then
nSqueeze = -1
EndIf
// Delta of price from Donchian mid line
DonchianDelta = LinearRegression[nPer] ( Close - ( (Highest[nPer](High) + Lowest[nPer](Low)) / 2 + ExponentialAverage[nPer](Close))/2 )
// Conseil : afficher DonchianDelta sous forme d'histogramme et
// nSqueeze sous forme de Points d'épaisseur maximum
Return DonchianDelta As "DonchianDelta", nSqueeze As "CarterSqueeze"
Mais avec le même type d’affichage que l’on trouve dans ce code ( Les points bien centré sur la ligne 0, et les histogramme de couleurs qui changent suivant le momentum.
//PRC_TTM Squeeze for PRT v10.3| indicator
//27.04.2017
//Nicolas @ www.prorealcode.com
//Sharing ProRealTime knowledge
//---Settings
//length=20
//mult=2
//lengthKC=20
//multKC=1.5
//squeezeDotsOffset=0
//candlesticksSqueeze=0 //boolean variable
//---End of settings
//BB
basis = average[length](close)
dev = mult * Std[length](close)
upperBB = basis + dev
lowerBB = basis - dev
//KC
ma = average[lengthKC](close)
myrange = range[lengthKC]
rangema = average[lengthKC](myrange)
upperKC = ma+rangema * multKC
lowerKC = ma-rangema * multKC
value = (Highest[lengthKC](high)+Lowest[lengthKC](low)+average[lengthKC](close))/3
val = linearregression[lengthKC](close-value)
sqzOn = (lowerBB>lowerKC) AND (upperBB<upperKC)
if(sqzOn=1) then
scolorR = 0
scolorG = 255
else
scolorR = 255
scolorG = 0
ENDIF
if val>0 then
sqz=-squeezeDotsOffset*pointsize
else
sqz=squeezeDotsOffset*pointsize
endif
//histogram modifications
if val>0 and val>val[1] then
plusI = val
plusD = 0
minusI = 0
minusD = 0
colorR=0
colorG=245
colorB=255
elsif val>0 and val<val[1] then
plusI = 0
plusD = val
minusI = 0
minusD = 0
colorR=0
colorG=0
colorB=255
elsif val<0 and val<val[1] then
plusI = 0
plusD = 0
minusI = 0
minusD = val
colorR=255
colorG=0
colorB=0
elsif val<0 and val>val[1] then
plusI = 0
plusD = 0
minusI = val
minusD = 0
colorR=255
colorG=255
colorB=0
endif
//candlesticks squeeze painting
if CandlesticksSqueeze then
drawcandle(open,high,low,close) coloured(colorR,colorG,colorB)
endif
RETURN plusI coloured(colorR,colorG,colorB) style(histogram,1) as "plus increase", plusD coloured(colorR,colorG,colorB) style(histogram,1) as "plus decrease", minusI coloured(colorR,colorG,colorB) style(histogram,1) as "minus increase", minusD coloured(colorR,colorG,colorB) style(histogram,1) as "minus decrease", sqz coloured(scolorR,scolorG,0) style(point,5) as "squeeze momentum"
Ca serait parfait.
Merci