Draw chiusura giorno precedente

Viewing 15 posts - 1 through 15 (of 20 total)
  • Author
    Posts
  • #169253 quote
    MauroPro
    Participant
    Veteran

    Ciao Roberto, ti chiedo una cosa semplice: vorrei disegnare una linea-segmento, dalla chiusura di ieri (ore 17:30) fino a tutta la giornata di oggi (diciamo fino alle 22:15).

    Basterebbe riadattare questo codice che ho trovato, il quale disegna una linea del massimo Massimo delle ultime 30 barre (ma ancora non ho avuto tempo di approfondire le funzioni draw). Se hai un codice migliore è uguale.

    DEFPARAM DRAWONLASTBARONLY = true
    hh = highest[30](high)
    DRAWSEGMENT(barindex-30,hh,barindex,hh)coloured(0,128,0,255)
    RETURN

    Grazie

     

    Ne approfitto per segnalare che nella libreria degli indicatori di proRealCode non è presente la formula del Chande-Kroll (https://www.prorealcode.com/library-list-view/).

    Mi riferisco al “Chande Kroll Stop (sul prezzo)” che si trova nella lista degli indicatori di default di proRealTime.

    Lo ho ricreato uguale, se vuoi e pensi sia utile per gli altri utenti lo puoi inserire nella libreria (provalo per conferma prima, ma mi sembra identico). CIAO

     

    nPeriod = 10
    multiplier = 3
    atr = averageTrueRange[nPeriod]
    nPeriod2 = 20
    
    up   = (Highest[nPeriod](high)) - multiplier*atr
    down = (Lowest[nPeriod](low)) + multiplier*atr
    ChandeKrollUp   = Highest[nPeriod2](up)
    ChandeKrollDown = Lowest[nPeriod2](down)
    
    Return ChandeKrollUp as "ChandeKrollUp", ChandeKrollDown as "ChandeKrollDown"
    #169264 quote
    robertogozzi
    Moderator
    Master

    Eccolo:

    DEFPARAM DRAWONLASTBARONLY = true
    hh = highest[30](high)
    IF Time = 173000 THEN
       Inizio = BarIndex
    ENDIF
    Fine = 48                                    //48 (o 46?) barre sul TF a 30 minuti (da variare come
    //                                                vuoi secondo il TF, sono il numero di barre in
    //                                                un'intera giornata di trading
    DRAWSEGMENT(Inizio,hh,Inizio+Fine,hh)coloured(0,128,0,255)
    RETURN

    L’indicatore è fedele come quello di PRT. Generalmente nella libreria ci sono quelli che mancano (a volte con poche differenze) alla piattaforma, magari qualcuno c’è in entrambe perché PRT l’ha aggiunto in qualche nuova versione.

    Ad ogni modo se lo vuoi aggiungere segui il link https://www.prorealcode.com/library/ (cliccando sul simbolo + per aggiungere il codice), poi indicando che si tratta di un indicatore e seguendo le richieste (aggiungendo una foto di come appare ed una descrizione del funzionamento).

    #169284 quote
    MauroPro
    Participant
    Veteran

    Ho provato, la formula. Per tracciare il close di ieri, va bene questa formula (Dax – 2 minuti)

    DEFPARAM DRAWONLASTBARONLY = true
    Chiusura = Dclose(1)
    IF Time = 173000 THEN
    Inizio = BarIndex
    ENDIF
    Fine = 720                                   //2 minuti (da variare come
    //                                                vuoi secondo il TF, sono il numero di barre in
    //                                                un'intera giornata di trading
    DRAWSEGMENT(Inizio,Chiusura,Inizio+Fine,Chiusura)coloured(0,128,0,255)
    RETURN

    Se invece volessi tracciare il close di un mercato americano, in Time scrivo 221500, ma come faccio ad identificare la chiusura senza Dclose(1)?

    In pratica, come posso identificare nella variabile Chiusura il prezzo alle 221500? Grazie

    #169290 quote
    robertogozzi
    Moderator
    Master

    Si, cambia l’ora.

    Puoi usare (non l’ho provato):

    CLOSE[IntraDayBarIndex+1]
    
    #169293 quote
    MauroPro
    Participant
    Veteran

    Non funziona, non viene plottato nulla

    DEFPARAM DRAWONLASTBARONLY = true
    Chiusura = CLOSE[IntraDayBarIndex+1]
    IF Time = 221500 THEN
    Inizio = BarIndex
    ENDIF
    Fine = 720                                   //2 minuti (da variare come
    //                                                vuoi secondo il TF, sono il numero di barre in
    //                                                un'intera giornata di trading
    DRAWSEGMENT(Inizio,Chiusura,Inizio+Fine,Chiusura)coloured(0,128,0,255)
    RETURN
    
    #169298 quote
    robertogozzi
    Moderator
    Master

    Sul NASDAQ, 5 minuti, mi stampa come da foto (ho aggiunto il prezzo di chiusura):

    DEFPARAM DRAWONLASTBARONLY = true
    Chiusura = CLOSE[IntraDayBarIndex+1]
    IF Time = 221500 THEN
       Inizio = BarIndex
    ENDIF
    Fine = 276                                   //2 minuti (da variare come
    //                                                vuoi secondo il TF, sono il numero di barre in
    //                                                un'intera giornata di trading
    DRAWSEGMENT(Inizio,Chiusura,Inizio+Fine,Chiusura)coloured(0,128,0,255)
    drawtext("Close #Chiusura#",barindex,Chiusura + range)
    RETURN
    x-11.jpg x-11.jpg
    #169370 quote
    MauroPro
    Participant
    Veteran

    Ciao Roberto, il tuo codice sopra sul Nasdaq funziona. Il mio (sopra il tuo) va bene. Ho scoperto che non plottava nulla soltanto perchè nel TF a 2 minuti dovevo scrivere (in Time) 221400 ( e non 221500, che invece va bene sul 3 minuti e multipli).

    Potresti invece ricontrollare quello a due minuti sul Dax, con chiusura alle 17:24 che non va bene e non capisco il motivo? (allego codice ed immagine).  Il Dax ha chiuso intorno a 15400, mentre la linea è 50 punti sotto.

    DEFPARAM DRAWONLASTBARONLY = true
    Chiusura = Dclose(1)    
    IF Time = 172400 THEN
    Inizio = BarIndex
    ENDIF
    Fine = 720                                 // minuti da variare come vuoi secondo il TF,
    //                                           sono il numero di barre in un'intera giornata di trading
    //     48 (30) - 288 (5) - 480(3) - 720(2)
    
    DRAWSEGMENT(Inizio,Chiusura,Inizio+Fine,Chiusura)coloured(0,128,0,255)
    drawtext("Close #Chiusura#",barindex,Chiusura + range)
    
    RETURN

     

    Grazie

    (sarebbe anche possibile ingrandire il carattere del drawtext che hai inserito?)

    Image-001.jpg Image-001.jpg
    #169377 quote
    robertogozzi
    Moderator
    Master

    A me funziona (vedi foto).

    Per la grandezza dei caratteri, modifica DRAWTEXT così (https://www.prorealcode.com/documentation/drawtext/):

    drawtext("Close #Chiusura#",barindex,Chiusura + range,Dialog,Bold,15) //grandezza 10-30
    x-13.jpg x-13.jpg
    #169380 quote
    MauroPro
    Participant
    Veteran

    Mi sembra che la tua immagine sia come la mia: la linea è 50 punti sotto il valore del prezzo di chiusura (o sbaglio qualcosa?)

    #169382 quote
    robertogozzi
    Moderator
    Master

    E’ a 15347.7, la chiusura di ieri.

    #169384 quote
    MauroPro
    Participant
    Veteran

    Anche da me la linea che plotta drawtext è a 15347.7, ma non corrisponde, come si vede dall’immagine, al valore di chiusura della candela delle 17:24 e neanche a quelle vicine (dalle 17:20 a 17:30 il prezzo è sempre sopra 15400).

    Image-001-1.jpg Image-001-1.jpg
    #169386 quote
    MauroPro
    Participant
    Veteran

    Il punto è: che valore di chiusura prende IG? A che ora calcola la chiusura di giornata a 15347.7? Perchè non corrisponde all’orario delle 17:30 o dintorni.

    #169389 quote
    robertogozzi
    Moderator
    Master

    Alla chiusura della candela Daily (alle 01:00).

    Se vuoi quello delle 17:30 basta salvare il dato a quell’ora, però non è significativo, in quanto si tratta di un CFD che IG trada 24 ore, perfino nei fine settimana e non è legato alle borse; anche le quotazioni, pur simili, possono avere anche 30-40 pips di differenza.

    Ad ogni modo se vuoi prendere la chiusura delle 17:30 ecco la modifica:

    DEFPARAM DRAWONLASTBARONLY = true
    //Chiusura = Dclose(1)
    IF OpenTime = 173000 THEN
       Chiusura = close
    ENDIF
    IF Time = 172400 THEN
       Inizio = BarIndex
    ENDIF
    Fine = 720                                 // minuti da variare come vuoi secondo il TF,
    //                                           sono il numero di barre in un'intera giornata di trading
    //     48 (30) - 288 (5) - 480(3) - 720(2)
    DRAWSEGMENT(Inizio,Chiusura,Inizio+Fine,Chiusura)coloured(0,128,0,255)
    drawtext("Close #Chiusura#",barindex,Chiusura + range,Dialog,Bold,15) //grandezza 10-30
    RETURN
    MauroPro thanked this post
    #169391 quote
    MauroPro
    Participant
    Veteran

    Perfetto, ora funziona bene (purtroppo i cdf hanno questi problemi di orari non ufficiali).

    Grazie

    #171547 quote
    MauroPro
    Participant
    Veteran

    Ciao Roberto, potresti aggiungere al codice sopra riportato, oltre la linea del close orario del giorno prima anche le linee del massimo e minimo daily (sempre del giorno prima) con la funzione draw?

    Grazie

Viewing 15 posts - 1 through 15 (of 20 total)
  • You must be logged in to reply to this topic.

Draw chiusura giorno precedente


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Author
author-avatar
MauroPro @mauropro Participant
Summary

This topic contains 19 replies,
has 2 voices, and was last updated by MauroPro
4 years, 9 months ago.

Topic Details
Forum: ProBuilder: Indicatori & Strumenti Personalizzati
Language: Italian
Started: 05/10/2021
Status: Active
Attachments: 5 files
Logo Logo
Loading...