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

 
ANDREY:

Você poderia me dizer como salvar um valor de 5 dígitos de azul na variável amarela se o teste for feito em um gráfico de um minuto?

Obrigado

O que é Lou igual a quê?

if (Bid - iLow( NULL ,PERIOD_H4,1)>=0.0030||Bid - iLow( NULL ,PERIOD_H1,1)>=0.0030||Bid - iLow( NULL ,PERIOD_M30,1)>=0.0030)

esta expressão só retorna "verdadeiro" ou "falso".

 
MakarFX:

O que é igual a Lou?

esta expressão só retorna "verdadeiro" ou "falso".

E depois de abrir uma ordem, como saber qual das 3 se as expressões são verdadeiras?
Obrigado

 
ANDREY:

E depois de abrir uma ordem, como saber qual expressão de 3 de se é verdadeira?
Obrigado

Nesta interpretação você não pode... você tem que dividir

if (Bid - iLow( NULL ,PERIOD_H4,1)>=0.0030)
if (Bid - iLow( NULL ,PERIOD_H1,1)>=0.0030)
if (Bid - iLow( NULL ,PERIOD_M30,1)>=0.0030)

Não consigo ver o ponto...
 
MakarFX:

Não com esta interpretação...temos que dividir

Eu não entendo o ponto...

Tenho uma tabela de um minuto e uma ordem foi aberta usando uma das expressões na condição. Como posso entender com que expressão a ordem é aberta? Por exemplo, se estiver de acordo com a primeira expressão, então eu, por exemplo, coloco uma ordem de compra pendente com um de seus parâmetros; se estiver de acordo com a segunda expressão, então eu coloco uma ordem de compra pendente com parâmetros diferentes; se estiver de acordo com a terceira expressão, então eu coloco uma ordem de venda pendente.

 
ANDREY:

Tenho uma tabela de um minuto e uma das expressões na condição abriu uma ordem. Como posso saber com que expressão se abre? Se eu usar a primeira expressão, então eu, por exemplo, coloco uma ordem de compra pendente com um de seus parâmetros; se eu usar a segunda expressão, então eu coloco uma ordem de compra pendente com parâmetros diferentes; se eu usar a terceira expressão, então eu coloco uma ordem de venda pendente.

1) A cada 4 horas, todas as três condições serão cumpridas (quando surgir um novo ponto baixo).

2) Se você vir o ponto, divida

if (Bid - iLow( NULL ,PERIOD_H4,1)>=0.0030)
.....
else
if (Bid - iLow( NULL ,PERIOD_H1,1)>=0.0030)
.....
else
if (Bid - iLow( NULL ,PERIOD_M30,1)>=0.0030)
.....
 
MakarFX:

Apanhe

Há muito a aprender na abordagem da escrita de códigos. Agradecimentos especiais por isso. Somente você ainda tem a ligação horizontal do objeto de texto por tempo até a última barra (DoTime = TimeCurrent()+(Period()*60*7). Como resultado, temos o efeito de deslocamento de texto, quando o gráfico é deslocado (screenshots). Só quero evitá-lo e ancorar o eixo X na borda direita da tela, digamos, 20 pixels. Isto é, quero que esta distância permaneça inalterada, tanto ao mover a linha para cima/baixo como ao mudar o gráfico. Até agora, ainda não funcionou. Na verdade tudo o que é necessário é uma linha de código especificando a posição do texto. O resto eu entendo.

 
Oleksandr Nozemtsev:

Há muito a aprender na abordagem da escrita de códigos. Agradecimentos especiais por isso. Somente você tem ligação horizontal do objeto de texto por tempo até a última barra (DoTime = TimeCurrent()+(Period()*60*7). Como resultado, temos o efeito de deslocamento de texto, quando o gráfico é deslocado (screenshots). Só quero evitá-lo e ancorar o eixo X à borda direita da tela, digamos, 20 pixels. Isto é, quero que esta distância permaneça inalterada, tanto ao mover a linha para cima/baixo como ao mudar o gráfico. Até agora, ainda não funcionou. Na verdade tudo o que é necessário é uma linha de código especificando a posição do texto. O resto eu entendo.

Observe a conversão de tempo e preço para coordenadas XY em pixels

bool  ChartTimePriceToXY(
   long           chart_id,     // идентификатор графика
   int            sub_window,   // номер подокна
   datetime       time,         // время на графике
   double         price,        // цена на графике
   int&           x,            // координата X для времени на графике
   int&           y             // координата Y для цены на графике
   );

Leia o preço da linha, converta-o em pixels e atribua coordenadasao objeto Text Label no eixo Y, e a coordenada do eixo X permanece inalterada.

 
MakarFX:

1) A cada 4 horas (quando aparece um novo lowe) você vai atender às três condições

2) se você vê o ponto, divida

Obrigado pela dica.

Se você não dividir as expressões, mas colocá-las em um if()operator com ||| , entãoapenas 1 condição será executada - a primeira da esquerda para a direita, que será verdadeira se não estou enganado.

Mas pelo que entendo, com este formato seria impossível para o programa saber qual expressão em particular era verdadeira.
 
Oleksandr Nozemtsev:
Saudações! Favor aconselhar como ligar um texto a uma linha em mql4, para que quando a linha é movida, o texto também seja movido,

Indicador de linha e texto Ver 1

O indicador move o texto seguindo a linha. Insira o nome da linha no parâmetro de entrada.

Arquivos anexados:
 
Alexey Viktorov:

Observe a tradução do tempo e do preço para coordenadas XY em pixels

Exatamente!