Porque o cheque está fundamentalmente errado. Digamos que o Bars retorna 1000 e o cb também retorna 1000. Em seguida, no laço da primeira iteração, eu recebo o valor 1000. Na primeira condição do corpo do laço:
duas saídas fora da matriz ao mesmo tempo : acessando uma barra com índice 1000 e uma com índice 1001. Pois se o gráfico tem 1000 barras, a primeira barra tem índice 0 e a última tem índice 999.
Mais adiante, através do corpo do laço, há uma referência a barras ainda mais distantes na história:
Tudo isso precisa ser levado em conta na verificação inicial.
Para uma verificação adequada, veja o exemplo da função IndicatorCounted() na Referência MQL4. Somente agora, IndicatorCounted() deve ser substituído por taxas_total de compartilhamento (isto é Barras) e pré_calculado (isto é IndicatorCounted()).
Obrigado, Encontrei-o,
int counted_bars=IndicatorCounted();
if(counted_bars>0) counted_bars--;
Com o que devo compará-lo? no exemplo, começa comlimite
Com o que posso comparar? No exemplo, começa comlimite.
com o que eu deveria comparar este "cb"?
Se você quiser limitar o número de barras nas quais os dados indicadores são exibidos, é melhor fazê-lo desta forma:
int GetRecalcIndex(int& total, constint ratesTotal, constint prevCalculated)
{
total = ratesTotal - 2 - barsig;
if (cb > 0 && cb < total)
total = MathMin(cb, total);
if (prevCalculated < ratesTotal - 1)
{
InitializeBuffers(); // Это функция, которая должна заново инициализировать все индикаторные буфера, т. к. имеем дело с первой загрузкой индикатора или подкачкой историиreturn (total);
}
return (MathMin(ratesTotal - prevCalculated, total));
}
Use da seguinte forma:
int total;
int limit = GetRecalcIndex(total, rates_total, prev_calculated);
for (int i = limit; i >= 0; --i)
{
...
}
O valor total é o índice da barra mais profunda da história, que pode ser acessado com base nos valores das configurações do indicador.
Você terá um diferente, pois os amortecedores são diferentes. Caso o indicador funcione com objetos gráficos, você precisa removê-los todos aqui, pois o desenho inicial das leituras deve ser feito.
Escrevi no comentário que esta é a função que deve inicializar todos os amortecedores indicadores. É uma função personalizada. Tenho-o assim:
Você terá um diferente, pois os amortecedores são diferentes. Caso o indicadorfuncione com objetos gráficos, é necessário apagar todos eles aqui, pois o desenho inicial das leituras deve ser feito.
Obrigado, mas nada mudou ...matriz fora do alcance em 'HiLo.mq4' (130,15)
Continua a dar o pontapé de saída.
você tem[i+1], você precisa verificar +2 mais
Em geral, você deve fazer algo como isto
Porque o cheque está fundamentalmente errado. Digamos que o Bars retorna 1000 e o cb também retorna 1000. Em seguida, no laço da primeira iteração, eu recebo o valor 1000. Na primeira condição do corpo do laço:
duas saídas fora da matriz ao mesmo tempo : acessando uma barra com índice 1000 e uma com índice 1001. Pois se o gráfico tem 1000 barras, a primeira barra tem índice 0 e a última tem índice 999.
Mais adiante, através do corpo do laço, há uma referência a barras ainda mais distantes na história:
Tudo isso precisa ser levado em conta na verificação inicial.
Para uma verificação adequada, veja o exemplo da função IndicatorCounted() na Referência MQL4. Somente agora, IndicatorCounted() deve ser substituído por taxas_total de compartilhamento (isto é Barras) e pré_calculado (isto é IndicatorCounted()).
Obrigado, Encontrei-o,
Com o que devo compará-lo? no exemplo, começa comlimite
limit=Bars-counted_bars;Com o que devo comparar este "cb"?
Obrigado, Encontrei-o,
Com o que posso comparar? No exemplo, começa comlimite.
com o que eu deveria comparar este "cb"?
Se você quiser limitar o número de barras nas quais os dados indicadores são exibidos, é melhor fazê-lo desta forma:
Use da seguinte forma:
O valor total é o índice da barra mais profunda da história, que pode ser acessado com base nos valores das configurações do indicador.você tem[i+1], você precisa verificar +2 mais
Em geral, você deve fazer algo como isto
Eu fiz dessa maneira, mas diz ...matriz fora do alcance em 'HiLo.mq4' (122,15)
o que devo verificar até +2 mais?
Se você quiser limitar o número de barras nas quais os dados indicadores são exibidos, é melhor fazer isso:
Use da seguinte forma:
O valor do total é o índice da barra mais profunda da história, que pode ser chamado com base nos valores das configurações do indicador.O compilador jura.
InicializeBuffers' - função não definida HiLo.mq4 161 7
O compilador reclama de
InicializeBuffers' - função não definida HiLo.mq4 161 7
Escrevi no comentário que esta é uma função que deve inicializar todos os buffers indicadores. É uma função personalizada. Tenho-o assim:
Você terá um diferente, pois os amortecedores são diferentes. Caso o indicador funcione com objetos gráficos, você precisa removê-los todos aqui, pois o desenho inicial das leituras deve ser feito.
Escrevi no comentário que esta é a função que deve inicializar todos os amortecedores indicadores. É uma função personalizada. Tenho-o assim:
Você terá um diferente, pois os amortecedores são diferentes. Caso o indicadorfuncione com objetos gráficos, é necessário apagar todos eles aqui, pois o desenho inicial das leituras deve ser feito.
Obrigado, mas nada mudou ...matriz fora do alcance em 'HiLo.mq4' (130,15)
. O que está errado?
Obrigado, mas nada mudou. O que está errado?
É claro, o resultado não mudará. Afinal, você não removeu o motivo principal (o laço cb). Este loop está organizado de forma incorreta:
Ele deve ser removido e substituído pelo loop limite. Em ambos os lugares.
É claro, o resultado não mudará. Afinal, você não removeu o motivo principal (o laço cb). Este loop está organizado de forma incorreta:
Ele deve ser removido e substituído pelo loop limite. Em ambos os lugares.
Existem 3 laços desse tipo. Eu os substituí e o terminal ficou pendurado.
Consegui, não congela nem cai, mas há 3 valores no primeiro buffer (fx2): preço, 0,0 e 164874239.218492.
Se o valor vender_1_B!=EMPTY_VALUE e vender_1_B!=0 não significa que haja um preço.
Como posso obter um sinal?