Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1435

 

Renat, por favor, faça uma recomendação ou qualquer outro comentário

sobre questões difíceis para mim, na última páginahttps://www.mql5.com/ru/forum/160683/page1434#comment_21634884

impressões do robô que eu posso fornecer a partir de 3 treminais, há 2 passes neles
 

Você pode me dizer como adicionar fundos à sua conta e como retirar fundos (onde os botões de recarga e retirada estão localizados)?

 
feniok83:

Você pode me dizer como depositar sua conta comercial e como retirá-la (onde estão os botões de depósito e retirada)?

Para a conta pessoal no site do corretor.

 

Ao definir as propriedades do buffer mql5, existe alguma dependência na ordem de propriedades ?

SetIndexBuffer(0,Buffer1,INDICATOR_DATA);
SetIndexBuffer(1,Buffer2,INDICATOR_CALCULATIONS);
SetIndexBuffer(2,Buffer3,INDICATOR_DATA);

Ou primeiro especificar a data, depois os cálculos?

SetIndexBuffer(0,Buffer1,INDICATOR_DATA);
SetIndexBuffer(1,Buffer2,INDICATOR_DATA);
SetIndexBuffer(2,Buffer3,INDICATOR_CALCULATIONS);

O tipo de indexação dos amortecedores vai mudar, é claro, não consideramos isso.
O que me interessa é a seqüência das próprias propriedades.
A seqüência de propriedades afeta a correção ou não?

A questão surgiu a partir da seguinte situação.
Eu tento calcular o segundo indicador pelos valores do primeiro indicador dentro de um programa.
Tento exibir o resultado do segundo indicador em (4 , Buffer5, INDICATOR_DATA)
Mas ele não pode ser exibido, simplesmente não aparece.
Eu imprimoBuffer5[] para verificar, tudo está correto nas impressoras. Acontece que o problema está na exposição.
Eu não entendo onde cavar. #propriedade tudo parece estar ajustado corretamente.
Buffer1 e
Buffer2 são exibidos, mas Buffer5 não quer.
Eu tentei usar a propriedade dinâmica PlotIndexSetInteger(), o mesmo resultado.
Buffer5 não é exibido.
Buffer1 eBuffer2 são definidos como séries e os valores são registrados para(int i=limit; i>=0; i--)
Buffer5 é definido como array regular e
os valores são registrados para(int i=pos; i<total-1; i++)
ou seja, os valores de todos os amortecedores são escritos da esquerda para a direita. Não deve haver aqui nenhum problema. Sem erros ou avisos.
Onde eu devo cavar?

#property indicator_buffers 7
#property indicator_plots   3

//--------------------------------------------------
//indicator1
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrGoldenrod
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1

#property indicator_type2   DRAW_LINE
#property indicator_color2  clrGoldenrod
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1

#property indicator_type3   DRAW_NONE
#property indicator_type4   DRAW_NONE

//indicator2
#property indicator_type5   DRAW_ARROW
#property indicator_color5  clrGoldenrod
#property indicator_style5  STYLE_DOT
#property indicator_width5  1

#property indicator_type6   DRAW_NONE
#property indicator_type7   DRAW_NONE

//--------------------------------------------------
//indicator1 buffers
SetIndexBuffer(0, Buffer1,   INDICATOR_DATA);
SetIndexBuffer(1, Buffer2,   INDICATOR_DATA);
SetIndexBuffer(2, Buffer3,   INDICATOR_CALCULATIONS);
SetIndexBuffer(3, Buffer4,   INDICATOR_CALCULATIONS);
//indicator2 buffers 
SetIndexBuffer(4, Buffer5,   INDICATOR_DATA);
SetIndexBuffer(5, Buffer6,   INDICATOR_CALCULATIONS);
SetIndexBuffer(6, Buffer7,   INDICATOR_CALCULATIONS);
 
Roman:

Ao definir as propriedades do buffer mql5, existe alguma dependência na ordem de propriedades ?

Ou primeiro especificar a data, depois os cálculos?

O tipo de indexação dos amortecedores vai mudar, é claro, não consideramos isso.
O que me interessa é a seqüência das próprias propriedades.
A seqüência de propriedades afeta ou não a exatidão?

Somente a seqüência do buffer de dados e do buffer de cores afeta a exatidão.

Geralmente, se uma construção tem 2-3-4 amortecedores, eles devem estar em uma fila.

Não há diferença em seu exemplo, mas é melhor ter a segunda opção para não confundir o número do buffer com o número de construção.

 
Alexey Viktorov:

