L'éditeur de pin n'a toujours pas de fonctions intégrées pour tracer les lignes (telles que les lignes de support, les lignes de tendance). Je n'ai trouvé aucune méthode directe ou indirecte pour tracer des lignes. Je veux créer une fonction qui ressemble à ci-dessous (par exemple uniquement)
draw_line(price1, time1,price2, time2)
des idées ou des suggestions?
Malheureusement, je ne pense pas que ce soit quelque chose qu'ils souhaitent offrir. Remarquant plusieurs messages prometteurs d'il y a 4 ans qui n'ont jamais été publiés. La seule autre façon, semble impliquer certains calculs, en rapprochant votre ligne avec certains tracés de ligne, où vous cachez les parties non pertinentes.
Pour exemple :
...
c = close >= open ? Lime : red
plot(close, color = c)
produirait quelque chose comme ceci:
Ensuite, vous pouvez essayer de remplacer red
par na
pour obtenir uniquement les parties vertes.
Exemple 2
J'ai fait quelques expériences supplémentaires. Apparemment, Pine est tellement paralysé que vous ne pouvez même pas mettre un tracé en fonction, donc la seule façon semble être d'utiliser la formule de pente de point pour une ligne, comme ceci:
//@version=3
study(title="Simple Line", shorttitle='AB', overlay=true)
P1x = input(5744)
P1y = input(1.2727)
P2x = input(5774)
P2y = input(1.2628)
plot(n, color=na, style=line) // hidden plot to show the bar number in indicator
// point slope
m = - (P2y - P1y) / (P2x - P1x)
// plot range
AB = n < P1x or n > P2x ? na : P1y - m*(n - P1x)
LA = (n == P1x) ? P1y : na
LB = (n == P2x) ? P2y : na
plot(AB, title="AB", color=#ff00ff, linewidth=1, style=line, transp=0)
plotshape(LA, title='A', location=location.absolute, color=silver, transp=0, text='A', textcolor=black, style=shape.labeldown)
plotshape(LB, title='B', location=location.absolute, color=silver, transp=0, text='B', textcolor=black, style=shape.labelup )
Le résultat est assez sympa, mais trop gênant à utiliser.
MISE À JOUR: 2019-10-01
Apparemment, ils ont ajouté de nouvelles fonctionnalités de ligne à Pinescript4.0+
. Voici un exemple d'utilisation de la nouvelle fonction vline()
:
//@version=4
study("vline() Function for Pine Script v4.0+", overlay=true)
vline(BarIndex, Color, LineStyle, LineWidth) => // Verticle Line, 54 lines maximum allowable per indicator
return = line.new(BarIndex, -1000, BarIndex, 1000, xloc.bar_index, extend.both, Color, LineStyle, LineWidth)
if(bar_index%10==0.0)
vline(bar_index, #FF8000ff, line.style_solid, 1) // Variable assignment not required
Quant à l'autre "nouvelle" fonction ligne, je ne l'ai pas encore testée.
Ceci est désormais possible dans Pine Script v4 :
//@version=4
study("Line", overlay=true)
l = line.new(bar_index, high, bar_index[10], low[10], width = 4)
line.delete(l[1])
Code plus compact pour les lignes de dessin:
//@version=3
study("Draw line", overlay=true)
plot(n, color=na, style=line)
AB(x1,x2,y1,y2) => n < x1 or n > x2 ? na : y1 + (y2 - y1) / (x2 - x1) * (n - x1)
plot(AB(10065,10136,3819,3893), color=#ff00ff, linewidth=1, style=line,
transp=0)
plot(AB(10091,10136,3966.5,3931), color=#ff00ff, linewidth=1, style=line,
transp=0)