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

 
Há uma maneira de verificar a partir do código em que modo o teste está sendo executado -
todos os ticks, preços abertos ou pontos de teste?
 
Por que não posso adicionar amigos?
 
Olá. Estou tentando aprender a hospedagem compartilhada seguindo as instruções, mas a EA não vai abrir.
 

Você pode me dizer qual dos pilares da AT Clássica é o autor desta foto?

Esta foto está nos"Fundamentos do Comércio" de Elder. Na verdade, estou interessado na mesma imagem, mas com CONVERGÊNCIAS, se é que existe de todo.


 

Ajude, por favor. Um roteiro simples e não funciona. Não consigo entender o porquê.

int awd1[];
void OnStart()
  {
   for(int i=0;i<=5;i++)
   {
   awd1[i]=i+10;
   }
   Alert("первый=");
  }

O loop tem que iterar 6 vezes. A cada iteração, um valor deve ser atribuído à matriz awd1. Após o loop ter terminado, uma janela deve aparecer com a entrada "first=". Mas não aparece. O que está errado?

 
silachara:

Ajude, por favor. Um roteiro simples e não funciona. Não consigo entender o porquê.

int awd1[];
void OnStart()
  {
   for(int i=0;i<=5;i++)
   {
   awd1[i]=i+10;
   }
   Alert("первый=");
  }

O laço tem que rolar 6 vezes. A cada iteração, um valor deve ser atribuído à matriz awd1. Quando o loop terminar, uma caixa deve aparecer com a entrada "first=". Mas não aparece. O que está errado?

Isso também ajudará a se livrar das seguintes mensagens no terminal: matriz fora de alcance em

#property strict
#define  ARRAY_SIZE  6
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
 int j=0, awd1[];
   ArrayResize(awd1,ARRAY_SIZE,ARRAY_SIZE+1);
//---
   for(int i=0;i<ARRAY_SIZE;i++)
     {
      j=i+10;
      //j=j+10;//или, к примеру, такой вариант вместо строки выше, чтобы вы посмотрели, что присваиваться будет
      awd1[i]=j;
     }
   Alert("первый = ");
  }
//+------------------------------------------------------------------+


P./S.: Aqui está uma variante com um cheque:

#property strict
#define  ARRAY_SIZE  6
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
 int j=0, count=0, awd1[];
   ArrayResize(awd1,ARRAY_SIZE,ARRAY_SIZE+1);
//---
   for(int i=0;i<ARRAY_SIZE;i++)
     {
      j=i+10;
      //j=j+10;//или, к примеру, такой вариант вместо строки выше, чтобы вы посмотрели, что присваиваться будет
      awd1[i]=j;
      count++;
      Print("count = ",count,", awd1[",i,"] = ",awd1[i],", j = ",j);
     }
   Alert("первый = ");
  }
//+------------------------------------------------------------------+
 
silachara:
Os códigos acima foram ligeiramente corrigidos para que o mesmo valor awd1[i] não saia.
 
DiPach:
Eu corrigi ligeiramente os códigos acima para evitar o mesmo valor awd1[i].

Obrigado!

Então a matriz teve que ser declarada especificando o número de células nela contidas? Esta exigência surgiu depois que o MT4 se mudou para construir 600? Ou era assim antes?

E tenho mais um problema: não consigo encontrar o arquivo onde a informação de Print() está escrita. Por favor, me aconselhem o caminho. Procurei em todos os diretórios do MT4, mas não o encontrei.

 
silachara:

Obrigado!

Então a matriz teve que ser declarada especificando o número de células nela contidas? Esta exigência surgiu depois que o MT4 se mudou para construir 600? Ou era assim antes?

A função para definir o tamanho de uma matriz dinâmica ArrayResize também existia antes da construção do 600º.

E assim... com a linguagem MQL4 atualizada, o compilador se tornou mais rigoroso. Se necessário, você pode visualizar as informações interessantes "em primeira mão", em vez de reler as mesmas com possível distorção intencional, incluindo apresentação incompleta, aqui. Você pode vê-lo na "Tabela de diferenças entre compiladores" dos idiomas MQL4 anteriores e atualizados (a tabela está no final da primeira página deste tópico) ou usar uma busca. Como me lembro, havia muito material sobre a transição para a linguagem MQL4 atualizada.

 

silachara:

E mais um problema: não consigo encontrar o arquivo onde as informações da Print() estão escritas. Por favor, diga-me o caminho. Procurei em todos os diretórios do MT4, mas não o encontrei.

Uma maneira rápida: vá para a aba"Especialistas" do terminal -> clique com o botão direito do mouse na aba -> clique em"Abrir" no menu que aparece.

Isto abrirá uma pasta com arquivos de log contendo entradas desta aba, incluindo as saídas via Print(). Abaixo está uma foto (lembrei, que tenho esta informação na forma de visualização):


P./S.: Da mesma forma, você pode abrir rapidamente uma pasta em seu computador com arquivos de registro de registros da aba"Log" do terminal (eles estão em uma pasta diferente).