orari con maggior ampiezza escursione prezzo

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #80426 quote
    MaoRai54
    Participant
    Master

    buongiorno,

    sto facendo dei semplici TS che lavorano solo intraday.

    Vorrei attivarli solo nelle fasce orarie con maggior escursione di prezzo ma non ho trovato alcun indicatore / formula che la calcola.

    Vorrei avere un dato tipo quello che si vede su IG – Dti di mercato.

    Grazie in anticipo a chi mi puo’ aiutare

    maurizio

    #80443 quote
    robertogozzi
    Moderator
    Master

    Prova con questo indicatore, su qualunque TF (ma credo ti interessi particolarmente su H1), vedrai in quale ore i picchi sono più elevati:

    return range

    vedi screenshot.

    MaoRai54 thanked this post
    #80731 quote
    MaoRai54
    Participant
    Master

    grazie Roberto,

    pero’ io avrei voluto vedere solo 24 barre (nel caso di tf 1h) che sono la media degli ultimi x periodi.

    c’e’ un modo ?

    #80732 quote
    robertogozzi
    Moderator
    Master

    Credo di sì, ma sul prezzo, non sotto come adesso.

    Ci provo.

    #80784 quote
    robertogozzi
    Moderator
    Master

    Ho buttato giù questo per il DAX, TF 1 ora, ma è veramente ingestibile. Purtroppo mancano gli array nel linguaggio PRT, per cui per ogni ora occorrono un sacco di righe.

    Oltre ad essere lentissimo funziona solo con il DAX, BUND, FTSE 100 e pochi altri, sulle valute ho provato ma ogni dato sovrascrive il precedente, per cui si vede solo una riga illeggibile. E’ un problema di visualizzazione, occorrerebbe fare moltissime prove. Se pensi possa valerne la pene lascio a te il compito di trovare i settaggi per farlo.

    Occorrerebbe avere i dati in formato eXcel per poterli lavorare a piacimento. Chissà se se ne trovano su internet.

    //DEFPARAM CalculateOnLastBars = 100
    DEFPARAM DrawOnLastBarOnly   = TRUE
    
    Display         = 75                                //visualizzare statistiche sulla 70esima barra precedente
    TotaleBarre     = 60                                //suddividere il totale su 60 barre
    Divisore        = 5                                 //divisore delle barre per il display
    InizioDisplay   = 180 * pipsize                     //offset, sopra CLOSE, da dove iniziare a stampare
    DistanzaRighe   = round((InizioDisplay * 05.0) / 24) * pipsize //distanza, in Pips, tra le righe
    ONCE Contatore  = 0
    
    ONCE Range00    = 0
    ONCE Range01    = 0
    ONCE Range02    = 0
    ONCE Range03    = 0
    ONCE Range04    = 0
    ONCE Range05    = 0
    ONCE Range06    = 0
    ONCE Range07    = 0
    ONCE Range08    = 0
    ONCE Range09    = 0
    ONCE Range10    = 0
    ONCE Range11    = 0
    ONCE Range12    = 0
    ONCE Range13    = 0
    ONCE Range14    = 0
    ONCE Range15    = 0
    ONCE Range16    = 0
    ONCE Range17    = 0
    ONCE Range18    = 0
    ONCE Range19    = 0
    ONCE Range20    = 0
    ONCE Range21    = 0
    ONCE Range22    = 0
    ONCE Range23    = 0
    ONCE TotalRange = 0
    
    IF IntradayBarIndex = 0 THEN
    IF Contatore = 0 THEN
    Contatore = 1
    ELSE
    Contatore = Contatore + 1
    ENDIF
    ENDIF
    
    IF Contatore > 0 THEN
    TotalRange  = TotalRange + range
    MediaRange  = TotalRange / Contatore
    IF OpenHour = 00 THEN
    Range00 = Range00 + range
    Media00 = Range00 / Contatore
    Perc00  = (Media00 * 100) / MediaRange
    Barre00 = max(1,round((Perc00 * TotaleBarre) / 100))
    ELSIF OpenHour = 01 THEN
    Range01 = Range01 + range
    Media01 = Range01 / Contatore
    Perc01  = (Media01 * 100) / MediaRange
    Barre01 = max(1,round((Perc01 * TotaleBarre) / 100))
    ELSIF OpenHour = 02 THEN
    Range02 = Range02 + range
    Media02 = Range02 / Contatore
    Perc02  = (Media02 * 100) / MediaRange
    Barre02 = max(1,round((Perc02 * TotaleBarre) / 100))
    ELSIF OpenHour = 03 THEN
    Range03 = Range03 + range
    Media03 = Range03 / Contatore
    Perc03  = (Media03 * 100) / MediaRange
    Barre03 = max(1,round((Perc03 * TotaleBarre) / 100))
    ELSIF OpenHour = 04 THEN
    Range04 = Range04 + range
    Media04 = Range04 / Contatore
    Perc04  = (Media04 * 100) / MediaRange
    Barre04 = max(1,round((Perc04 * TotaleBarre) / 100))
    ELSIF OpenHour = 05 THEN
    Range05 = Range05 + range
    Media05 = Range05 / Contatore
    Perc05  = (Media05 * 100) / MediaRange
    Barre05 = max(1,round((Perc05 * TotaleBarre) / 100))
    ELSIF OpenHour = 06 THEN
    Range06 = Range06 + range
    Media06 = Range06 / Contatore
    Perc06  = (Media06 * 100) / MediaRange
    Barre06 = max(1,round((Perc06 * TotaleBarre) / 100))
    ELSIF OpenHour = 07 THEN
    Range07 = Range07 + range
    Media07 = Range07 / Contatore
    Perc07  = (Media07 * 100) / MediaRange
    Barre07 = max(1,round((Perc07 * TotaleBarre) / 100))
    ELSIF OpenHour = 08 THEN
    Range08 = Range08 + range
    Media08 = Range08 / Contatore
    Perc08  = (Media08 * 100) / MediaRange
    Barre08 = max(1,round((Perc08 * TotaleBarre) / 100))
    ELSIF OpenHour = 09 THEN
    Range09 = Range09 + range
    Media09 = Range09 / Contatore
    Perc09  = (Media09 * 100) / MediaRange
    Barre09 = max(1,round((Perc09 * TotaleBarre) / 100))
    ELSIF OpenHour = 10 THEN
    Range10 = Range10 + range
    Media10 = Range10 / Contatore
    Perc10  = (Media10 * 100) / MediaRange
    Barre10 = max(1,round((Perc10 * TotaleBarre) / 100))
    ELSIF OpenHour = 11 THEN
    Range11 = Range11 + range
    Media11 = Range11 / Contatore
    Perc11  = (Media11 * 100) / MediaRange
    Barre11 = max(1,round((Perc11 * TotaleBarre) / 100))
    ELSIF OpenHour = 12 THEN
    Range12 = Range12 + range
    Media12 = Range12 / Contatore
    Perc12  = (Media12 * 100) / MediaRange
    Barre12 = max(1,round((Perc12 * TotaleBarre) / 100))
    ELSIF OpenHour = 13 THEN
    Range13 = Range13 + range
    Media13 = Range13 / Contatore
    Perc13  = (Media13 * 100) / MediaRange
    Barre13 = max(1,round((Perc13 * TotaleBarre) / 100))
    ELSIF OpenHour = 14 THEN
    Range14 = Range14 + range
    Media14 = Range14 / Contatore
    Perc14  = (Media14 * 100) / MediaRange
    Barre14 = max(1,round((Perc14 * TotaleBarre) / 100))
    ELSIF OpenHour = 15 THEN
    Range15 = Range15 + range
    Media15 = Range15 / Contatore
    Perc15  = (Media15 * 100) / MediaRange
    Barre15 = max(1,round((Perc15 * TotaleBarre) / 100))
    ELSIF OpenHour = 16 THEN
    Range16 = Range16 + range
    Media16 = Range16 / Contatore
    Perc16  = (Media16 * 100) / MediaRange
    Barre16 = max(1,round((Perc16 * TotaleBarre) / 100))
    ELSIF OpenHour = 17 THEN
    Range17 = Range17 + range
    Media17 = Range17 / Contatore
    Perc17  = (Media17 * 100) / MediaRange
    Barre17 = max(1,round((Perc17 * TotaleBarre) / 100))
    ELSIF OpenHour = 18 THEN
    Range18 = Range18 + range
    Media18 = Range18 / Contatore
    Perc18  = (Media18 * 100) / MediaRange
    Barre18 = max(1,round((Perc18 * TotaleBarre) / 100))
    ELSIF OpenHour = 19 THEN
    Range19 = Range19 + range
    Media19 = Range19 / Contatore
    Perc19  = (Media19 * 100) / MediaRange
    Barre19 = max(1,round((Perc19 * TotaleBarre) / 100))
    ELSIF OpenHour = 20 THEN
    Range20 = Range20 + range
    Media20 = Range20 / Contatore
    Perc20  = (Media20 * 100) / MediaRange
    Barre20 = max(1,round((Perc20 * TotaleBarre) / 100))
    ELSIF OpenHour = 21 THEN
    Range21 = Range21 + range
    Media21 = Range21 / Contatore
    Perc21  = (Media21 * 100) / MediaRange
    Barre21 = max(1,round((Perc21 * TotaleBarre) / 100))
    ELSIF OpenHour = 22 THEN
    Range22 = Range22 + range
    Media22 = Range22 / Contatore
    Perc22  = (Media22 * 100) / MediaRange
    Barre22 = max(1,round((Perc22 * TotaleBarre) / 100))
    ELSIF OpenHour = 23 THEN
    Range23 = Range23 + range
    Media23 = Range23 / Contatore
    Perc23  = (Media23 * 100) / MediaRange
    Barre23 = max(1,round((Perc23 * TotaleBarre) / 100))
    ENDIF
    TotalePips = InizioDisplay
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre23,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h23: #Media23#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    TotalePips = TotalePips - DistanzaRighe
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre22,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h22: #Media22#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    TotalePips = TotalePips - DistanzaRighe
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre21,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h21: #Media21#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    TotalePips = TotalePips - DistanzaRighe
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre20,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h20: #Media20#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    TotalePips = TotalePips - DistanzaRighe
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre19,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h19: #Media19#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    TotalePips = TotalePips - DistanzaRighe
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre18,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h18: #Media18#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    TotalePips = TotalePips - DistanzaRighe
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre17,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h17: #Media17#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    TotalePips = TotalePips - DistanzaRighe
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre16,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h16: #Media16#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    TotalePips = TotalePips - DistanzaRighe
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre15,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h15: #Media15#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    TotalePips = TotalePips - DistanzaRighe
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre14,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h14: #Media14#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    TotalePips = TotalePips - DistanzaRighe
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre13,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h13: #Media13#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    TotalePips = TotalePips - DistanzaRighe
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre12,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h12: #Media12#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    TotalePips = TotalePips - DistanzaRighe
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre11,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h11: #Media11#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    TotalePips = TotalePips - DistanzaRighe
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre10,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h10: #Media10#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    TotalePips = TotalePips - DistanzaRighe
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre09,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h09: #Media09#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    TotalePips = TotalePips - DistanzaRighe
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre08,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h08: #Media08#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    TotalePips = TotalePips - DistanzaRighe
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre07,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h07: #Media07#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    TotalePips = TotalePips - DistanzaRighe
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre06,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h06: #Media06#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    TotalePips = TotalePips - DistanzaRighe
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre05,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h05: #Media05#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    TotalePips = TotalePips - DistanzaRighe
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre04,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h04: #Media04#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    TotalePips = TotalePips - DistanzaRighe
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre03,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h03: #Media03#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    TotalePips = TotalePips - DistanzaRighe
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre02,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h02: #Media02#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    TotalePips = TotalePips - DistanzaRighe
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre01,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h01: #Media01#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    TotalePips = TotalePips - DistanzaRighe
    DRAWSEGMENT(barindex-Display,max(close,open)+TotalePips,barindex-Display+Barre00,max(close,open)+TotalePips)coloured(0,128,0,255)
    DrawText("h00: #Media00#",barindex-Display+(round(TotaleBarre/divisore)),max(close,open)+TotalePips,SansSerif,Standard,10)coloured(0,128,0,255)
    ENDIF
    RETURN
    MaoRai54 thanked this post
Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.

orari con maggior ampiezza escursione prezzo


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
MaoRai54 @maorai Participant
Summary

This topic contains 4 replies,
has 2 voices, and was last updated by robertogozzi
7 years, 4 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 09/14/2018
Status: Active
Attachments: 3 files
Logo Logo
Loading...