[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 423

 
hoz:

Se cada buffer (cada linha) tem seus próprios parâmetros (cor, espessura, etc.), então como esses parâmetros serão transferidos para cada linha?
É possível passar propriedades individuais para cada linha, mas é necessário com tantas linhas? Que haja uma propriedade para todas as linhas.
 
Zhunko:
É possível transferir propriedades de linhas individuais, mas é necessário com tantas linhas? Vamos ter uma propriedade para todas as linhas.


Isto é, eu entendo corretamente. Se algumas linhas têm as mesmas propriedades, e existem 8 propriedades para todas as características, então você pode encaixá-las todas em um índice, mas se existem mais de 8 propriedades, então você não pode?
 
hoz:

Portanto, meu entendimento está correto. Se algumas linhas têm as mesmas propriedades, e existem 8 propriedades para todos os atributos, então você pode encaixá-las em um indicador, mas se existem mais de 8 propriedades, então você não pode?
Qualquer número de propriedades pode ser transferido.
 
Zhunko:
Qualquer número de propriedades pode ser transferido.


Mas as propriedades estão ligadas a um buffer se forem necessárias para exibir visualmente um objeto gráfico. Portanto, não é possível exceder o número de propriedades acima de 8. Isto é correto?
 
hoz:

Mas as propriedades estão ligadas a um buffer se você precisar delas para exibir visualmente um objeto gráfico. Portanto, não é possível exceder o número de propriedades acima de 8. É correto?

Acho que não entendo a pergunta.

Você quer dizer que o número de propriedades da linha é de apenas 8?

 
hoz:

Se cada buffer (cada linha) tem seus próprios parâmetros (cor, espessura, etc.), então como esses parâmetros serão passados para cada linha?

Você quer dizer através do iCustom() para a EA? Coloco ali o mesmo bloco computacional, e isso é tudo. Se por alguma razão não funcionar (até agora só encontrei recorrência por séries temporais), é melhor criar um buffer indicador e chamá-lo através de iCustom().


Isto é, se o indicador for desenhado com linhas de tendência. Mas não importa se está em uma subjanela, WindowOnDropped no início sob a bandeira, a bandeira é omitida. Assim:

int start(){
   //блок рисования горизонтальных линий уровня. Не выношу в init(), потому что WindowOnDropped() определён только в start()
   if(image){
      if(b){
         for(int i=-100; i<=100; i++){
            double x=i; x/=100; double hue=SpectralFilter(x, focus);
            color RGB=HSLtoRGB(hue, Staturation, Lightness);
            string name=DoubleToStr(hue,8);
            ObjectCreate(name,OBJ_HLINE,WindowOnDropped(),0,hue);
            ObjectSet(name, OBJPROP_COLOR, RGB);
            ObjectSet(name, OBJPROP_STYLE, STYLE_SOLID);
            ObjectSet(name, OBJPROP_WIDTH, 1);
         }
         b=false;
      }
   }else{
      ObjectsDeleteAll(WindowOnDropped(),OBJ_HLINE);
   }

As tendências são desenhadas da mesma forma.

 
Zhunko:

Acho que não entendo a pergunta.

Você quer dizer que o número de propriedades da linha é de apenas 8?


Não. Você mesmo o disse:

Zhunko:
Qualquer número de propriedades pode ser transferido.


Mas não se trata apenas de propriedades em conjunto. Mas para cada linha ou objeto exibido de qualquer outro gráfico. Está escrito na documentação https://docs.mql4.com/ru/customind/IndicatorBuffers:

Assim, acontece que se as propriedades são passadas através do buffer na janela do terminal, então não se pode passar mais de 8 objetos gráficos, com base na documentação. Mas eu já vi antes os índices, quase arco-íris, onde as cores e linhas excedem 8. Assim, de alguma forma, eles trabalham em torno dessa limitação.

 
gyfto:

Você quer dizer através do iCustom() para a EA? Coloco ali o mesmo bloco computacional, e isso é tudo. Se por alguma razão não funcionar (até agora só encontrei recorrência por série temporal), é melhor formar o buffer indicador e chamá-lo através de iCustom().

Não, quero dizer que deve ser extraído do indicador e isso é tudo. Não quero transferi-lo para um consultor especializado. Preciso dele para controlar visualmente alguns momentos e nada mais.

gyfto:

Quero dizer, se uma linha de tendência for traçada em um indicador. Mas não importa se está em uma subjanela, WindowOnDropped no início sob a bandeira, a bandeira é omitida. Assim:

As linhas de tendência são traçadas da mesma forma.


Você pretende executar o mesmo indutor em outra janela, especificando uma janela diferente, e assim contornar a restrição?
 
hoz:


Mas eu já encontrei perus antes, quase arco-íris, onde as cores e linhas são muito mais do que 8. Assim, de alguma forma eles contornam esta restrição...


Bem, em idéia, se forem declarados buffers indicadores adicionais por eles mesmos, e mais adiante por linhas de tendência, funcionará...
 
hoz:
Você pretende executar a mesma ferramenta em outra janela, especificando uma janela diferente, e assim contornar a restrição?

Não, estou falando do ObjectCreate(), o número da janela deve ser definido ali. Mostrei como configurá-lo se for uma subjanela (ou seja, não zero, que é a janela principal).