MEDIA MOBILE A TEMPO.

Viewing 15 posts - 1 through 15 (of 23 total)
  • Author
    Posts
  • #50522 quote
    discovery2005
    Participant
    Senior

    Salve, avrei questa esigenza di codifica.

    Mi servirebbe una media mobile a x periodi che pero’ finisca ad un orario da me definito, per poi riprendere dall’apertura del giorno dopo. Nello specifico avrei bisogno di una media mobile a x periodi che inizi alle 9.00 (orario di apertura) e termini alle 17.50 anziché arrivare fino alla chiusura delle  20.30.

    E’ possibile creare un codice in tal senso ?

    Grazie anticipatamente.

    #50523 quote
    discovery2005
    Participant
    Senior

    In sostanza vorrei che la media mobile che appare nel grafico non tenga conto dei prezzi dopo le 17.30.

    #50524 quote
    discovery2005
    Participant
    Senior

    Mi spiego meglio.

    La media mobile deve calcolare la media dei prezzi dall’ apertura fino alle 17.50,  per poi continuare il giorno dopo all’ apertura tenendo conto dell’ ultimo prezzo delle 17.50.

    (nel post precedente ho scritto erroneamente 17.30……intendevo 17.50)

    #50538 quote
    robertogozzi
    Moderator
    Master

    E’ una richiesta un pò stravagante, anche perché la media inizia ogni giorno daccapo, partendo dall’ultimo prezzo di ieri. Dall’orario penso tu la voglia usare su un TF a 10 minuti, io l’ho testata su EurUsd 10 minuti.

    In pratica come inizio va specificato nell’indicatore 085000 (85000 in quanto numero) perché la prima volta non essendoci il prezzo delle 17:50 di ieri prende quello delle 085000 del giorno stesso, poi dalle 090000 fa una media, aumentando ad ogni candela, i periodi, quindi alle 090000 farà una media a 2 periodi, alle 091000 a 3 periodi ecc… fino alle 174000. Alle 1750 registra l’ultimo prezzo e smette di operare. In realtà NON può smettere, se tu non lo togli materialmente dal grafico, solo che non aggiorna più i valori e resta un dato identico fino all’indomani mattina.

    Nell’indicatore devi specificare 3 parametri: ora d’inizio (10 minuti prima di quella che desideri), ora di fine e tipo di media prescelta (sono 7 tipi, vedi elenco https://www.prorealcode.com/documentation/average/).

    Questo è il codice, che allego anche in formato importabile. Testala e fammi sapere.

    DEFPARAM CalculateOnLastBars = 2000
    ONCE UltimoPrezzoIeri = 0
    ONCE Barre            = 0
    
    IF time = Inizio THEN
       Barre = 1
       IF UltimoPrezzoIeri <> 0 THEN
          Prezzo = UltimoPrezzoIeri
       ELSE
          Prezzo = close
       ENDIF
    ENDIF
    IF time = Fine THEN
       UltimoPrezzoIeri = close
    ENDIF
    IF time > Inizio AND time < Fine THEN
       Barre = Barre + 1
       Prezzo = close
       Media = Average[Barre,TipoMedia](Prezzo)
    ENDIF
    RETURN Media

    Roberto

    Media-Temporale.itf
    #50582 quote
    discovery2005
    Participant
    Senior

    Ciao Roberto, innanzitutto grazie per l’interessamento. Ti spiego il motivo di questa stravaganza. Io opero nell’intraday con la tecnica dei cicli. Da qualche mese la contrattazione del derivato italiano FIB ha subito un allungamento delle contrattazioni fino alle 20.30, mentre prima terminavano alle 17.50, quasi come il sottostante indice. Da quando e’ accaduto questo le medie mobili identificative dei cicli e i relativi indicatori si sono letteralmente sballati, ed io sono costretto ad usarle adesso nel grafico dell’ indice sottostante. Ho notato che facendo questo la cosa si riassesta, ma e’ molto scomodo e, soprattutto mi distrae, il fatto di guardare l’indice con le rispettive medie mobili ed indicatori mentre sto tradando il derivato. Ecco il perché di questa mia richiesta. Una piattaforma che si chiama Visual Trader da’ la possibilita’ di interrompere il grafico ad un orario prestabilito e di farlo ricominciare il giorno dopo all’ apertura. Questo e’ molto utile in quanto permette alle mie medie ed indicatori di non terner conto di cio’ che accade dopo le 17.50. Ho notato inoltre che, in base alla mia tecnica, il movimento si sviluppa nell’ intraday quando le medie e gli indicatori del derivato si allineano con quelle dell’ indice, ma questo (come ti dicevo) mi obbliga a guardare anche l’indice. Pensavo si potesse creare un codice che si comporta come fa la piattaforma di Visual Trader che blocca il grafico alle 17.50 e lo fa ripartire il giorno dopo all’ apertura. O per lo meno far si che questo comportamento lo possano avere solo le medie mobili. Cioe’ la media mobile deve continuare a calcolare i prezzi partendo dall’ ultimo valore delle 17.50 collegandolo al valore di apertura della giornata. In pratica deve continuare a calcolare i prezzi ignorando cio’ che accade dopo le 17.50.

    #50583 quote
    discovery2005
    Participant
    Senior

    Cioe’ la media deve continure all’apertura partendo dall’ ultimo prezzo delle 17.50.

    #50585 quote
    discovery2005
    Participant
    Senior

    Il time frame che uso e’ quello a 5m

    #50587 quote
    robertogozzi
    Moderator
    Master

    Forse c’è una soluzione. Prova ad andare (su ProRealTime ovviamente) nelle “Opzioni della piattaforma”, da li passa al tag “Fuso orario”, cerca “Indices MIB” e poi metti gli orari e le spunte come ho indicato io sull’immagine allegata. ATTENZIONE però, PRIMA scriviti i dati esattamente com’erano o, meglio ancora, fagli una foto col cellulare se non hai la possibilità di salvare la schermata. In tal modo potrai ripristinare all’occorrenza eventuali modifiche che risultano errate.

    L’orario, non so per quale motivo (forse lo interpretano non come distanza da UTC/GMT, ma da quello di Londra, per cui deve sserci lo sfalzamento indietro di 1 ora, poi sul grafico vedrai dalle 9 alle 17:50 secondo il fuso orario italiano.

    In tal modo se tu applichi una qualsiasi media o altro indicatore, farà il calcolo come lo desideri tu, almeno credo.

    In pratica potresti impostare orari diversificati, diversi da quelli predefiniti, per ogni strumento.

    Se NON funzionasse ripristina le opzioni precedenti e prova la mia soluzione (magari provala subito ugualmente, così puoi dirmi cosa te ne pare), ma credo non funzioni come vuoi tu.

    Penso che utilizzare le possibilità che offre il sistema sia di gran lunga preferibile (quando possibile).

    Opzioni-Trading-MIB.jpg Opzioni-Trading-MIB.jpg
    #50589 quote
    discovery2005
    Participant
    Senior

    E’ proprio quello che a me serve, ma purtroppo nella versione ridotta di WEBANK, che io uso, quella funzione non c’è. Peccato davvero. Quella funzione fa terminare il flusso dati di un grafico agli orari che si vuole. Peccato. Comunque grazie per la tua cortesia.

    #98914 quote
    discovery2005
    Participant
    Senior

    Per Roberto Gozzi.

    Dato che la mia piattaforma non supporta la funzione di personalizzare il flusso dati del server, vorrei chiederti questo: non si potrebbe creare una formula che dica alla media mobile di lasciare invariato il suo valore dalle 17.50 fino a chiusura. e di riprendere normalmente il conteggio dalle ore 9.00 agganciandosi al valore della media mobile delle 17.50 ?

    #98915 quote
    robertogozzi
    Moderator
    Master

    Se vuoi una media mobile semplice si, perché basta aggiungere i periodi che vogliamo e poi fare una divisione, quindi ci si può fermare e riprendere, se, invece la volessi in un qualunque altro modo allora NO.

    Se ti va bene semplice dimmelo e provo a scriverla.

    #98919 quote
    discovery2005
    Participant
    Senior

    Si Roberto, va bene la media mobile semplice. Grazie

    #98982 quote
    robertogozzi
    Moderator
    Master

    Eccolo:

    DEFPARAM CalculateOnLastBars = 100
    Periodi = 10
    Inizio  = 090000
    Fine    = 175000
    i       = 0
    MMS     = 0                                    //Media Mobile Semplice
    FOR j = 0 TO 5000
       IF opentime[j] >= Inizio AND opentime[j] <= Fine THEN
          MMS = MMS + close[j]
          i = i + 1
          IF i = Periodi THEN
             BREAK
          ENDIF
       ENDIF
    NEXT
    MMS = (MMS / Periodi)
    IF MMS = 0 THEN
       MMS = close
    ENDIF
    Return MMS

    Il limite di 5000 che vedi è il numero massimo di barre in cui può andare indietro per il calcolo.

    Periodi è il numero di periodi della media.

    Fai attenzione agli orari, i grafici su cui li usi è bene che chiudano su quel limite, ad esempio con 175000 puoi usare grafici a 1 minuto, a 5 o 10 minuti, ma è meglio non a 2, 3, 15 minuti o maggiori per non avere risultati sballati. Se, invece, metti 180000 puoi arrivare fino al grafico orario (ma non il 4 ore).

    #98985 quote
    discovery2005
    Participant
    Senior

    Grazie Roberto….lo provo subito.

    #98991 quote
    discovery2005
    Participant
    Senior

    Mi da’ un errore. Mi chiede di definire la variabile opentime. Non so che fare.

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

MEDIA MOBILE A TEMPO.


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Author
Summary

This topic contains 22 replies,
has 2 voices, and was last updated by discovery2005
6 years, 9 months ago.

Topic Details
Forum: ProBuilder: Indicatori & Strumenti Personalizzati
Language: Italian
Started: 10/25/2017
Status: Active
Attachments: 2 files
Logo Logo
Loading...