DRAWRAY
DRAWRAY in ProBuilder disegna una semiretta che parte da un punto e si estende all'infinito attraverso un secondo punto, con un colore COLOURED opzionale. Sintassi ed esempi.
Sintassi
DRAWRAY(x1, y1, x2, y2) COLOURED(R, G, B, a)Parametri
| Nome | Tipo | Predefinito | Descrizione |
|---|---|---|---|
x1 | intero | obbligatorio | Coordinata X del punto iniziale, normalmente un indice di bar. |
y1 | prezzo | obbligatorio | Coordinata Y del punto iniziale, un prezzo o un valore calcolato. |
x2 | intero | obbligatorio | Coordinata X di un secondo punto che definisce la direzione. |
y2 | prezzo | obbligatorio | Coordinata Y del secondo punto. |
R, G, B | intero | predefinito della piattaforma | Opzionale COLOURED componenti rosso, verde e blu, da 0 a 255. |
a | intero | 255 | Alpha opzionale (trasparenza), da 0 completamente trasparente a 255 completamente opaco. |
Come funziona
DRAWRAY funziona all'interno di un indicatore ProBuilder. Disegna una semiretta che parte da (x1, y1) e passa attraverso (x2, y2), poi continua oltre quel secondo punto senza fermarsi. La direzione dipende dall'ordine delle coppie: se (x1, y1) è a destra di (x2, y2), la semiretta si estende verso sinistra, e viceversa.
Questo distingue DRAWRAY da DRAWLINE e DRAWSEGMENT, che terminano ai loro due punti. Come per gli altri oggetti di disegno, gli script impostano DEFPARAM DrawOnLastBarOnly = true così la semiretta viene disegnata una sola volta. Il COLOURED clausola è opzionale.
Esempi
Esempio 1, Una singola linea di tendenza proiettata (Indicatore)
// Ray from a swing low projected forward through the current low
DEFPARAM DrawOnLastBarOnly = true
DRAWRAY(BarIndex-40, low[40], BarIndex, low) COLOURED(0, 120, 255)
RETURNLa semiretta parte 40 bar indietro e continua oltre il bar corrente, proiettando l'inclinazione in avanti.
Esempio 2, Semirette dagli estremi del periodo (Indicatore)
// Two red rays built from the highest high and lowest low over a period
DEFPARAM DrawOnLastBarOnly = true
period = 70
IF IsLastBarUpdate THEN
y2 = Lowest[period](low)
yy2 = Highest[period](high)
FOR i = 0 TO period DO
IF low[i] = y2 THEN
x2 = BarIndex[i]
ENDIF
IF high[i] = yy2 THEN
xx2 = BarIndex[i]
ENDIF
NEXT
x1 = BarIndex
y1 = low
xx1 = BarIndex
yy1 = high
DRAWRAY(x1, y1, x2, y2) COLOURED(255, 10, 10)
DRAWRAY(xx1, yy1, xx2, yy2) COLOURED(255, 10, 10)
ENDIF
RETURNProteggere il calcolo con IsLastBarUpdate esegue il ciclo una sola volta. Ogni raggio è ancorato a un estremo del periodo e proiettato attraverso la bar corrente.
Esempio 3, Semiretta orizzontale come livello aperto (Indicatore)
// A grey ray at a fixed price extending to the right
DEFPARAM DrawOnLastBarOnly = true
DRAWRAY(BarIndex-10, close[10], BarIndex, close[10]) COLOURED(128, 128, 128)
RETURNPoiché i due valori y sono uguali, la semiretta è orizzontale e si estende a destra del punto di partenza.
Errori e insidie comuni
- Solo indicatori.
DRAWRAYnon ha effetto in ProScreener, ProOrder o ProBacktest. Mantienilo in un indicatore ProBuilder. - La direzione dipende dall'ordine dei punti. Scambiare i due punti inverte la direzione in cui si estende la semiretta. Verifica quale coppia è l'ancora.
- X è un indice di bar. Passare un prezzo a
x1ox2posiziona male la semiretta. UsaBarIndexo scostamenti da esso. - Alternative delimitate. Per una linea che termina a entrambi i punti, usa
DRAWLINEoDRAWSEGMENTinvece.
Istruzioni correlate
DRAWLINE, una linea delimitata dai suoi due punti.DRAWSEGMENT, un segmento tra due punti.DRAWHLINE, una linea orizzontale a un solo prezzo.DRAWVLINE, una linea verticale a un indice di bar.COLOURED, imposta colore e trasparenza.DrawOnLastBarOnly, limita il disegno all'ultima bar per motivi di prestazioni.IsLastBarUpdate, esegue un blocco una sola volta sull'ultimo bar.BarIndex, fornisce le coordinate x.