Erros, bugs, perguntas - página 1840

 

Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial

Insectos, insectos, perguntas

fxsaber, 2017.04.01 10:20

Era uma vez, o operador [] foi acrescentado ao tipo de cordel.
string Str = "AB C";
Print(CharToString(Str[1])); // B


É possível do lado dos programadores adicionar um = operador para as arrays?

int a[], b[];
a = b; // ArrayCopy(a, b);


Uma vez que não existem indicadores, um tal operador tornaria a língua mais flexível - encontrando situações em que seria MUITO útil.

O mesmo para estruturas complexas
MqlTradeRequest a, b;
a = b;
 
fxsaber:
O mesmo para estruturas complexas
Pode escrever a função Copy(a, b), parece e funciona não tão bem, mas como uma opção...
 
Комбинатор:
Pode escrever a função Copy(a, b), não parece e funciona tão bem, mas é uma opção...
Esta função não será universal (através de modelo).
 
fxsaber:
Tal função não seria universal (através de um modelo).
É possível fazer uma sobrecarga para cada estrutura. No final, é claro, será necessário muito espaço, não um modelo, mas pode utilizá-lo universalmente sem qualquer problema
 
Комбинатор:
Podia-se fazer uma sobrecarga para cada estrutura. No final, será necessário muito espaço, claro, não um modelo, mas pode utilizá-lo universalmente sem problemas

Mas sabe que não era disso que se tratava. Universal é quando funciona não só para estruturas complexas regulares, mas também para estruturas complexas personalizadas.

ZZY Neste momento é impossível escrever tal função

MqlTradeRequest Func();

Isso provavelmente não é uma boa limitação da língua.

 
É possível compensar a ausência de indicadores para uma matriz introduzindo a capacidade de devolver uma matriz por uma função?
int[] Func()
{
  int a[] = {1, 2, 3};

  return(a);
}

Print(Func()[1]); // 2
 

Não sei se este é o tema certo.

Falha com perfis em MT5 e MT4

Ao guardar perfis, por exemplo, 6 gráficos para cada par separadamente, quando abro um perfil abro frequentemente um diferente do que necessito. E a que eu preciso não abre de todo.

Pensei que o problema estava no terminal do corretor no MT4 (originalmente tentei configurar os perfis lá), descarreguei o MT5 original a partir de Metaquotes e o mesmo problema.


Onde cavar?

 
Oleg:

Não sei se este é o tema certo.

Falha com perfis em MT5 e MT4

Ao guardar perfis, por exemplo, 6 gráficos para cada par separadamente, quando abro um perfil abro frequentemente um diferente do que necessito. E a que eu preciso não abre de todo.

Pensei que o problema estava no terminal do corretor no MT4 (originalmente tentei configurar os perfis lá), descarreguei o MT5 original a partir de Metaquotes e o mesmo problema.

Onde cavar?


Para começar com uma descrição consistente e precisa. MT5 - construir onde se encontra o directório de dados (depois de recarregar, tirar as três linhas superiores do separador "Log"):

  1. abriu gráficos mais ou menos (screenshot). Guardado num modelo. Anexou o modelo.
  2. abriu outros gráficos (screenshot). Guarde-o para um novo modelo. O modelo foi anexado.
  3. Repetir os passos 1, 2.
  4. Modelo aplicado №1 - o que temos.
  5. e depois aplicar o modelo 2 - o que temos.
Assim.
 
Oleg:

Não sei se este é o tema certo.

Falha com perfis em MT5 e MT4

Ao guardar perfis, por exemplo, 6 gráficos para cada par separadamente, quando abro um perfil abro frequentemente um diferente do que necessito. E a que eu preciso não abre de todo.

Pensei que o problema estava no terminal do corretor no MT4 (originalmente tentei configurar os perfis lá), descarreguei o MT5 original a partir de Metaquotes e o mesmo problema.


Compreendo, grosso modo, qual é o problema. Quando crio um novo campo e o guardo com um nome diferente, o perfil é simplesmente sobre-escrito. Embora deva ser guardado com um nome diferente.


Onde cavar?

Este tem sido sempre o caso. Qualquer mudança de perfil provoca alterações no perfil aberto, então se o guardar com um nome diferente, dois perfis idênticos serão guardados. Para resolver este problema basta seguir a sequência de passos

1. Guardar o perfil actual.

2. Estabelecer um novo perfil e guardá-lo com um nome diferente.

Assim, dois perfis diferentes serão salvos...

 
Vladimir Karputov:


Comece com uma descrição consistente e precisa para começar. MT5 - construir onde se encontra o directório de dados (depois de recarregar, tirar as três linhas superiores do separador do registo):

  1. tantos gráficos abertos (screenshot). Guardado para um modelo. O modelo foi anexado.
  2. Abrir outros gráficos (screenshot). Guarde-o para um novo modelo. O modelo foi anexado.
  3. Repetir os passos 1, 2.
  4. Modelo aplicado №1 - o que temos.
  5. e depois aplicar o modelo 2 - o que temos.
Aproximadamente assim.

Obrigado pela sua resposta rápida! Parece tê-lo descoberto, o último modelo guardado não só é guardado com o seu nome, como se torna automaticamente um padrão.

Para guardar tudo correctamente, abro por defeito, ponho os gráficos necessários e guardo-os sob o meu nome.

Razão: