Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
// Valida��es
if ( size <= 2 ) {
// Significa que nao h� dados suficientes para fazer a computa��o.
return;
}
// Vari�veis de controle
// Armazena os dados que ser�o utilizados para serem adicionados nas listas
// Data
def previewsDate = null;
// Dia da semana do ano (utilizado somente quando o gr�fico n�o for intraday)
def previewsWeekOfYear = 0;
// Maior m�xima
def previewsHighValue = 0;
// Menor minima
def previewsLowValue = 0;
// �ltimo fechamento
def previewsCloseValue = 0;
// �ltima abertura
def previewsOpenValue = 0;
def previewsHOJEValue = 0;
// Quantos per�odos agrupados j� foram computados
def FechIndex = 0;
// Valores do ultimo Fech calculado para que ele seja repetido nos demais per�odos
do gr�fico
def lastFechValue = 0;
def lastMinValue = 0;
def lastMaxValue = 0;
def lastABValue = 0;
def lastHOJEValue = 0;
// Agora, ir� identificar o intervalo do gr�fico para saber que tipo de agrupamento
ser� feito
// Objeto utilizado para armazenar a data sem a parte da hora, utilizado nas
compara��es
Calendar cal = Calendar.getInstance();
previewsWeekOfYear = cal.get(Calendar.WEEK_OF_YEAR);
previewsHighValue = highValue;
previewsLowValue = lowValue;
previewsCloseValue = closeValue;
previewsOpenValue = openValue;
previewsHOJEValue = openValue;
continue;
}
if ( isIntraday ) {
// Faz o agrupamento considerando que � intraday, ou seja, agrupa por
dia
belongsToSamePeriod = date.equals( previewsDate );
} else {
// Se n�o for, agrupa por semana
belongsToSamePeriod = previewsWeekOfYear ==
cal.get(Calendar.WEEK_OF_YEAR);
}
// Agora verifica se o dado atual da lista � igual aos dado que seria
utilizado para ser
// adicionado como sendo o correto
if ( belongsToSamePeriod ) {
if ( hasFechValues ) {
// Adiciona os dados do Fech por data
Fech.addDated( dateFromHigh, lastFechValue );
Min.addDated( dateFromHigh, lastMinValue );
Max.addDated( dateFromHigh, lastMaxValue );
AB.addDated( dateFromHigh, lastABValue );
HOJE.addDated( dateFromHigh, lastHOJEValue );
}
} else {
FechIndex++;
previewsWeekOfYear = cal.get(Calendar.WEEK_OF_YEAR);
previewsHighValue = highValue;
previewsLowValue = lowValue;
previewsCloseValue = closeValue;
previewsOpenValue = openValue;
}
}
///VWAP
int groupingMode = 1;
r = newLines();
def vwap_main = newLineData();
vwap_main = VWAP_GROUP(groupingMode);
def sizeV = vwap_main.size();
def index = 0;
for (def i=0; i < sizeV; i++) {
vwap_main.add(vwap_main.value(i));
}
//FIM /////////////////////////////////////////////////////////////////////////////
////////
//ABERTURA ONTEM
AB.setLabel( "ABER-1" );
AB.setType( 4 );
AB.setColor( 255,255,255 ); //Branco
AB.setThickness(2);
//FECHAMENTO
Fech.setLabel( "FECH" );
Fech.setType(4);
Fech.setColor( 255,255,0 ); //Amarelo
Fech.setThickness(2);
//MAXIMA
Max.setLabel( "MAX" );
Max.setType( 4 );
Max.setColor( 0,160,0 ); //Verde
Max.setThickness(2);
//MINIMA
Min.setLabel( "MIN" );
Min.setType( 4 );
Min.setColor( 255,0,0 ); //Vermelho
Min.setThickness(2);