Pivot Point su time frame variabile (formula classica)

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #104019 quote
    sir_i
    Participant
    Junior

    Ciao a tutti! Ragazzi scusate, ho cercato ma non ho trovato nulla sul forum. Chiedo venia se c’è già un argomento a d’uopo.

    Avrei bisogno di un indicatore di Pivot Point, con il calcolo classico, per il quale sia possibile cambiare il time frame di riferimento. La piattaforma 10.3 installata sul computer offre di default il 2 e il 4 ore per calcolare i punti pivot. Seguendo però il cambio GBP/USD ho notato che il 4 ore inizia dalle ore 02:00 > 06:00, 06:00 > 10:00, etc. Non saprei dire se sia un problema di fuso orario (Europa centrale +2:00) Ma così non mi è utile e sono costretto a calcolare i pivot a mano, infatti il pivot sul 4 ore dovrebbe partire dalle ore (00:00 > 04:00),  (04:00 > 08:00), ( 08:00 > 12:00), e così a seguire.

    Io avrei bisogno di due possibilità:

    1. Calcolare i pivot sul 3 ore partendo da un orario che imposto manualmente, per esempio: 09:00 > 11:00

    2. Calcolare i pivot sul 4 ore partendo da un orario che imposto manualmente, per esempio: 08:00 > 12:00

    Potrebbe andare bene un unico codice purché permetta di modificare velocemente gli orari di apertura e chiusura del time frame di riferimento senza dover aprire la pagina del codice.

    Ringrazio anticipatamente

    #104061 quote
    robertogozzi
    Moderator
    Master

    Non so con quale broker tu operi, ma IG fa partire il nuovo giorno alle ore 01:00 CET, o Italia (Utc +2), per cui le candele iniziano SEMPRE (orari non modificabili) alle 01:00, quindi le candele a 4 ore avranno inizio alle 1, 5, 9, 13, 17 e 21, quelle a 3 ore alle 1, 4, 7, 10, 13, 16, 19 e 22.

    Non so dove tu abbia preso quegli orari strani, 02, 06, ecc…

    Forse hai cambiato il fuso orario della piattaforma e del tuo PC, ma è solo un effetto visivo. Se metti l’orario di LONDRA (Utc +1 o Cet -1), vedrai indicato un orario diverso, ma è solo un’etichetta, l’orario di formazione è impostato sul server del broker e non puoi cambiarlo. La candela che tu vedi alle 01:00:00 è la stessa che a Londra vedono alle 00:00:00 o a Sydney alle 09:00:00 (Utc +10, o Cet +8).

    Calcolare i Pivot su orari diversi da quello del broker è impossibile, ma se fosse possibile sarebbe anche fuorviante, perché tu operi col tuo broker, come gli altri clienti, quindi tutti si basano su quelle candele e quei pivot, se tu non lo fai rischi di andare controcorrente.

    Utilizzando la riga di ricerca che si apre quando passi col mouse sul tuo avatar (in alto a destra della riga blu del forum) puoi cercare PIVOT e troverai moltissimi riferimenti ed esempi.

    Ad ogni modo, il calcolo dei pivot DAILY è questo:

    //     Predefined PRT calculation (H+L+C)/3
    //
    Pivt = (DHigh(1) + DLow(1) + DClose(1))/3 // - Pivot
    Res3 = DHigh(1)+(2*(Pivt-DLow(1)))        //Res3
    Res2 = Pivt+(DHigh(1)-DLow(1)             //Res2
    Res1 = (2*Pivt) - DLow(1)                 //Res1
    Sup1 = (2*Pivt) - DHigh(1)                //Sup1
    Sup2 = Pivt-(DHigh(1)-DLow(1)             //Sup2
    Sup3 = DHigh(1)+(2*(Pivt-DLow(1)))        //Sup3

    per quelli di altri orari basta che fai i riferimenti ad HIGH, LOW e CLOSE (senza la D iniziale) ed usi le parentesi quadre anziché tonde.

    Quanto a stabilire un’ora d’inizio ed una di fine, questo è possibile.

    sir_i thanked this post
    #104336 quote
    sir_i
    Participant
    Junior

    Ciao Roberto, ti ringrazio come sempre per il supporto.

    Sto tentando di modificare il codice, ma al momento della convalida viene fuori un errore relativo alla voce Res2 e Sup2 , il testo a destra di colore grigio. Puoi notare, dall’immagine allegata, i segni in rosso accanto alle voci suddette. Come posso risolvere?

    #104344 quote
    robertogozzi
    Moderator
    Master

    A quelle due righe basta che aggiungi le parentesi tonde di chiusura finali.

    #104350 quote
    sir_i
    Participant
    Junior

    Ok, bene, e alla voce return (richiesta in convalida) cosa debbo aggiungere?

    #104354 quote
    robertogozzi
    Moderator
    Master

    RETURN Pivt, Res1, Res2, Res3, Sup1, Sup2, Sup3

    sir_i thanked this post
    #104420 quote
    sir_i
    Participant
    Junior

    Ciao Roberto, il codice non gira, forse ho sbagliato qualcosa, ma assegnando delle variabili per i valori H,L,C viene fuori l’errore che allego.

    Vorrei semplicemente inserire i valori nella finestra setting, invece che doverlo fare nella finestra di edit del codice.

    //     Predefined PRT calculation (H+L+C)/3
    //
    Pivt = (High[Hig] + Low[Lo] + Close[Cl])/3 // - Pivot
    Res3 = High[Hig]+(2*(Pivt-Low[Lo]))        //Res3
    Res2 = Pivt+(High[Hig]-Low[Lo])             //Res2
    Res1 = (2*Pivt) - Low[Lo]                 //Res1
    Sup1 = (2*Pivt) - High[Hig]                //Sup1
    Sup2 = Pivt-(High[Hig]-Low[Lo])             //Sup2
    Sup3 = High[Hig]+(2*(Pivt-Low[Lo]))        //Sup3
    
    RETURN Pivt, Res1, Res2, Res3, Sup1, Sup2, Sup3
    
    #104427 quote
    robertogozzi
    Moderator
    Master

    Stai usando la varibile HIG, ma non ha alcun valore, devi assegnargli un valore.

    #104467 quote
    sir_i
    Participant
    Junior

    Scusa Roberto ma non capisco dove sbaglio, vorrei poter aggiungere i prezzi high low e close, ma restituisce l’errore “Un parametro di tipo intero positivo è atteso con [ ]” Dal momento che il cambio gbp/usd ha la virgola, come gliela faccio prendere? In più vorrei che le indicazioni pivot fossero temporali, ovvero da tot orario a tot orario, invece così codificato e lasciando i valori tutti su 1 viene fuori un indicatore che copre tutto lo storico del grafico. Aspetto tue notizie.

    //     Predefined PRT calculation (H+L+C)/3
    //
    Pivt = (High[A] + Low[B] + Close[C])/3 // - Pivot
    Res3 = High[A]+(2*(Pivt-Low[B]))        //Res3
    Res2 = Pivt+(High[A]-Low[B])             //Res2
    Res1 = (2*Pivt) - Low[B]                 //Res1
    Sup1 = (2*Pivt) - High[A]                //Sup1
    Sup2 = Pivt-(High[A]-Low[B])             //Sup2
    Sup3 = High[A]+(2*(Pivt-Low[B]))        //Sup3
    
    RETURN Pivt, Res1, Res2, Res3, Sup1, Sup2, Sup3

    Le variabili A, B, C, corrispondono alle tre variabili di prezzo modificabili.

    Dove sbaglio?

    #104474 quote
    robertogozzi
    Moderator
    Master

    Assegna dei valori ad A, B e C, o indica delle costanti numeriche!!!!

    Scusa, perché ABC, quando il valore da indicare è sempre 1?

    #104587 quote
    sir_i
    Participant
    Junior

    Scusami Roberto, ma non capisco. Non so programmare e non capisco cosa devo cambiare. Inserendo tutti [1] e modificando i prezzi nella modifica il codice non viene convalidato perché attende un valore intero positivo. Se uso le variabili idem stesso problema. Per favore spiegami nel dettaglio, non ho capito neanche cosa siano le costanti numeriche.

    Ti ringrazio

    #104601 quote
    robertogozzi
    Moderator
    Master

    Qusto è il codice che ti calcola i pivot secondo il time frame (orario del grafico) scelto:

    //     Predefined PRT calculation (H+L+C)/3
    //
    Pivt = (high[1] + low[1] + close[1])/3  // - Pivot
    Res3 = high[1]+(2*(Pivt-low[1]))        //Res3
    Res2 = Pivt+(high[1]-low[1])            //Res2
    Res1 = (2*Pivt) - low[1]                //Res1
    Sup1 = (2*Pivt) - high[1]               //Sup1
    Sup2 = Pivt-(high[1]-low[1])            //Sup2
    Sup3 = high[1]+(2*(Pivt-low[1]))        //Sup3
    RETURN Pivt, Res1, Res2, Res3, Sup1, Sup2, Sup3

    Nella foto allegata puoi vedere due grafici identici (DAX, h1):

    • in alto ho messo il pivot giornaliero
    • in basso ho messo questo calcolo intraday.

    Nella programmazione PRT (ma anche in generale) esistono:

    • costanti (solo numeriche in PRT) che, durante l’esecuzione del programma, non cambiano mai, ad esempio high[1], 1 è una costante e rimarrà così finché tu non andrai nel codice a cambiarla
    • variabili (solo numeriche in PRT) che, durante l’esecuzione del programma possono variare, ad esempio ORARIO = time, dove ORARIO è una variabile, in quanto ad ogni nuova candela il suo valore cambierà con un orario diverso.
    sir_i thanked this post
Viewing 12 posts - 1 through 12 (of 12 total)
  • You must be logged in to reply to this topic.

Pivot Point su time frame variabile (formula classica)


Supporto Piattaforma: Grafici, Dati e Broker

New Reply
Author
author-avatar
sir_i @sir_i Participant
Summary

This topic contains 11 replies,
has 2 voices, and was last updated by robertogozzi
6 years, 5 months ago.

Topic Details
Forum: Supporto Piattaforma: Grafici, Dati e Broker
Language: Italian
Started: 08/02/2019
Status: Active
Attachments: 3 files
Logo Logo
Loading...