Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1131

 
Alexey Viktorov:

Artyom, não notou que o tipo é DRAW_COLOR_HISTOGRAM2 e tem dois buffers de dados e um terceiro buffer de cor.

Sim, é isso mesmo. Não prestou atenção.

 
Artyom Trishkin:

Sim, é isso mesmo.

Em geral, sim. O primeiro tampão é utilizado para cálculos, DRAW_COLOR_HISTOGRAM2 é desenhado usando duas coordenadas/buffers + precisa de um outro para cor.


Alexey Viktorov:

Porque é que esta linha é comentada

No entanto, deve incluir outras cores. Ou pelo menos uma, mas a declaração deve ser.

Eu utilizo

#Indicador de propriedade_color2 GreenC,RedC

ou

PlotIndexSetInteger(1,PLOT_LINE_COLOR,0,GreenC);
PlotIndexSetInteger(1,PLOT_LINE_COLOR,1,RedC);

Isto é, é uma coisa, e eu assumi que são intercambiáveis como na MQL4, isto é, a ausência de directiva de pré-processador para definição de cor é substituída por PlotIndexSetInteger(). Não é este o caso na MQL5?

 
The_Sheikh:

Em geral, sim. O primeiro tampão é utilizado para cálculos, DRAW_COLOR_HISTOGRAM2 é desenhado usando duas coordenadas/buffers + precisa de um outro para cor.


Eu utilizo

#Indicador de propriedade_color2 GreenC,RedC

ou

PlotIndexSetInteger(1,PLOT_LINE_COLOR,0,GreenC);
PlotIndexSetInteger(1,PLOT_LINE_COLOR,1,RedC);

ou seja, é uma coisa, e assumi que são permutáveis como na MQL4, ou seja, a ausência de directiva de pré-processador para a definição de cores é substituída por PlotIndexSetInteger(). Não é este o caso na MQL5?

Bem, estás a dar trechos de documentação. Porque não os estuda a fundo? A directiva está presente no exemplo, independentemente da PlotIndexSetInteger.

 
Alexey Viktorov:

Bem, dá extractos da documentação. Porque não o estudam a fundo? A directiva está presente no exemplo, independentemente da PlotIndexSetInteger.

Sim, estudei a documentação e a directiva está presente no exemplo, mas lamento, não vi nenhum parágrafo nela a dizer que a directiva deve estar presente, por isso excluo habitualmente a directiva como na MQL4.

A documentação também diz que podem ser utilizadas até 64 cores para a conspiração. Mas não encontrei aí uma forma de atribuir o número de tal palete sem uma lista monótona de cada cor após a directiva.

No entanto, a questão está resolvida.

 
The_Sheikh:

Sim, estudei a documentação, a directiva está presente no exemplo, mas peço desculpa, não reparei num parágrafo onde se afirma que a directiva deve estar presente, por isso, por hábito, excluo a directiva como na MQL4.

A documentação também diz que podem ser utilizadas até 64 cores para a conspiração. Mas não encontrei aí uma forma de definir o número de tal palete sem enumeração monótona de cada cor após a directiva.

No entanto, a pergunta está terminada.

E isto

#define  GreenC 0x00FF00
#define  RedC 0x0000FF

não pode ser alterado no laço? Não estou de todo familiarizado com ela e, portanto, não a conheço.

Afinal, uma matriz de cores também pode ser preenchida no laço a partir de outra matriz. No exemplo, existe uma matriz de cores = {}; onde as cores são listadas. E depois essa matriz de "serviços" é preenchida com PlotIndexSetInteger(1,PLOT_LINE_COLOR, index_in_array, cor);

 

Descarrego citações de locais diferentes e vejo frequentemente lacunas de 1-2 barras, os dados simplesmente não estão lá

Como podem ser preenchidos com o mínimo de perda de informação? Existem alguns algoritmos?

Tenho a certeza que Metatrader o faz

 
Roman Sharanov:

Descarrego citações de diferentes locais e vejo frequentemente lacunas de 1-2 barras, os dados simplesmente não estão lá

Como podem ser preenchidos com o mínimo de perda de informação? Existem alguns algoritmos?

Tenho a certeza de que Metatrader o faz.

MetaTrader não preenche os buracos - se houver uma barra, ela será desenhada, se não houver nenhuma barra, ela será pulada.

 
Vladimir Karputov:

Aqui está o examinador de testes - tudo funciona correctamente:

e o resultado:

Obrigado pela resposta detalhada. Verificou-se que o erro só é observado ao testar o Expert Advisor sobre a história, se eu o ligar a dados reais- tudo está bem.

Se executar o seu perito em depuração de dados históricos, calcula de forma incorrecta:

2019.10.08 02:10:14.425 2019.01.01.01 00:00:00 Volume 1.0, lucro -> -50.00

2019.10.08 02:10:16.226 2019.01.01.01 00:00:00 Volume 0.5, lucro -> -50.00


 
aveshoff:

Obrigado pela resposta detalhada. Verificou-se que o erro só é observado quando se testa o Expert Advisor sobre a história, se este estiver ligado a dados reais - tudo está bem.

Se executar o seu perito em depuração de dados históricos, calcula de forma incorrecta:

2019.10.08 02:10:14.425 2019.01.01.01 00:00:00 Volume 1.0, lucro -> -50.00

2019.10.08 02:10:16.226 2019.01.01.01 00:00:00 Volume 0.5, lucro -> -50.00


Por favor, dê informação completa: código completo, símbolo, prazo, quantas posições e em que símbolos estão abertos - em geral, para poder reproduzir a situação.

 

Boa tarde!

Pode dizer-me como descobrir qual é o perito por identificação

ID 11032019, não consegue descobrir onde o encontrar?