Somente a seqüência do buffer de dados e do buffer de cores é afetada.

Geralmente, se uma construção tem 2-3-4 amortecedores, eles devem estar em uma fila.

Em seu exemplo não há diferença, mas é mais agradável ter a segunda opção para que você não confunda o número do buffer com o número de construção.

Eu defini esta seqüência de propriedades tampão

#property indicator_buffers 7
#property indicator_plots   3

//--------------------------------------------------
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrGoldenrod
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1

#property indicator_type2   DRAW_LINE
#property indicator_color2  clrGoldenrod
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1

#property indicator_type3   DRAW_ARROW
#property indicator_color3  clrGoldenrod
#property indicator_style3  STYLE_DOT
#property indicator_width3  1

#property indicator_type4   DRAW_NONE
#property indicator_type5   DRAW_NONE
#property indicator_type6   DRAW_NONE
#property indicator_type7   DRAW_NONE

//--------------------------------------------------
//indicator1 buffers
SetIndexBuffer(0, Buffer1, INDICATOR_DATA);
SetIndexBuffer(1, Buffer2, INDICATOR_DATA);
SetIndexBuffer(2, Buffer5INDICATOR_DATA);
SetIndexBuffer(3, Buffer3, INDICATOR_CALCULATIONS);
SetIndexBuffer(4, Buffer4, INDICATOR_CALCULATIONS);
SetIndexBuffer(5, Buffer6, INDICATOR_CALCULATIONS);
SetIndexBuffer(6, Buffer7, INDICATOR_CALCULATIONS);

Isto é, primeiro todos os INDICADOR_DATA exibidos, depois todos os INDICADOR _CALCULATIONS
# a propriedade é editada na seqüência
e oh meu deus, todos os três buffers são exibidos.
Acontece que existe uma dependência, primeiro colocamos toda a data, depois todos os cálculos.

 
Roman:

Eu defini a seqüência de propriedades tampão como segue

ou seja, primeiro todos os INDICADOR_DATA exibidos, depois todos os INDICADOR _CALCULATIONS
#propriedade editada na seqüência
e oh meu deus, todos os três buffers são exibidos.
Acontece que existe uma dependência, primeiro colocando todas as datas, depois todos os cálculos.

Ainda não experimentei, mas acho que é possível fazê-lo funcionar também com buffers de mapeamento declarados de forma inconsistente. Vou experimentar se ficar entediado.(se não me esquecer).

Apenas estas linhas

#property indicator_type4   DRAW_NONE
#property indicator_type5   DRAW_NONE
#property indicator_type6   DRAW_NONE
#property indicator_type7   DRAW_NONE
são desnecessárias. Os tampões 4-7 são declarados como auxiliares e não estão de forma alguma relacionados com as construções.
 
Alexey Viktorov:

Ainda não experimentei isto, mas acho que é possível fazê-lo funcionar também com buffers de mapeamento declarados de forma inconsistente. Vou experimentar se ficar entediado.(se não me esquecer).

Somente estas linhas

Eu os considero desnecessários. Os tampões 4-7 são declarados como auxiliares e não têm nenhuma relação com construções.

Eu tentei comentar

#property indicator_type4   DRAW_NONE
#property indicator_type5   DRAW_NONE
#property indicator_type6   DRAW_NONE
#property indicator_type7   DRAW_NONE

e a exibição de todas as três construções se tornou incorreta.
Eu não os comentei, tudo voltou ao normal.
Acontece que o compilador precisa deles.

 
Roman:

Acontece que existe uma dependência, colocando todas as datas em primeiro lugar, depois todos os cálculos.

Sim, e a seqüência de buffers regulares (histogramas - setas - linhas) também é importante.
Matou algumas horas recentemente procurando por um "bug" - por que buffers simples não estavam todos exibidos na tabela.

Quando há dezenas de amortecedores, acrescentar um novo é um incômodo.

 
Taras Slobodyanik:

Sim, e a consistência dos amortecedores regulares (histogramas-arrolhas-linhas) também é importante.
Recentemente passei algumas horas procurando por um "bug" - por que buffers simples não eram todos exibidos na tabela.

Quando há dezenas de amortecedores, é um incômodo acrescentar um novo.

Sim, a lógica do idioma com buffers indicadores não é a melhor. Em algum lugar que eu vi, buffers indicadores em µl requerem uma descrição completa na seqüência correta. E isto é correto e não conveniente.