Olá Murilo, tudo bem? Parece que sua solicitação é um tanto complexa, haha!
Minha sugestão para criar esse indicador seria utilizar um array para armazenar os valores de volume nos horários desejados e, em seguida, calcular a média desses valores para plotá-los. Fiz algumas modificações no código, mas infelizmente não pude testá-lo, pois meu Profit começou a apresentar problemas na execução de códigos desde a última atualização. Suspeito que o problema possa estar relacionado à função CurrentTime, já que nem mesmo o código anterior que compartilhei com você está funcionando.
Aqui está a minha nova sugestão de código. Por favor, teste-o e me diga se funcionou corretamente. Abraços!
========
input
Periodo(100);//Número de periodos desejados.
Hora_Inicio(0900);//Inicio da hora do estudo
Hora_Fim(1200);//Fim da hora de estudo
var
i : integer;
vol : array[1..1000] of float; //O Arry máximo deverá ser igual ou maior que o periodo.
mvol : array[1..1000] of float; //O Arry máximo deverá ser igual ou maior que o periodo.
begin
if (CurrentTime >= Hora_Inicio) and (CurrentTime <= Hora_Fim) then
begin
For i := 1 to Periodo do
begin
vol := volume;
mVol:= media(vol, periodo);
Plot(mvol);
end;
end;
end;;