Calcolare la media mobile a n periodi dei volumi

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #243951 quote
    Superpensionato
    Participant
    New

    Buongiorno,

    in relazione ad un altro argomento.. Vorrei calcolare la media mobile a n periodi dei volumi ma solo con riferimento a delle specifiche barre orarie, esempio: media mobile degli ultimi 20 periodi ma solo sulla barra della prima ora di negoziazione. Che tipo di codice possono usare per un indicatore o un sistema di trading? Grazie mille

    #243957 quote
    robertogozzi
    Moderator
    Master

    Quando devi porre nuove domande non correlate ad altre già fatte, anche se simili, inizia una nuova discussione. Grazie 🙂

    Adesso ho iniziato io questa nuova discussione.

    Puoi usare l’indicatore TRSMA che puoi trovare a questo link https://www.prorealcode.com/prorealtime-indicators/time-range-moving-averages-simple-exponential-weighted-trsma-trema-trwma/.

    Comuque te lo riporto qui con la modifca per il VOLUME (anziché CLOSE) e con gli orari tra le 9 e le 10 (dalle 090000 alle 100000):

    // TRSMA
    //
    // Time Range Simple Moving Average
    //
    DEFPARAM CalculateOnLastBars = 2000
    Periods      = 20
    StartTime    = 090000
    EndTime      = 100000
    //
    i     = 0
    TRSMA = 0
    FOR j = 0 TO 3000
    IF opentime[j] >= StartTime AND opentime[j] <= EndTime THEN
    TRSMA = TRSMA + volume[j]//close[j]
    i = i + 1
    IF i = Periods THEN
    BREAK
    ENDIF
    ENDIF
    NEXT
    TRSMA = (TRSMA / Periods)
    IF TRSMA = 0 THEN
    TRSMA = volume//close
    ENDIF
    Return TRSMA AS "TRSMA"
    #243984 quote
    Superpensionato
    Participant
    New

    Buongiorno, grazie per la pronta risposta. Non trovo corrispondenza però tra i valori dell’indicatore e i dati che posso elaborare su excel

    data
    Volumi
    MM20 excel
    Indicatore

    15/01/2025
    4312

    16/01/2025
    7730

    17/01/2025
    5772

    20/01/2025
    3436

    21/01/2025
    3102
    4870

    22/01/2025
    5952
    5051

    23/01/2025
    3884
    4884

    24/01/2025
    3658
    4731

    27/01/2025
    7408
    5028

    28/01/2025
    4946
    5020

    29/01/2025
    3791
    4908

    30/01/2025
    3744
    4811

    31/01/2025
    3614
    4719

    03/02/2025
    9195
    5039

    04/02/2025
    6913
    5164

    05/02/2025
    4516
    5123

    06/02/2025
    5568
    5149

    07/02/2025
    5606
    5175

    10/02/2025
    4466
    5138

    11/02/2025
    5672
    5164
    4050

    12/02/2025
    5179
    5208
    4136

    13/02/2025
    8737
    5258
    4434

    14/02/2025
    6601
    5299
    4610

    Nella tabella ho riportato: 1) colonna 1 volumi della prima ora del dax 2) colonna 2 i volumi della media con 20 valori (mettendo anche l’ultimo) 3) colonna 3 i valori dell’indicatore. Mi aspetterei che l’indicatore desse un  un valore uguale o molto simile a quello calcolato su excel. Cosa non quadra? Come faccio ad avere quei valori che calcolo con excel? Inoltre, come faccio ad usare questo dato in un trading system (funzione call forse).  Esempio se i volumi della prima ora superano il valore calcolato dall’indicatore compra ecc. Potresti farmi un esempio semplice di codice.

    P.S. Si hai ragione dovevo iniziare un nuovo topic, grazie per l’indicazione

    #243988 quote
    robertogozzi
    Moderator
    Master

    Qual’è la prima ora del Dax?

    #244040 quote
    Superpensionato
    Participant
    New

    La prima ora (rilevante) intendevo quella dei tuoi codici ossia dalle 9 alle 10. Sono i volumi dalle 9 alle 10 confrontati con i valori dell’indicatore così come mi appare inserendo il codice nella piattaforma

    #244053 quote
    robertogozzi
    Moderator
    Master

    Verificherò appena possibile.

    #244217 quote
    Superpensionato
    Participant
    New

    Ad esempio ho messo questo semplice indicatore che mi riporta effettivamente i volumi necessari. Il problema è che vorrei solo una barra per ogni giorno anziché tutte le 21 uguali per tutte le ore di trading. In questo modo calcolando una media mobile a n periodi il calcolo sarebbe corretto, ma non so fare uscire una sola.  Non so se ci si può arrivare da questa strada come spunto.

    TimeFrame (hourly, UpdateOnClose)

    IF TIME=100000 THEN
    VOL=volume
    endif

    RETURN VOL

    #244318 quote
    robertogozzi
    Moderator
    Master

    Ho trovato alcuni errori logici nel codice (c’erano anche degli errori dei dati nel tuo file eXcel, come da foto allegata). Questa è la versione aggiornata:

    // TRSMA sul Volume
    //
    // Time Range Simple Moving Average
    //
    DEFPARAM CalculateOnLastBars = 2000
    Periods   = 20
    StartTime = 090000
    EndTime   = 100000
    Periods   = max(2,min(999,Periods))
    StartTime = max(0,min(240000,StartTime))
    EndTime   = max(0,min(240000,EndTime))
    //
    i         = 0
    TRSMA     = 0
    FOR j = 0 TO 2000
    IF opentime[j] >= StartTime AND opentime[j] < EndTime THEN
    TRSMA = TRSMA + volume[j]
    i = i + 1
    IF i = Periods THEN
    BREAK
    ENDIF
    ENDIF
    NEXT
    TRSMA = (TRSMA / Periods)
    IF TRSMA = 0 THEN
    TRSMA = volume
    ENDIF
    Return TRSMA AS "TRSMA"
    x-5.jpg x-5.jpg
    #244339 quote
    Superpensionato
    Participant
    New

    Ok grazie funziona. Ultime due cose:

    1. come faccio ad adattarlo a time frame diversi? Ad esempio sui volumi delle barre a 15 minuti? Ad esempio mettendo startime=091500 e endtime=093000 il grafico diventa solo una scaletta. Non capisco quali altri parametri devo modificare e in che modo
    2. come faccio ad usare il parametro in un sistema di trading? Per esempio per dire un semplice sistema: se il volume dalle 9 alle 10 o dalle 15 alle 16 supera il trsma in quell’ora allora compra o vendi? Grazie in anticipo
    #244341 quote
    robertogozzi
    Moderator
    Master

    E’ una scaletta perché dopo le 093000 non cambia più fino al giorno dopo.

    Non è possibile fare altrimenti.

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

Calcolare la media mobile a n periodi dei volumi


ProOrder: Trading Automatico & Backtesting

New Reply
Author
Summary

This topic contains 9 replies,
has 2 voices, and was last updated by robertogozzi
1 year, 1 month ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 02/17/2025
Status: Active
Attachments: 1 files
Logo Logo
Loading...