Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Não tenho a certeza, mas provavelmente é por causa disto:
Não tenho ArrayResize, para INDICATOR_DATA e INDICATOR_CALCULATIONS o tamanho é definido pelo terminal, e desenha a partir da barra 0
Então acontece que todo o ArrayInitialize(array,EMPTY_VALUE); não funciona mesmo para barra zero?
Não tenho ArrayResize, o terminal define o tamanho para INDICADOR_DATA e INDICATOR_CALCULATIONS e retira-o da barra 0
Talvez não, mas as matrizes são dinâmicas e cada período de tempo tem um número diferente de barras! Mudar de uma para outra muda o tamanho das matrizes (isto é feito sem a sua participação) e vê o lixo.
Então acontece que todo o ArrayInitialize(array,EMPTY_VALUE); não funciona mesmo para barra zero?
No seu caso, é o último elemento da matriz (mesmo que esteja na barra 0), porque a indexação padrão é da esquerda para a direita.
Não pode, mas as matrizes são dinâmicas e cada período de tempo tem um número diferente de barras! Mudar de uma para a outra muda o tamanho das matrizes (isto é feito sem a sua participação) e vê lixo.
Parece ser lógico. Então a inicialização de amortecedores indicadores no inite não faz qualquer sentido, tudo deve ser feito em OnCalculate
No seu caso, é o último elemento da matriz (apesar de estar na barra 0), porque por defeito é indexado da esquerda para a direita.
Certo, ainda não o virei ao contrário.
Corrigido um erro, arrays virados, mexido com o ArrayInitialize (deixou-o por agora)...
Parece ser impossível livrar-se do lixo em Inite. Mesmo PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,countBars); não irá pará-lo; pode aparecer no início do gráfico ou no final.
Vou deixá-lo num reboque, talvez os programadores o vejam.
PS mas o aparecimento de lixo no mesmo local no gráfico após a remoção do indicador e/ou recompilação - é uma lata.
uma tal beleza...
Corrigido um erro, arrays virados, mexido com o ArrayInitialize (deixou-o por agora)...
Parece ser impossível livrar-se do lixo em Inite. Mesmo PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,countBars); não irá pará-lo; pode aparecer no início do gráfico ou no final.
Vou deixá-lo num reboque, talvez os programadores o vejam.
PS mas o aparecimento de lixo no mesmo local no gráfico após a remoção do indicador e/ou recompilação - é uma lata.
Tanta beleza...
Aí está, parece funcionar como é necessário:
Aí está, parece estar a funcionar da maneira que se quer:
Não, também é lixo, pode ver-se pelos números no canto superior esquerdo.
Só funciona depois de carregar estas células na OnCalculate
A sua versão parece estar correcta. O lixo é devido ao redimensionamento automático das matrizes. E parece mesmo claro porque é que se repete.
Se o terminal alterar o tamanho, digamos, de 1 000 para 10 000, atribui uma e a mesma peça de memória não apagada, e não importa quantas vezes se recarrega o indicador - de 1 001ª para 9 999ª célula permanece com valores à esquerda.
upd Ainda tenho uma pergunta: porquê alterar algo na função f_comment (mudança de cor) e as subsequentes alterações de compilação não são aplicadas para reiniciar o indicador no terminal.
É possível construir uma tabela de velas de alguns parâmetros do instrumento numa janela separada? Por exemplo, o corretor "Otkritie" tem o instrumento RTS-9.13 e para ele construir um gráfico de ordens de compra, cujos valores são exibidos na janela "visão geral do mercado".