ProRealCode - Trading & Coding with ProRealTime™
Bonjour je voudrais savoir si cette indiacteur a été codé pour prt , excuse moi d’avance j’ai essayé de chercher mais je trouve pas
Merci
// ————————————————<[ Constantes de couleur ]>———————————————-
// Valeurs de couleur utilisées à partir de Pine Magic. https://www.tradingview.com/script/yyDYIrRQ-Pine-Color-Magic-and-Chart-Theme-Simulator/
var transparent = color.new(color.black, 100)
var darkpurple = #550055, dpurple = darkpurple // Alias pour violet foncé, non recommandé pour une utilisation sur les “Dark Charts”
var purple = #990099
var fuchsia = #FF00FF
var violet = #AA00FF
var hanpurple = #6000FF
var blue = #0000FF
var cichlid = #0040FF
var azur = # 0080FF
var skyblue = #00C0FF
var aqua = #00FFFF // Non recommandé pour une utilisation sur les “Light Charts” avec une épaisseur de ligne de 1px
var mint = #00FF80
var lime = #00FF00
var chartreuse = #80FF00
var jaune = #FFFF00 // Non recommandé pour une utilisation sur les “Light Charts”
var ambre = #FFCC00
var orange = #FF8000
var rougeorange = #FF4000
var rouge = #FF0000
var rose vif = #FF0080
var rose = #FF80FF // Non recommandé à utiliser sur les “cartes lumineuses”
// ————————————————<[ Entrée utilisateur ]>——————————————————
sourceGlobal = input(title=”Source for indicateur”, defval=fermer, type=input.source, groupe=”Global”)
showPSAR = input(true, “Show PSAR?”, group=”PSAR”)
psarStart = input(title=”PSAR Start”, type=input.float, step=0.001, defval=0.02, group=”PSAR”)
psarIncrement = input(title=”PSAR Increment”, type=input.float, step=0.001, defval=0.02, group=”PSAR”)
psarMaximum = input(title=”PSAR Maximum”, type=input.float, step=0.01 , defval=0.2, group=”PSAR”)
psarConfirmation = input(title=”Signal de confirmation :”, defval=”EMA”,
options=[“EMA”, “TEMA”, “eMAMA”, “RSI”, “OBV ”], group=”PSAR”)
psarHighlightStartPoints = input(title=”PSAR Highlight Start Points?”, type=input.bool, defval=true, group=”PSAR”)
psarShowLabels = input(title=”PSAR Show Buy/ Vendre des étiquettes ?”, type=input.bool, defval=false, group=”PSAR”)
psarHighlightState = input(title=”PSAR Highlight State?”, type=input.bool, defval=false, group=”PSAR”)
colorPSARLong = input(title=”Long”, type=input.color, defval=lime, group =”PSAR”, inline=”couleurs”)
colorPSARShort = input(title=”Short”, type=input.color, defval=red, group=”PSAR”, inline=”couleurs”)
showTEMA = input(true, “Show TEMA?”, group=”Triple EMA”, inline=”showTEMA”)
showTEMAfill = input(title=”Shade TEMA?”, defval=false, type=input.bool, group=” Triple EMA”, inline=”showTEMA”)
lengthTEMAFast = input(title=”TEMA Fast length”, defval=13, minval=1, group=”Triple EMA”, inline=”TemaFast”)
colorTEMAFast = input(title=” ”,type=input.color, defval=lime, inline=”TemaFast”, group=”Triple EMA”)
lengthTEMASlow = input(title=”TEMA Slow length”, defval=34, minval=1, group=”Triple EMA” ”, inline=”TemaSlow”)
colorTEMASlow = input(title=””,type=input.color, defval=red, group=”Triple EMA”, inline=”TemaSlow”) widthTEMA
=input(title=”Epaisseur de ligne” , defval=2, type=input.integer, minval=1, maxval=4, step=1, group=”Triple EMA”)
showEMA = input(defval=false, type=input.bool, title=”Show EMA?”, group=”EMA”, inline=”showEMA”)
showEMAfill = input(title=”Shade EMA?”, defval=false, type=input.bool, group=”EMA”, inline=”showEMA”)
lengthEMAFast = input(9, title=’EMA Fast Length’, step=1, type=input.integer, group=”EMA”, inline= ”EmaFast”)
colorEMAFast = input(title=””,type=input.color, defval=lime, inline=”EmaFast”, group=”EMA”)
lengthEMASlow = input(21, title=’EMA Slow Length’, step =1, type=input.integer, group=”EMA”, inline=”EmaSlow”)
colorEMASlow = input(title=””,type=input.color, defval=red, group=”EMA”, inline=”EmaSlow ”)
lengthEMA200 = input(200, title=’EMA Additional Length’, step=1, type=input.integer, group=”EMA”, inline=”EMA200″)
colorEMA200 = input(title=””,type=input.color, defval=orange, group=”EMA”, inline=”EMA200″)
filterEMA200 = input(title=”Utiliser comme filtre?”, defval=false, type= input.bool, group=”EMA”, inline=”EMA200″, tooltip=”Les signaux d’achat et de vente sont filtrés sur la ligne EMA supplémentaire, généralement définie sur 200. Cela prend effet même si la confirmation PSAR est définie sur autre chose que EMA. »
//filterEMA200 = input(title=”Entrer uniquement si le prix est au-dessus de l’EMA supplémentaire?”, defval=false, type=input.bool, group=”EMA”, tooltip=”Les signaux d’achat et de vente sont filtrés sur la ligne EMA supplémentaire , généralement défini sur 200. Cela prend effet même si la confirmation
PSAR est définie sur autre chose que EMA.”) =4, étape=1, groupe=”EMA”)
lengthRSI = input(title=”RSI Length”, type=input.integer, defval=14, group=”RSI”)
rsiOverbought = input(title=”Surachat Level”, type=input.integer, defval=60, group= ”RSI”, inline=”niveaux”)
rsiOversold = input(title=”Niveau de survente”, type=input.integer, defval=40, group=”RSI”, inline=”niveaux”)
showeMAMA = input(defval=false, title=”Show eMAMA?”, type=input.bool, group=”Ehler’s MESA Adaptive Moving Average”, inline=”fill”)
showEMAMAfill = input(title=”Shade eMAMA?”, defval=false, type=input.bool, group=”Moyenne mobile adaptative MESA d’Ehler”, inline=”fill”)
fastlimitEMAMA=input(.5, title=”Limite rapide”, group=”Moyenne mobile adaptative MESA d’Ehler”)
slowlimitEMAMA=input(.05, title=”Slow Limit”, group=”Ehler’s MESA Adaptive Moving Average”)
épaisseurEMAMA=input(title=”Epaisseur de ligne”, defval=2, type=input.integer, minval=1, maxval =4, step=1, group=”Moyenne mobile adaptative MESA d’Ehler”)
coloreMAMA = input(title=”eMAMA”,type=input.color, defval=lime, group=”Moyenne mobile adaptative MESA d’Ehler”, inline=”colors”)
coloreFAMA = input(title=”eFAMA”,type=input. color, defval=red, group=”Moyenne mobile adaptative MESA d’Ehler”, inline=”colors”)
lengthOBV = input(defval=20, title=”OBV Length”, type=input.integer, group=”On Balance Volume”)
emaOBV = input(defval=9, title=”EMA length”, type=input.integer, group=”Sur le volume d’équilibre”)
lengthStoch = input(14, “Longueur stochastique”, minval=1, group=”SRSI”)
smoothK = input(3, “SRSI K Smoothing”, minval=1, group=”SRSI”)
smoothD = input(3, ” SRSI D Smoothing”, minval=1, group=”SRSI”)
srsiOverbought = input(defval=80, title=”Surachat level”, type=input.integer, group=”SRSI”, inline=”levels”)
srsiOversold = input(defval=20, title=”Niveau de survente”, type=input.integer, group=”SRSI”, inline=”levels”)
lengthMACDfast = input(title=”Fast Length”, type=input.integer, defval=12, group=”MACD”)
lengthMACDslow = input(title=”Slow Length”, type=input.integer, defval=26, group= ”MACD”)
lengthMACDsignal = input(title=”Lissage du signal”, type=input.integer, minval = 1, maxval = 50, defval = 9, group=”MACD”)
lengthCMF = input(20, minval=1, group=”Chaiken Money Flow”)
showTable = input(defval=false, title=”Show summary table?”, type=input.bool, group=”Summary Table”)
tablePosition = input(title=”Summary Table Position”, defval=position.bottom_left,
options= [position.bottom_left,
position.top_left, position.bottom_right, position.top_right], group=”Tableau récapitulatif”)
tableTextSize = input(title=”Taille du texte du tableau”, defval=size.tiny,
options=[size.auto, size.tiny, size.small, size.normal, size.large, size.huge], group=”Tableau récapitulatif”)
// ———————————————— <[Déclarations de variables]> ———————————————-
var bool psarBuy = na
var bool psarSell = na
var float eMAMA = na
var float eFAMA = na
var float historicHigh = 0 // pour la mise à l’échelle OBV
// ——————————————————-<[ Fonctions ]>—————————————————-
fDirection(série, longueur) =>
ascendant(série,longueur) ? “↑” : “↓”
fTEMA(sourceTEMA, longueur) =>
Tema1 = ema(sourceTEMA, longueur)
Tema2 = ema(Tema1, longueur)
Tema3 = ema(Tema2, longueur)
3 * Tema1 – 3 * Tema2 + Tema3
fMAMA(sourceEMAMA, slowlimitEMAMA, fastlimitEMAMA) =>
var float p = na
var float i2 = na
var float q2 = na
var float re = na
var float im = na
var float spp = na
sp = (4*sourceEMAMA + 3*sourceEMAMA [1] + 2*sourceEMAMA[2] + sourceEMAMA[3]) / 10.0
dt = (.0962*sp + .5769*nz(sp[2]) – .5769*nz(sp[4])- .0962 *nz(sp[6]))*(.075*nz(p[1]) + .54)
q1 = (.0962*dt + .5769*nz(dt[2]) – .5769*nz(dt [4])- .0962*nz(dt[6]))*(.075*nz(p[1]) + .54)
i1 = nz(dt[3])
jI = (.0962*i1 + . 5769*nz(i1[2]) – 0,5769*nz(i1[4])- 0,0962*nz(i1[6]))*(0,075*nz(p[1]) + 0,54)
jq = (.0962*q1 + .5769*nz(q1[2]) – .5769*nz(q1[4])- .0962*nz(q1[6]))*(.075*nz(p[1] ) + .54)
i2_ = i1 – jq
q2_ = q1 + jI
i2 := .2*i2_ + .8*nz(i2[1])
q2 := .2*q2_ + .8*nz(q2[1])
re_ = i2*nz(i2[1]) + q2* nz(q2[1])
im_ = i2*nz(q2[1]) – q2*nz(i2[1])
re := .2*re_ + .8*nz(re[1])
im := . 2*im_ + .8*nz(im[1])
p1 = ssi(im!=0 et re!=0, 360/atan(im/re), nz(p[1]))
p2 = ssi(p1 > 1,5*nz(p1[1]), 1,5*nz(p1[1]), ssi(p1 < 0,67*nz(p1[1]), 0,67*nz(p1[1]), p1))
p3 = ssi(p2<6, 6, ssi (p2 > 50, 50, p2))
p := .2*p3 + .8*nz(p3[1])
spp := .33*p + .67*nz( spp[1])
phaseEMAMA = atan(q1 / i1)
dphase_ = nz(phaseEMAMA[1]) – phaseEMAMA
dphase = iff(dphase_< 1, 1, dphase_)
alpha_ = fastlimitEMAMA / dphase
alpha = ssi (alpha_
fOBV(src) =>
changeOBV = change(src)
cum(changeOBV > 0 ? volume : changeOBV < 0 ? -volume : 0*volume)
// ——————————————-<[ Calculs de variables ]>——————————————
temaSlow = fTEMA(sourceGlobal, lengthTEMASlow)
temaFast = fTEMA(sourceGlobal , lengthTEMAFast)
shortTema = crossover(temaSlow, temaFast)
longTema = crossunder(temaSlow, temaFast)
fillTema = temaFast>temaSlow ? color.new(colorTEMAFast,80) : color.new(colorTEMASlow,80)
emaFast = ema(sourceGlobal, lengthEMAFast)
emaSlow = ema(sourceGlobal, lengthEMASlow)
ema200 = ema(sourceGlobal, lengthEMA200)
longEMA = crossover(emaFast, emaSlow)
shortEMA = crossunder(emaFast , emaSlow)
fillEMA = emaFast>emaSlow ? color.new(colorEMAFast,80) : color.new(colorEMASlow,80)
cumOBV = fOBV(sourceGlobal)
oscOBV = (cumOBV – ema(cumOBV,lengthOBV))
changeOBV = change(sourceGlobal)
shortOBV = ema(cumOBV, lengthOBV)
psar = sar(psarStart, psarIncrement, psarMaximum)
psarDir = psar < fermer ? 1 : -1
colorPSAR = psarDir == 1 ? color.new(#3388bb,0) : color.new(#fdcc02,0)
colorPSARFill = psarHighlightState ? (psarDir == 1 ? color.new(colorPSARLong,90) : color.new(colorPSARShort,90)) : na
psarChangeCond = psarDir != psarDir[1]
valeurRSI = rsi(sourceGlobal, longueurRSI)
if psarConfirmation == “EMA”
if emaFast > emaSlow
psarBuy := true
psarSell := false
else if emaFast < emaSlow
psarSell := true
psarBuy := false
else if psarConfirmation == “TEMA”
if temaFast > temaSlow
psarBuy := true
psarSell : = faux
sinon si temaFast < temaSlow
psarSell := vrai
psarBuy := faux
sinon si psarConfirmation == “eMAMA”
si eMAMA > eFAMA
psarBuy := vrai
psarSell := faux
sinon si eMAMA < eFAMA
psarSell := vrai
psarBuy := faux
sinon si psarConfirmation == "RSI"
si valeurRSI < 40
psarBuy := true
psarSell := false
sinon si valeurRSI > 60
psarSell := vrai
psarBuy := faux
sinon si psarConfirmation == “OBV”
si oscOBV > 0
psarBuy := vrai
psarSell := faux
sinon si oscOBV < 0
psarSell := vrai
psarBuy := faux
psarBuySignal = psarDir == 1 and psarDir[1] == -1 and (filterEMA200 ? open > ema200 : true)
psarSellSignal = psarDir == -1 and psarDir[1] == 1 and (filterEMA200 ? open < ema200 : true)
eMAMA : = fMAMA (sourceGlobal, slowlimitEMAMA, fastlimitEMAMA) * sourceGlobal + (1 - fMAMA (sourceGlobal, slowlimitEMAMA, fastlimitEMAMA)) * nz (eMAMA [1])
eFAMA : = 0,5 * fMAMA (sourceGlobal, slowlimEMEMA) + (1 - .5 * fMAMA (sourceGlobal, slowlimitEMAMA, fastlimitEMAMA)) * nz (eFAMA [1])
longMAMA = croisement (eMAMA, eFAMA)
shortMAMA = croisement (eMAMA, eFAMA)
fillEMAMA = eMAMA> eFAMA ? color.new (coloreMAMA, 80): color.new (coloreFAMA, 80)
srsiK = sma(stoch(valueRSI, valueRSI, valueRSI, lengthStoch), smoothK)
srsiD = sma(srsiK, smoothD)
fastMACD = ema(sourceGlobal, lengthMACDfast)
slowMACD = ema(sourceGlobal, lengthMACDslow)
macd = fastMACD – slowMACD
signalMACD = ema(macd, lengthMACDsignal)
adCMF = fermer==haut et fermer==bas ou haut==bas ? 0 : ((2*fermer-bas-élevé)/(élevé-bas))*volume
mfCMF = somme(adCMF, longueurCMF) / somme(volume, longueurCMF)
// ================================= //
// —-> Paramètres conditionnels <—- //
// ================================== //
// ================================= //
// ——-> Atténuation des risques <——– //
// ================================== //
// ================================= //
// ——–> Ordre logique <——— //
// ================================== //
// ——————————————-<[ Affichage graphique ]>——————————————
// TEMA trace
plotTemaSlow = plot(showTEMA ? temaSlow: na, color=color.new(colorTEMASlow,20), title=”TEMA Slow plot”, linewidth=thicknessTEMA)
plotTemaFast = plot(showTEMA ? temaFast: na, color=color .new(colorTEMAFast,20), title=”TEMA Fast plot”, linewidth=thicknessTEMA)
plotshape(showTEMA et longTema ? temaFast : na, style=shape.triangleup, location=location.absolute,
size=size.tiny, title=”TEMA Cross Up”, color=color.new(colorTEMAFast,10))
plotshape(showTEMA et shortTema ? temaSlow : na, style=shape.triangledown, location=location.absolute,
size=size.tiny, title=”TEMA Cross Down”, color=color.new(colorTEMASlow,10))
fill(plotTemaFast, plotTemaSlow, color=showTEMAfill ? fillTema : transparent, title=”Remplissage TEMA”)
// Tracés EMA
plotEmaFast = plot(showEMA ? emaFast: na, title=’EMA Fast Plot’, color=colorEMAFast, linewidth=thicknessEMA)
plotEmaSlow = plot(showEMA ? emaSlow: na, title=’EMA Slow Plot’, color= colorEMASlow, linewidth=thicknessEMA)
plotEMA200 = plot(showEMA ? ema200 : na, title=’EMA Additional Plot’, color=colorEMA200, linewidth=thicknessEMA)
plotshape(showEMA et longEMA ? emaFast : na, style=shape.triangleup, location=location.absolute, size=size.tiny,
title=”EMA Cross Up”,color=colorEMAFast)
plotshape(showEMA et shortEMA ? emaFast : na, style=shape.triangledown, location=location.absolute, size=size.tiny,
title=”EMA Cross Down”,color=colorEMASlow)
fill(plotEmaFast, plotEmaSlow, color=showEMAfill ? fillEMA : transparent, title=”EMA fill” )
// Tracés PSAR
psarPlot = plot(showPSAR ? psar: na, title=”PSAR”, style=plot.style_circles, linewidth=1, color=colorPSAR)
plotshape(showPSAR and psarBuySignal and psarHighlightStartPoints ? psar : na, title=”PSAR Long Start”, location=location.absolute,
style=shape.circle, size=size.tiny, color=colorPSARLong)
plotshape(showPSAR et psarBuySignal et psarShowLabels et psarBuy ? psar : na, title=”PSAR Buy Label”, text= ”Acheter”, location=location.absolute,
style=shape.labelup, size=size.tiny, color=colorPSARLong, textcolor=color.white)
plotshape(showPSAR and psarSellSignal and psarHighlightStartPoints ? psar : na, title=”PSAR Short Start ”, location=location.absolute,
style=shape.circle, size=size.tiny, color=colorPSARShort)
plotshape(showPSAR et psarSellSignal et psarShowLabels et psarSell ? psar : na, title=”PSAR Sell Label”, text=”Sell”, location=location.absolute,
style=shape.labeldown, size=size.tiny, color=colorPSARShort, textcolor=color.white)
psarMidPricePlot = plot(ohlc4, title=””, display=display.none, editable=false)
fill(psarMidPricePlot, psarPlot, title=”PSAR Trade State Filling”, color=colorPSARFill)
ploteMAMA = plot(showeMAMA ? eMAMA : na, title=”Ehler’s MAMA”, linewidth=thicknessEMAMA, style=plot.style_line, color=coloreMAMA)
ploteFAMA = plot(showeMAMA ? eFAMA : na, title=”Ehler’s FAMA”, linewidth= épaisseurEMAMA, style=plot.style_line, color=coloreFAMA)
plotshape(showeMAMA et longMAMA ? eFAMA : na, style=shape.triangleup, location=location.absolute, size=size.tiny, title=”eMAMA Cross Up”,
color= color.new(coloreMAMA,10))
plotshape(showeMAMA et shortMAMA ? eFAMA : na, style=shape.triangledown, location=location.absolute, size=size.tiny, title=”eMAMA Cross Down”,
color=color.new (coloreFAMA,10))
fill(ploteMAMA, ploteFAMA, color=showEMAMAfill ? fillEMAMA : transparent, title=”eMAMA fill”)
// —————————————————<[ Exécution de la stratégie ]>————————————————-
// N/A, ceci est une étude.
// ——————————————————-<[ Tableaux ]>———————————————————
// S’affiche en rouge pour les signaux baissiers, en vert pour les signaux haussiers.
var table summaryTable = table.new(tablePosition, 3, 3)
if (barstate.islast et showTable)
table.cell(summaryTable, 0, 0, “PSAR”,text_size=tableTextSize, bgcolor = psarDir == 1 ? color.green : color.red)
rsiDirection = fDirection(valueRSI,1)
table.cell(summaryTable, 0, 1, « RSI » + tostring(round(valueRSI,0)) + rsiDirection,text_size=tableTextSize,
bgcolor = iff(valueRSI > rsiOverbought, color.red, iff(valueRSI < rsiOversold, color.green, color.yellow)))
srsiDirection = fDirection(srsiK,1)
table.cell(summaryTable, 0, 2, "K" + tostring(round(srsiK,0)) + srsiDirection, text_size=tableTextSize,
bgcolor=iff(srsiK > srsiOverbought, color.red, iff(srsiK < srsiOversold, color.green, srsiK > srsiD ? color.green : color.red)))
emaDirection = fDirection(emaFast,1)
table.cell(summaryTable, 1, 0, “EMA” + emaDirection,text_size=tableTextSize,
bgcolor = emaFast > emaSlow et emaFast > emaFast[1] ? color.green : color.red)
/ / Voir si emaFast a augmenté au cours des deux dernières périodes.
si montant(emaFast,2) et emaFast < emaSlow
table.cell_set_bgcolor(summaryTable, 1, 0, color.yellow)
directionTEMA = fDirection(temaFast,1)
table.cell(summaryTable, 1, 1, “TEMA” + directionTEMA,text_size=tableTextSize,
bgcolor = temaFast > temaSlow and temaFast > temaFast[1] ? color.green : color.red)
/ / Voir si temaFast a augmenté au cours des deux dernières périodes.
si montant(temaFast,2) et temaFast < temaSlow
table.cell_set_bgcolor(summaryTable, 1, 1, color.yellow)
directionMAMA = fDirection(eMAMA,1)
table.cell(summaryTable, 1, 2, "eMAMA" + directionMAMA,text_size=tableTextSize,
bgcolor = eMAMA > eFAMA et eMAMA > eFAMA[1] ? color.green : color.red)
/ / Voir si temaFast a augmenté au cours des deux dernières périodes.
si montant(eMAMA,2) et eMAMA < eFAMA
table.cell_set_bgcolor(summaryTable, 1, 2, color.yellow)
directionMACD = fDirection(macd,2)
table.cell(summaryTable, 2, 0, “MACD ” + directionMACD, text_size=tableTextSize, bgcolor= macd > signalMACD ? color.green : color.red)
directionOBV = fDirection(shortOBV,2)
table.cell(summaryTable, 2, 1, “OBV ” + directionOBV, text_size=tableTextSize, bgcolor= shortOBV > 0 ? color.green : color.red)
directionCMF = fDirection(mfCMF,2)
table.cell(summaryTable, 2, 2, “CMF ” + directionCMF + tostring(mfCMF, “#.##”), text_size=tableTextSize, bgcolor= mfCMF > 0 ? color.green : La couleur rouge)
// —————————————————<[ Alertes ]>————————————————-
alertcondition(shortTema, title=”TEMA Crossing Short”, message=”Signal court pour {{ticker}} sur {{interval}}.”)
alertcondition(longTema, title=”TEMA Crossing Long”, message=”Signal long pour {{ticker}} sur {{intervalle}}.”)
alertcondition(longEMA ? emaFast : na, title=”EMA Crossing Up”, message=”EMA Crossing Up on {{ticker}} on {{interal}}.”)
alertcondition(shortEMA ? emaFast: na, title=”EMA Crossing Up Down”, message=”EMA Crossing Down {{ticker}} sur {{interval}}.””)
alertcondition(psarChangeCond, title=”PSAR Direction Change”, message=”PSAR a changé de direction pour {{ticker}} sur {{interval}}.”)
alertcondition(psarBuySignal, title=”PSAR Long”, message=”PSAR Long signal pour {{ticker}} sur {{interval}}.”)
alertcondition(psarSellSignal, title=”PSAR Short”, message=”Signal PSAR Short pour {{ticker}} sur {{interval}}.”)
Ce serait sympa d’ajouter des images et une description la prochaine fois. Après une rapide recherche sur internet, j’ai retrouvé le code source et des images. Il s’agit simplement d’appliquer sur ton graphique les indicateur PSAR, une EMA et une TEMA avec les mêmes paramètres, tu obtiendras exactement la même chose 🙂
Bonjour nicolas
merci pour ton retour .
oui je mettrais une image sur mes prochains poste je pensais que cela suffisait.
Je reviens vers toi j’ai partagé une stratégie dans la bibliothèque CE JOUR 15/05/22 afin d’avoir vos avis et afin de pouvoir l’améliorer.
Merci
Disons que c’est plus simple pour la compréhension avec une image de l’indicateur. Merci pour ton partage.
Bonjour nicolas,
j’avais partagé deux algos afin de pouvoir travailler avec vous pour améliorer la rentabilité dessus. Mais je ne sais pas si vous les avez vu je ne l’ai voit pas? c’est bien dans la librairie que je dois vous le partager comme indiqué.
merci encore pour vos retours.
Pour échanger avec les autres utilisateurs et s’aider mutuellement sur le développement d’une stratégie, le mieux c’est de poster sur le forum dans la section ProOrder (anglophone si possible car toujours plus active, mais à convenance 🙂 )
bonjour nicolas
Ok merci je vais refaire le partage apres midi.
Si problème revient poster ici à la suite 😉
indicateur EHLERS PSAR+EMA+TEMA
This topic contains 7 replies,
has 2 voices, and was last updated by
Nicolas
3 years, 10 months ago.
| Forum: | ProBuilder : Indicateurs & Outils Personnalisés |
| Language: | French |
| Started: | 05/07/2022 |
| Status: | Active |
| Attachments: | No files |
The information collected on this form is stored in a computer file by ProRealCode to create and access your ProRealCode profile. This data is kept in a secure database for the duration of the member's membership. They will be kept as long as you use our services and will be automatically deleted after 3 years of inactivity. Your personal data is used to create your private profile on ProRealCode. This data is maintained by SAS ProRealCode, 407 rue Freycinet, 59151 Arleux, France. If you subscribe to our newsletters, your email address is provided to our service provider "MailChimp" located in the United States, with whom we have signed a confidentiality agreement. This company is also compliant with the EU/Swiss Privacy Shield, and the GDPR. For any request for correction or deletion concerning your data, you can directly contact the ProRealCode team by email at privacy@prorealcode.com If you would like to lodge a complaint regarding the use of your personal data, you can contact your data protection supervisory authority.