[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 81

 
artmedia70:

Se eu entendi corretamente seus suportes de encaracolamento, então:




após executarPlaySound("alert.wav"); os seguintes ifs não serão mais executados?

if (1<2) 
{
   if(2<3)
      {
      if (3<4) PlaySound("alert.wav");  
           { 
            if (X)....
                {
                    if (Y)
                }
            }
       }
}

 
charter:

O indicador fica vermelho quando seus valores estão diminuindo e verde quando os valores estão aumentando.


realmente... tão simples) obrigado!
 
Stomatolog:
Oi pessoal, vocês podem me ajudar com minha pergunta? Sou novo na MQL4, estou escrevendo um EA, tive que escreverint total=OrdensTotal();total<1 para evitar abrir um acordo a cada novo tick.Como fazer negócios abertos em todos os pares de moedas, onde a EA é instalada. E em um único par de moedas, você pode abrir várias ofertas.

A fim de não abrir a cada tique e otimizar a EA mais rapidamente, muitas vezes uso este projeto:

datetime t;                     // переменная для запоминания значения времени
int start()
{
  if (t == Time[0]) return;     // если "старое" время и текущее совпадают, выходим из start
  else t = Time[0];             // иначе присвоим переменной текущее время

Desta forma, quando uma nova barra aparece, o código será executado uma vez.

Leia como usar o MagicNumber em pedidos e então usar o total < 1 permitirá à EA abrir um pedido para cada par de moedas e para um par de moedas, mas abrir em janelas diferentes. Você pode ver uma amostra aqui.

 
lottamer:


após o PlaySound("alert.wav"); ter sido executado, os seguintes ifs não serão mais executados?

if (1<2) 
{
   if(2<3)
      {
      if (3<4) PlaySound("alert.wav");  
           { 
            if (X)....
                {
                    if (Y)
                }
            }
       }
}

Seu código está errado. A abertura de parênteses deve ser feita antes dos operadores e não depois.

//+----------------------------------------------------------------------------+
if (1<2) {                                // Если один меньше два и ...
   if(2<3) {                              // ... два меньше три, ...
      if (3<4) PlaySound("alert.wav");    // Если три меньше четыре - врежем рок в этой дыре ... (С), 
                                          // Далее пойдём проверять остальные условия:
      if (4<5)                            // Если четыре меньше пять и ...
      if (5<6) Print("Истина");           // ... пять меньше шесть - верно, блин...
      }
   }
//+----------------------------------------------------------------------------+

O bloco com Som` e Impressão` só será executado se 1 for inferior a 2 e 2 for inferior a 3. O som será executado se 3 for inferior a 4.
Mas a impressão também será executada se 4 for inferior a 5 e 5 for inferior a 6

 
artmedia70:

Seu código está errado. Os suportes de abertura devem ser antes dos operadores e não depois.

O bloco "Som e Impressão" só será executado se 1 for inferior a 2 e 2 for inferior a 3. O som será executado se 3 for inferior a 4.
Mas a impressão também será executada se 4 for inferior a 5 e 5 for inferior a 6



Parece-me que se 4>5 , e 5<6 na entrada dada Imprimir ainda será executado, porque a máquina funcionará todas as 3 se em uma fila, independentemente do resultado TRU-FOLS - não há COLEÇÕES!
 
e é possível derivar uma variável local para uso global?
 
lottamer:

Parece-me que se 4>5 , e 5<6 então com esta entrada a impressão ainda será executada, porque a máquina executará todos os 3 ifs em uma linha independentemente do resultado de seus TRU-FOLS - não há COLEÇÕES!
Se (4<5) for verdade, então a seguinte linha é executada: if(5<6), mas ... se (4<5) for falso, então o próximo se () junto com sua impressão não for processado, e passamos para o parêntese final do se (2<3).
 
lottamer:
mas é possível deduzir uma variável local para uso global?
Você pode, desde que se certifique de que a lógica não seja violada. Pode haver duas ou mais variáveis locais (cada uma declarada em sua própria função) com o mesmo nome de uma variável global. Você precisa ter cuidado e prestar atenção à sua visibilidade.
 
Como anexar corretamente um indicador a outro através do iCustom()?
Tenho um indicador no qual todas as 8 matrizes de indicadores estão ocupadas. Como criar corretamente o segundo, para que ele desenhe a curva a partir do primeiro indicador em 1 matriz de indicadores?
Ambos os indicadores # janela_do_cartão_indicador de propriedade.
A explicação mais óbvia, é o analógico na forma do código dos dois indicadores ligados.
Obrigado de antemão!!!
 
Leo59:
Como anexar corretamente um indicador a outro através do iCustom()?
Tenho um indicador no qual todas as 8 matrizes de indicadores estão ocupadas. Como criar corretamente o segundo, para que ele desenhe a curva a partir do primeiro indicador em 1 matriz de indicadores?
Ambos os indicadores # janela_do_cartão_indicador de propriedade.
A explicação mais óbvia, é o analógico na forma do código dos dois indicadores ligados.
Obrigado de antemão!!!

Leia no buffer de indicadores do segundo indicador o buffer do primeiro indicador a partir do qual você deseja exibir a linha.
Razão: