Perguntas de um "boneco" - página 59

 
Yedelkin:
Arrays bidimensionais como array[][] não funcionarão?
Em teoria, deviam, eu até já tentei... Ainda não o dominei. Gostaria de ver uma implementação pronta, se isso for possível em princípio. Houve muitos acertos imediatos... Se estamos a falar de uma matriz bidimensional, a primeira coisa que me intrigou foi que os amortecedores são inicialmente indefinidos, ou seja, dinâmicos. Como poderiam ser carregados para a matriz parental? E depois... Se cada tampão tiver o seu próprio comprimento individual quando cheio, acabaremos com uma matriz cúbica em vez de uma bidimensional, e nem sequer será um cubo, mas uma espécie de tetris 3D.
 
x100intraday:
Em teoria deviam, até tentei... Não o consegui fazer. Gostaria de ver uma implementação acabada, se isso for possível em princípio. Houve muitos acertos imediatos... Se estamos a falar de uma matriz bidimensional, a primeira coisa que me intrigou foi que os amortecedores são inicialmente indefinidos, ou seja, dinâmicos. Como poderiam ser carregados para a matriz parental? E depois... Se cada tampão tiver o seu comprimento individual quando cheio, acabaremos com uma matriz cúbica em vez de 2D, mas não será sequer um cubo, mas uma espécie de tetris 3D.
Utilizar a estrutura como um invólucro para um amortecedor dinâmico. Já foi testado - funciona.
 

Pode dizer-me como encontrar a hora de encerramento de uma transacção?

Não consigo encontrá-lo nas propriedades do negócio.

 
masharov:

Pode dizer-me como saber a hora de encerramento de uma transacção?

Não consigo encontrá-lo nas propriedades do negócio.

O comércio (ordem) não tem hora de fecho, como acontecia no MT4. A fim de determinar a duração de uma "única operação", como foi no MT4, teremos de analisar as operações de "abertura" (IN) e "encerramento" (OUT/INOUT).

O mesmo se aplica à posição.

 
O Manual de Referência diz que para a funçãoPositionGetSymbol() "se nenhuma posição for encontrada, uma cadeia vazia será devolvida". E se é o retorno de cordas vazias que precisa de ser rastreado, a que deve ser comparado o valor retornado pela função: com NULL ou com "" (duas aspas)?
 
Yedelkin:
O Manual de Referência diz que para a função PositionGetSymbol() "se nenhuma posição for encontrada, uma cadeia vazia será devolvida". E se for necessário monitorizar o retorno de cordas vazias, a que deve ser comparado o valor de retorno da função: NULL ou "" (duas vírgulas invertidas)?
É necessário utilizar outra função para verificar se existe uma posição.
 
Renat:
É necessário utilizar outra função para verificar se a posição existe.
Não, o objectivo não é verificar se existe uma posição, mas sim aplicar o operador contínuo quando um fio vazio é devolvido no laço. Escrevi num post anterior:"é necessário monitorizar o retorno de cordas vazias", por isso quem me pode dizer o que comparar?
Документация по MQL5: Основы языка / Операторы / Оператор продолжения continue
Документация по MQL5: Основы языка / Операторы / Оператор продолжения continue
  • www.mql5.com
Основы языка / Операторы / Оператор продолжения continue - Документация по MQL5
 
Yedelkin:
Não, o objectivo não é verificar se a posição existe, mas sim aplicar o operador contínuo quando um fio vazio é devolvido no laço. Escrevi numa mensagem anterior:"é necessário rastrear o retorno de cordas vazias".

A secção de ajuda tem um tipo de vazio e uma constante NULL. Em geral, já o poderia ter verificado há muito tempo:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   string a=NULL;
   string b="";
   if(a==b)
      Print("Пустая строка и NULL - одно и то же");
   else
      Print("Пустая строка не равна NULL");
  }
//+--
 
Rosh:

Há uma secção na ajuda sobre o tipo de vazio e a constante NULL.

Bem, sim, há uma secção. Só que esta secção não diz exactamente como é denotado um fio vazio. O exemplo na secção utiliza a variável NULL apenas para detectar uma corda não inicializada.

Quanto à auto-verificação, a questão surgiu após o compilador ter esbatido a frase

switch(PositionGetSymbol(i)!=(NULL || ""))

como se segue:"conversão implícita de 'número' para 'string'" mas a comparação dos valores de string especificados separadamente não causou objecções ao compilador . Foi por isso que fiz a pergunta em vez de ser agravado por um raciocínio quase teórico sobre "moldar a um tipo mais antigo" e tentar simplificar o código.

Pelo seu exemplo pode ver que pelo menos os criadores de línguas usam aspas duplas sem espaços para denotar uma cadeia vazia. Era isso que eu queria saber. Obrigado.

 
Yedelkin:

Bem, sim, há uma secção. Só que esta secção não diz exactamente como é identificado um fio vazio. O exemplo na secção utiliza a variável NULL apenas para detectar uma corda não inicializada.

Quanto ao auto-teste, a questão surgiu depois de o compilador ter esbatido a seguinte frase

O que esperava obter com esta expressão?

(NULL || "")
Ler operações booleanas