[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 314

 
Eu não entendo bem? Quando eu desenho o indicador Kon na janela, ele funciona bem. Explicar...
 
kon12 >> :
Eu não entendo bem? Quando eu desenho o indicador Kon na janela, ele funciona bem. Explicar...

quando você desenha na janela, você tem barras de histograma de azeitona ou verde. com a primeira correspondendo ao buffer up e a segunda ao dn. se apenas dn for desenhado na barra 0, e você acessar o indicador iCustom(0,0, "Kon",10,0,0), ou seja, o parâmetro de modo é 0 (olhe seu 0 está acima - SetIndexBuffer(0,up);), então o resultado da chamada de função será muito provavelmente EMPTY_VALUE.


É mais claro?

 

Tentei mudar o número do buffer para 1 e 2 - sem ajuda

 

verificar se a cadeia "Kon" na chamada iCast é a mesma que o nome do arquivo mq4, incluindo o caso de caracteres

e que valor a função produz de qualquer forma?

 

A questão é bastante simples. Estou tentando me referir ao indicador OsMA, que está no conjunto padrão de indicadores personalizados. Quero simplesmente traçar uma linha deste indicador na janela de indicadores. O indicador OsMA tem parâmetros 12,26,9 e é desenhado em buffer 0. O que há de errado no código? A linha 0 é desenhada na janela indicadora e é isso.

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_level1 0.0
#property indicator_color1 Olive

double z;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   SetIndexBuffer(0, z);
   SetIndexStyle(0,DRAW_HISTOGRAM);
    return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  { z= iCustom(NULL,0,"OsMA",12,26,9,0,0); 
  //----
   return(0);
  }
 
kon12 >> :

A questão é bastante simples. Estou tentando usar a função OsMA que está no conjunto padrão de indicadores personalizados. Quero simplesmente traçar uma linha deste indicador na janela de indicadores. O indicador OsMA tem parâmetros 12,26,9 e é desenhado usando o buffer 0. O que há de errado no código? A linha 0 é traçada na janela indicadora e é isso.

Não, não funciona dessa forma.

O z é uma matriz e os dados devem ser escritos nele elemento por elemento. Por exemplo:

for(i=100;i>=0;i--)

{

z[i]= iCustom(NULL,0,"OsMA",12,26,9,0,i);

}

 
Sim, funcionou! Obrigado por sua ajuda, os primeiros passos são os mais difíceis...
 

Outra pergunta sobre o meu assunto. Suponha que eu desenhe uma curva no gráfico, por exemplo, MA. Em seguida, uso um indicador personalizado que usa esta MA através da função iCustom. Podemos conectá-los de tal forma que o período MA no gráfico seja automaticamente alterado quando o período МА no indicador personalizado for alterado?

 

Você pode me aconselhar, estou trabalhando em um horário diário.

E eu quero acessar os dados da ata. É atualizado ou são dados antigos?

 

Pergunta - como isto funciona (Otimização do indicador):


if( MA_Fast[ i+1]> MA_Slow[ i+1]) {
   string RectangleSell = StringConcatenate("RECTANGLE_", StartBoxTime);
   ObjectDelete( RectangleSell);
   ObjectCreate( RectangleSell, OBJ_RECTANGLE, 0,  StartBoxTime, BoxLow,  EndBoxTime, BoxHigh);
   ObjectSet( RectangleSell, OBJPROP_STYLE, STYLE_SOLID);
   ObjectSet( RectangleSell, OBJPROP_RAY, False);
   ObjectSet( RectangleSell, OBJPROP_WIDTH, 1);
   ObjectSet( RectangleSell, OBJPROP_BACK , True);
   ObjectSet( RectangleSell, OBJPROP_COLOR, ColorSell);
}


Entendo corretamente que com cada novo tick o mesmo retângulo

(mesmo tamanho com igual número de barras) será apagado e redesenhado?

Vale a pena acrescentar um cheque para o número de barras (se houver mais barras, então só então redesenhar)

para aliviar a CPU do computador ou o ganho será mínimo e não vale a pena se preocupar com ele?

Razão: