[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 414

 
OlegArH:

Boa tarde, pessoal!

Estou brincando com meu primeiro robô. Minha idéia é abrir uma ordem pendente com um prazo de validade definido.

Eu não tenho conhecimentos suficientes para implementá-lo.

Se você não se importa, poderia descrever o exemplo da EA que, se eu a compilar, apenas abre um a um, por exemplo, BuyStop por 100 min a 50 pontos do preço atual SL=50, TP=100 para eur/usd a qualquer momento.

Agradecemos antecipadamente!

outro exemplo
Arquivos anexados:
temp_3.mq4  4 kb
 
Não está funcionando, está apenas pendurado ali.
 
emotraid:
Não está funcionando, apenas fica pendurado ali.

)

otimizá-lo.

;)

 
costy_:

Eu achei muito claro.


Obrigado!
 
costy_:
outro exemplo
Muito obrigado!!!!
 

Por favor, explique sobre o retorno do operador(-1); chamado no corpo da função início() - o que ele dá?

O retorno(0); a mesma coisa ou não? Parece que o resultado não é passado em nenhum lugar.

Por que eles o escrevem de tal forma neste caso?

int start()
  {
  if(a == b)return(-1);
  
  return(0);
  }
 
fore-x:

Por favor, explique sobre o retorno do operador(-1); chamado no corpo da função início() - o que ele dá?

O retorno(0); a mesma coisa ou não? O resultado não parece ser passado em nenhum lugar.

Por que eles escrevem dessa maneira?

Escrever início vazio()

e o retorno é desnecessário ))

Eu não sei por que!

 
costy_:
Tenho a sensação de que você não vai descobrir por conta própria.

Como faço para que todas as condições sejam verificadas em ordem: primeiro condição_1, depois condição_2, e só depois condição_3, e não dessa forma (que condição coincidiu, que não foi cumprida em ordem)? E quando todas as condições forem cumpridas em ordem, então abra uma ordem de mercado para vender. Estará correto?

bool Val_max=true;
bool Cl_dn=true;
bool Val_min=true;
void start()
  {
      if(Val_max==true)
         if(условие_1)
         {
           Alert("Значение инд. >= 1.0000 (исп. 1-е усл.)");
           Val_max=false;                                       //заглушка
         }
      if(Cl_dn==true && Val_max==false)
         if(условие_2)
         {
           Alert("1 бар закрылся падением (исп. 2-е усл.)");
           Cl_dn=false;                                         //заглушка
         }
      if(Val_min==true && Val_max==false && Cl_dn==false)
         if(условие_3)
         {
           Alert("Значение инд. <= 0.9980 (исп. 3-е усл.)");
           Val_min=false;                                       //заглушка
         }
      if(Val_max!=true && Cl_dn!=true && Val_min!=true)
         {
           Val_max=true;
           Cl_dn=true;
           Val_min=true;      
         }   
//----
   return(0);
  }
 
fore-x:

Por favor, explique sobre o retorno do operador(-1); chamado no corpo da função início() - o que ele dá?

O retorno(0); a mesma coisa ou não? Parece que o resultado não é passado em nenhum lugar.

Por que o escrevem desta maneira?

Um procedimento é uma função cujo valor de retorno não é utilizado.

O retorno é freqüentemente digitado por diversão e pode ser jogado fora com segurança.

No exemplo acima, o valor de retorno pode ser usado: Alert(init());

 
kolyango:

Como faço para que todas as condições sejam verificadas em ordem: primeiro condição_1, depois condição_2, e só depois condição_3, e não dessa forma (que condição coincidiu, que não foi cumprida em ordem)? E quando todas as condições forem cumpridas em ordem, então abra uma ordem de mercado para vender. É correto?

Sim.
Razão: