[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 316

 

Alguém além do Costy_compreende algo sobre o IndicatorCounted, porque ele realmente não entendeu a essência do problema.

E como se o tivesse feito, e como se não o tivesse feito.

 
depth_finde писал(а) >>

Alguém além do Costy_compreende algo sobre o IndicatorCounted, porque ele realmente não entendeu a essência do problema.

E como se ele tivesse, e como se não tivesse uma resposta.

O que há para entender sobre isso. Durante o funcionamento normal, ele se comporta corretamente. Em cargas não normais (carga histórica) comporta-se incorretamente na maior parte do tempo, mas o resultado é geralmente satisfatório

 
depth_finde писал(а) >>

Este é meu primeiro post no fórum. Estou estudando a MQL4. Não sei se havia tal pergunta antes, ainda não a encontrei. Acho que preciso usar a função IndicatorCounted, mas não sei como fazer isso. Adicionei citações para 300.000 e agora quando tento iniciar indicadores pendurados, acho que não devo especificar todas as citações, mas apenas uma certa, por exemplo, 3000. Mas não quero recalcular todas as 3000 também, preciso do IndicatorCounted. Não sei como especificar a condição que mostraria apenas as últimas 3000 sem recalcular as já aprovadas.

Obrigado por seu feedback.

Vou repetir.

 
depth_finde писал(а) >>

Vou dizer novamente.

Agora eu entendi.

>> Exemplo de implementação.

Arquivos anexados:
 
depth_finde >> :

Novamente.

Ao invés de Barras, coloque seu valor 300 ou 100, ou WindowBarsPerChart() A função retorna o número de barras que cabem na janela do gráfico atual (ou seja, o que é visualmente visível na janela)

 
Vinin писал(а) >>

Agora eu entendi.

Um exemplo de implementação

Muito obrigado, acolhedor_ e muito obrigado pela brusquidão.

 
depth_finde >> :

Novamente.

Por exemplo, você poderia fazer isso:

int CountBars=3000;

int limit=Bars-IndicatorCounted()-1;
if( limit> CountBars) limit= CountBars;
   
for(int i=0; i< limit; i++)
   {
   Buffer[ i]=...;
   }

você pode limitar o número de barras na janela.

Serviço - Definições-Gráficos-Máx. barras por janela.

 
Urain >> :

Vale a pena, e ao invés de excluir, você pode definir ObjectCreate verificando se(ObjectFind(RectangleSell)==-1){ ObjectCreate()}

e o resto sem verificação, para que você não tenha que apagar e recolocar o objeto em cada carrapato.

Quanto às exclusões - a questão é que à medida que o número de barras aumenta, o retângulo fica maior na linha do tempo(EndBoxTime)

enquanto o "StartBoxTime" para ele permanece inalterado. Portanto, se as condições forem cumpridas e uma nova barra for formada, temos que apagar a anterior e desenhar um novo retângulo em seu lugar

desenhar um novo retângulo em seu lugar.

Obrigado!

 
chief2000 >> :

Quanto às exclusões - a questão é que à medida que o número de barras aumenta, o retângulo aumenta na escala de tempo(EndBoxTime)

enquanto o "StartBoxTime" para ele permanece inalterado. Portanto, se as condições forem cumpridas e uma nova barra for formada, temos que apagar a anterior e desenhar um novo retângulo em seu lugar

desenhar um novo retângulo em seu lugar.

>> Obrigado!

Você não precisa apagá-lo, basta alterar os parâmetros através do ObjectSet.

ps Mas, em geral, cabe a você olhar para o estudo de caso.

 

Pessoal, uma palavra de conselho para quem souber. Digamos que eu desenho um indicador personalizado no gráfico principal. Depois utilizo outro indicador personalizado que envolve o primeiro indicador através da função iCustom. Posso conectá-los para que quando o parâmetro do primeiro indicador mudar no gráfico, o parâmetro do segundo indicador personalizado mude automaticamente?