OrderModify() pergunta - página 6

 

Whoodoo,

Já que nada parece penetrar seu crânio de alguma forma, vou ajudar os amáveis moderadores aqui a soletrar as coisas para você.

Consertei seu código para lhe mostrar vários pontos:

  • Seu código é descuidado e complicado apenas para atingir um simples objetivo algorítmico. O uso desordenado e redundante de parênteses encaracolados foi apontado e mostra o estado desordenado de sua cabeça.
  • Em vez de ler o manual MQL4 minuciosamente, seguir o primeiro tutorial EA, e depois testar as funções de Ordem*() da unidade, você prefere perder tempo e ter outras pessoas lhe dando colheradas sobre as coisas que você ignora.
  • Se você mantiver esta abordagem, é melhor que você esteja ciente do longo caminho pela frente para realmente poder usar a MQL4. Ironicamente, não é por causa da complexidade da MQL4 (é relativamente simples), mas é por causa da atitude que você está estranhamente apoiando.
Boa sorte e que Deus tenha piedade de sua alma.
 

Richard, sua incitação foi notada. Obrigado por sua revisão do volume I e de seu posto. Ambos são apreciados.

Obrigado.

 

Simon,

O código está verificando a função OrderSelect() e se a função OrderSymbol() é USDJPY. Se ambos forem verdadeiros, então a função OrderPrint() é executada. OrderSelect() vai ficar bem, mas ;) se OrderSymbol() não for USDJPY, então a variável i do bilhete é aumentada em 1. A variável i é aumentada até OrderSymbol() ser USDJPY.

Pergunta: Por que o "i++" está aumentando o valor do i apenas uma vez? (Minha intenção é que esta variável continue aumentando até que OrderSymbol() seja USDJPY)

int start()
  {
   
   int i;

   if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderSymbol()=="USDJPY"))
   
     OrderPrint();      
     
     else i++;
   
 // Print(GetLastError());
 
Comment("i = " ,i);

   return(0);
  }

O arquivo anexo é um EA. Acho mais fácil executar testes com este tipo de arquivo.

Obrigado.

Arquivos anexados: