Cor do indicador padrão - página 2

 

Boa tarde, Yedelkin!

Desculpe, aqui estão as respostas às suas perguntas.

MqlParam params[5];
int ma_handle;

params[0].type = TYPE_INT;
        params[0].integer_value = 10;
        
        params[1].type = TYPE_INT;
        params[1].integer_value = 0;
        
        params[2].type = TYPE_INT;
        params[2].integer_value = MODE_SMA;
        
        params[3].type = TYPE_INT;
        params[3].integer_value = PRICE_MEDIAN;
        
        params[4].type = TYPE_COLOR;
        params[4].integer_value = clrBlue;
        
        ma_handle = IndicatorCreate( NULL, PERIOD_CURRENT, IND_MA, 5, params );
        if ( ma_handle != INVALID_HANDLE )
      {
        ChartIndicatorAdd( 0, 0, ma_handle );
      }

O indicador é criado, mas a sua cor é VERMELHO.

Só mais uma coisa. A mensagem anterior não se destinava a si, mas a Stringo,

excepto para os parâmetros indicadores de MA.

Se isso o ofendeu de alguma forma, peço desculpa.

Atenciosamente, Mikhail.

 
Mikalas:

Só mais uma coisa. A mensagem anterior não se destinava a si, mas a Stringo,

Costumo ler exactamente o que diz: "Boa tarde, stringo e Yedelkin". Urain já ontem notou que eu "não consigo ler nas entrelinhas".

A partir da resposta principal é claro que a zeragem da matriz de parâmetros não é executada (e cada variável do tipoMqlParam tem 4 campos, não 2). Não pode ver a resposta ao comentário: "Também, o indicador IND_MA(iMA) não tem tal parâmetro como "Cor", enquanto o tiver. Pode ver um exemplo de como utilizar o iMA aqui: MQL5 Reference / Access to timeseries and indicators / IndicatorCreate".

O código de erro devolvido não é especificado.

 

Caro Yedelkin!

Não há necessidade de zerar a matriz dos params, porque é uma matriz estática (params[5]) e I

preencher todos os seus campos, a propósito, preencher 2 campos é suficiente. Eu penso que dependendo do TIPO um de 3

campos seguintes.

Semerro (ma_handle != INVALID_HANDLE), o indicador é criado.

Diga-me, quantos parâmetros é que o indicador tem na imagem?

MA

Mikhail

 
Mikalas:

Semcódigo de erro, o indicador é criado.

Primeiro escreva"Este código deveria ter funcionado, MAS.... alas...". Agora acontece que"o indicador está a ser criado". ....Para "Nenhum código de erro" - há sempre um código de erro, mesmo que seja zero.

Sobre a fotografia. Reduz repetidamente a questão a uma discussão de um possível, na sua opinião, insecto. Mas começou a falar sobre a utilização da função IndicatorCreate() no seu código. Como você mesmo entende, a função IndicatorCreate() não funciona com imagens. Mais uma vez sugiro: ver a documentação e os seus exemplos. Encontrar (adivinhar) porque é que no separador dos parâmetros aparece a opção "Style", mas nos parâmetros de entrada do indicador iMA não tem tal opção. Descubra que parâmetros de entrada são fornecidos para o indicador que escolheu e quais deles se devem reflectir na função IndicatorCreate().

 

Estou a ver, obrigado.

 
Mikalas:

Diga-me, quantos parâmetros é que o indicador tem na imagem?

Há 7 parâmetros neste separador.
 

Ao contrário do iMA(4 parâmetros), a função

IndicadorA função Criar deve introduzir todos os parâmetros possíveis

Referência MQL5:

int IndicatorCreate(
corda símbolo, // nome do símbolo
ENUM_TIMEFRAMES período, // período
ENUM_INDICATOR indicator_id, // tipo de indicador da enumeração ENUM_INDICATOR
int parameters_cnt=0, // número de parâmetros
const MqlParam& parameters_array[]=NULL, // matriz de parâmetros
);

parameters_array[]=NULL

[em] Conjunto do tipo MqlParam, cujos elementos contêm o tipo e o valor de cada parâmetro de entrada de um indicador técnico.

Está a enviar-me para o livro de referência, mas não o está a ler?

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Типы индикаторов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Типы индикаторов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Типы индикаторов - Документация по MQL5
 
Mikalas:

Está a remeter-me para um guia e não o leu pessoalmente?

Aqui vamos nós. Com essa abordagem, poderá encontrar-se sozinho com o seu problema.

Sobre o assunto. O facto de ter procurado no manual é bom. Agora reabri-la na mesma página. Vê a seguinte linha: "Uma matriz do tipo MqlParam, cujos elementos contêm o tipo e valor de cada parâmetro de entrada do indicador técnico". O que é "parâmetro de entrada" é "parâmetro de entrada"(Referência MQL5 / MQL5 Basics / Variables / Input variables). Procure agora a resposta à pergunta "quantos parâmetros de entrada tem o indicador técnico iMA?

Mikalas:

Ao contrário do iMA (4 parâmetros), a função IndicatorCreate deve introduzir todos os parâmetros possíveis

Então, se o iMA tem 4 parâmetros de entrada, quantos parâmetros de entrada devo "introduzir" no IndicatorCreate()? Mais uma vez: IndicatorCreate() não funciona com imagens. Para ser mais exacto, IndicatorCreate() não funciona com imagens, mas com parâmetros de entrada do indicador, que passa directamente para o indicador. Onde irá passar a opção "Estilo" se o indicador não tiver esse parâmetro de entrada?
 

O indicador MA tem 7 parâmetros!

Para a função iMA 4 parâmetros são suficientes

ma_handle = iMA( _Symbol, TimeFrame, 10, 0, MODE_SMA, PRICE_MEDIAN );,

mas paraa função IndicatorCreate() todos os 7 parâmetros indicadores devem ser possíveis

parameters_array[]=NULL

[em] Conjunto de tipo MqlParam cujos elementos contêm tipo e valor de cada parâmetro de entrada do indicador técnico.

Só mais uma coisa... Qual é a sua profissão?

 
Mikalas:

e todos os 7 parâmetros indicadoresdevem ser possíveis paraIndicatorCreate().

Esta é a sua conclusão e tem de viver com ela :) Balcão de serviço para ajudar.
Razão: