Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1186

 
Vladimir Karputov :

Onde está a pergunta? Quais são exactamente os erros? Desculpem, todos os telepatas estão de férias.

Essa é a questão. Também não compreendo o que é o erro. Acha que o teria colocado aqui se soubesse qual era o erro? Eu nem sequer recebo o erro. Apenas esta mensagem e nada mais.

 
jaffer wilson:

Esta é a questão. Também não compreendo qual foi o erro. Acha que o teria colocado aqui se soubesse qual era o erro? Eu nem sequer recebo o erro. Apenas esta mensagem e nada mais.

Clique

 
Vladimir Karputov :

Onde está a pergunta? Quais são exactamente os erros? Desculpem, todos os telepatas estão de férias.


OK, já está.

teste em EURUSD, H1 (netting) Tradestatisticspanel (EURUSD, H1) O código de retorno OnInit é -1 não pode inicializar o indicador de forma inconsistente

 

Dê-me uma dica!

A ajuda diz que uma instância de uma estrutura é uma variável. Por exemplo, temos uma estrutura

struct STRUCT_POSITION {
   double            volume;                 
   double            lot_coefficient;        
   bool              waiting_transaction;    
   ulong             waiting_order_ticket;   
   bool              transaction_confirmed;  
   }

Depois criamos uma instância da estrutura, declarando uma variável do seu tipo:

STRUCT_POSITION SPosition;

Mas encontrei isto no código

STRUCT_POSITION SPosition[];

E isto confundiu-me. Ainda não vi em lado nenhum que seja possível declarar um conjunto do tipo de estrutura. Que propriedades terá agora esta matriz? Pode ser chamado de "instância de estrutura"? Talvez saiba onde ler mais sobre ele?

 
odyn:

Dê-me uma dica!

A ajuda diz que uma instância de uma estrutura é uma variável. Por exemplo, temos uma estrutura

Depois criamos uma instância da estrutura, declarando uma variável do seu tipo:

Mas encontrei isto no código

E isto confundiu-me. Ainda não vi em lado nenhum que se possa declarar um conjunto de um tipo de estrutura. Que propriedades terá agora esta matriz? Pode ser chamado de "instância de estrutura"? Pode dizer-me onde ler mais sobre isto?

Fórum sobre negociação, sistemas automatizados de negociação e testes estratégicos

FAQ de Iniciantes MQL5 MT5 MetaTrader 5

Alexey Viktorov, 2020.02.23 08:29

Declarando estrutura STRUCT_POSITION {\i1}, isto é a criação de um tipo de dados personalizados. E STRUCT_POSITION SPosition[]; é a declaração de uma variável do tipo de utilizador. Parênteses rectos [] indicam que a variável é um array. Pode declarar várias variáveis do tipo de utilizador, tal como qualquer outro tipo.

double a, b[];

STRUCT_POSITION Pos, SPosition[];// при условии, что структура уже создана.
Neste tipo de entrada, variável, matriz

Oh... Não reparei logo que era você quem tinha esta resposta exacta.

Para elaborar: Uma matriz é apenas um conjunto de variáveis indexadas. Primitivamente, temos duas variáveis p1 e p2 ou temos array p[2], caso em que não importa se armazenamos o valor na variável p1 ou numa célula de array p[0], ou na variável p2 ou no array p[1].

Quando precisa de 2-3, ou 5 variáveis no máximo, pode fazer com variáveis, mas se precisar de 100 ou mesmo de um número desconhecido de variáveis... É aqui que entra a beleza das matrizes.

 
Alexey Viktorov:

Oh... Não reparei imediatamente que era o senhor que tinha a resposta.

Em mais detalhe: Uma matriz é apenas um conjunto de variáveis indexadas. Primitivamente, temos duas variáveis p1 e p2, ou temos array p[2], caso em que não importa se o valor é armazenado na variável p1 ou numa célula de array p[0], ou na variável p2 ou no array p[1].

Se precisar de 2-3 variáveis, ou no máximo 5, pode fazer com variáveis, mas se tiver 100 ou mesmo um número desconhecido de variáveis necessárias... É aqui que entra a beleza das matrizes.

Alexey, entendo correctamente que uma matriz, ao contrário de uma variável, não conterá campos da estrutura, mas sim instâncias da estrutura, em número de zero a vários ?

P.S. : o código não eraSTRUCT_POSITION Pos,SPosition[]

masSTRUCT_POSITION SPosition[];

nenhuma variável.

 
odyn:

Alexey, entendo correctamente que uma matriz, ao contrário de uma variável, não conterá campos da estrutura, mas sim instâncias da estrutura, em número de zero a vários ?

Um autocarro (variável com estrutura tipo autocarro) tem três campos:
1. Condutor
2. Maestro
3. Passageiros[].
Uma frota de autocarros (um conjunto de estruturas de autocarros) tem 120 autocarros, cada um com os mesmos campos:
1. Condutor
2. Maestro
3. Passageiros[].
Mas cada autocarro tem estes campos diferentes dos outros autocarros.
Resumindo: uma frota de autocarros é um conjunto de cordas do tipo autocarro.
 
Artyom Trishkin:
Um autocarro (variável com estrutura tipo autocarro) tem três campos:
1. Condutor
2. Maestro
3. Passageiros[].
Uma frota de autocarros (um conjunto de estruturas de autocarros) tem 120 autocarros, cada um com os mesmos campos:
1. Condutor
2. Maestro
3. Passageiros[].
Mas cada autocarro tem estes campos diferentes dos outros autocarros.
Resumindo: uma frota de autocarros é um conjunto de cordas do tipo autocarro.

Obrigado, isso é muito claro. :) Portanto, é um conjunto de escoras.

 
odyn:

Obrigado, isso é muito claro. :) É uma ESTRUTURA MASSIVA.

Foi muito bem explicado por Artem enquanto eu estava ausente. Apenas contribuirei para o seu entendimento: Recebe um conjunto de estruturas contendo um conjunto de passageiros.

Cada célula da matriz tem um condutor, um condutor e muitos passageiros (matriz).

 
Artyom Trishkin:

Aqui

Está a criar um objecto de classe base. Consequentemente - tem uma classe base em todo o lado.

mas será possível declarar uma classe como uma classe de base e depois, dependendo das condições, anulá-la como uma das classes herdadas?

A tarefa é deixar o mesmo nome de classe no código.

Além disso, aconselhar qual a directiva a utilizar para definir o provador.

#ifdef MQL_TESTER || MQL_VISUAL_MODE

É possível fazê-lo desta forma?

Razão: