Da teoria à prática - página 426

 

E é necessário um gráfico do próprio preço, Eugene.

Como resultado, devemos ver 2 gráficos - o preço e a soma de seus incrementos sobre os minutos na janela de 4 horas.

Se tudo vai funcionar - explicarei mais tarde, em particular, ao povo sofredor, o que é mostrado no 3º gráfico.

Mas, será no mínimo um mês. Tenho que verificar pessoalmente que este é o Graal no real.

 

É isso?



 
Evgeniy Chumakov:

É isso?

e K2 ainda tem um preço...
 
Parece que:)) Somente a soma dos incrementos tem que estar dentro dessas linhas. Hmmm... Se você calculou bem, é claro...
 

Era um canal, acrescido de um preço. O maldito limite no servidor on-line de 3000 células não pode carregar todo o histórico.




EURUSD durante os últimos 1000 minutos M1


Logicamente, o preço foi da direita para a esquerda (na tabela) zero na última chegada.

Arquivos anexados:
 
Evgeniy Chumakov:

Era um canal, acrescido de um preço. A maldita limitação no servidor on-line para 3000 células não pode carregar todo o histórico.


E a tabela de preços em si seria separada... Não tenho certeza se tudo é calculado corretamente, mas parece que esta estratégia também funcionará em minutos. Estou confuso com o declínio acentuado da variação.

 
Alexander_K2:

E a tabela de preços em si seria separada... Não tenho certeza se o cálculo está correto, mas parece que esta estratégia também funcionará na ata


Fórmula de preço = soma de retornados acima de 240 minutos


int ArraySize_ = 2880;

double ARRAY_INTERVAL_UPPER[];
ArrayResize(ARRAY_INTERVAL_UPPER,ArraySize_,0);

double ARRAY_INTERVAL_LOWER[];
ArrayResize(ARRAY_INTERVAL_LOWER,ArraySize_,0);


double ARRAY_RETURN[];
ArrayResize(ARRAY_RETURN,ArraySize_,0);


for(int array_offset = 0; array_offset < ArraySize_; array_offset++){

int BarStart = array_offset;

double SummaReturn = 0;
double SummaReturnAbs = 0;

for(int i = BarStart; i < 240 + BarStart; i++){
SummaReturn = SummaReturn + ( iOpen(NULL,PERIOD_M1,i) - iOpen(NULL,PERIOD_M1,i + 1) );
SummaReturnAbs = SummaReturnAbs + ( MathAbs( iOpen(NULL,PERIOD_M1,i) - iOpen(NULL,PERIOD_M1,i + 1) ) );
}


double Interval = 3 * (SummaReturnAbs/MathSqrt(240));

ArrayFill(ARRAY_RETURN,array_offset,1,SummaReturn);
ArrayFill(ARRAY_INTERVAL_UPPER,array_offset,1,Interval);
ArrayFill(ARRAY_INTERVAL_LOWER,array_offset,1,-Interval);
}


Diga-me o que consertar? Caso contrário.

 
Evgeniy Chumakov:


Preço da fórmula = soma dos retornados por 240 minutos

O preço é calculado corretamente, o desvio não é claro - por que ele caiu tão drasticamente?

 
Alexander_K2:

O que é desconcertante é a queda dramática na variação.


Ao invés de uma extensão, o gráfico deve ser lido da direita para a esquerda ..... sim, não como os russos ) Basta escrevê-lo ao contrário no arquivo.

 
Alexander_K2:

Eu não entendo porque a variação caiu tão drasticamente.


Não sei se há histórico suficiente. Precisamos acrescentar uma verificação de suficiência de histórico ao código.