Pela primeira vez tentei fazer uma classe de embalagem para uma matriz bidimensional, mas não consegui sobrecarregar [] para tratá-la como uma matriz bidimensional normal[1][2].
Tal problema foi resolvido há 4-5 anos atrás, havia um ramo separado com soluções prontas. Poucos dos participantes activos sobreviveram até hoje, a maior parte deles foram banidos...
P.s. Não era uma matriz bidimensional, mas uma matriz tridimensional sobre classes.
Tal problema foi resolvido há 4-5 anos atrás, havia um ramo separado com soluções prontas. Dos participantes activos, poucos sobreviveram até hoje, a maioria foi novamente banida.
P.s. Não era uma matriz bidimensional, mas uma matriz tridimensional sobre classes.
Bem, eu fui e procurei nesse tópico - não há uma única conta que tenha sido banida ou apagada. Todas as pessoas daquele ramo estão lá, e ainda vivas.
Foi assim que decidiu criar um escândalo, atirando-o à administração? É uma tolice, não é? Pare de ver o mal por aqui.
Acho que li este tópico no mês passado, vou procurar novamente esta noite
mas as minhas experiências com sobrecarga [][] terminaram em perceber que posso implementar tanto o valor L como o valor R em MQL usando sobrecarga [][].
Se tem uma solução completa para uma matriz bidimensional dinâmica - coloque-a em CodeBase, é uma coisa útil - não tenho melhor aspecto que CMatrixDouble de MT: #include Math Alglib
class A{
public:
uchar data1;
};
A func(){
A a;
a.data1 = 1;
return a; //object of 'A' cannot be returned, copy constructor 'A::A(const A &)' not found
}
voidOnStart(){
A a;
//1
A aa = a;
a = aa;
//2
a = func();
}
Qual é a diferença entre //1 e //2 ? Infelizmente, este problema não pode ser evitado quando se utilizam modelos em contentores com um tipo de dados arbitrário.
Como caso especial, para resolver o problema, podemos implementar a herança, definir um construtor de cópias para a classe mãe e substituir o tipo de retorno na função problema desde a base até ao pai.
Desenvolvedores: Acrescentar uma função que devolve a Capacidade de uma matriz (o número de elementos para os quais o espaço é reservado na memória). Não confundir com o parâmetro de reserva para o ArrayResize. HáStringBufferLen para cordel mas nadapara matriz.
Sergey Dzyublik: Por favor, forneça também um pseudo-código para usar o parâmetro reserve_size em ArrayResize. Não há descrição de como o sistema se comporta quando um novo valor de tamanho_de_reserva é definido para o próximo ArrayResize.
Sergey Dzyublik:
É a seguinte suposição correcta quando se telefona sequencialmente:
Tanto quanto me lembro, a capacidade só é aumentada quando o tamanho da matriz excede esta capacidade. Embora, claro, algo pudesse ter mudado.
E a função de obter o valor de uma saracidade é realmente muito útil.
Pela primeira vez tentei fazer uma classe de embalagem para uma matriz bidimensional, mas não consegui sobrecarregar [] para tratá-la como uma matriz bidimensional normal[1][2].
Tal problema foi resolvido há 4-5 anos atrás, havia um ramo separado com soluções prontas.
Poucos dos participantes activos sobreviveram até hoje, a maior parte deles foram banidos...
P.s. Não era uma matriz bidimensional, mas uma matriz tridimensional sobre classes.
Tal problema foi resolvido há 4-5 anos atrás, havia um ramo separado com soluções prontas.
Dos participantes activos, poucos sobreviveram até hoje, a maioria foi novamente banida.
P.s. Não era uma matriz bidimensional, mas uma matriz tridimensional sobre classes.
Bem, eu fui e procurei nesse tópico - não há uma única conta que tenha sido banida ou apagada. Todas as pessoas daquele ramo estão lá, e ainda vivas.
Foi assim que decidiu criar um escândalo, atirando-o à administração? É uma tolice, não é? Pare de ver o mal por aqui.
Oh, acho que encontrei esse ramohttps://www.mql5.com/ru/forum/6729
Acho que li este tópico no mês passado, vou procurar novamente esta noite
mas as minhas experiências com sobrecarga [][] terminaram em perceber que posso implementar tanto o valor L como o valor R em MQL usando sobrecarga [][].
Se tem uma solução completa para uma matriz bidimensional dinâmica - coloque-a em CodeBase, é uma coisa útil - não tenho melhor aspecto que CMatrixDouble de MT: #include Math Alglib
Qual é a diferença entre //1 e //2 ?
Infelizmente, este problema não pode ser evitado quando se utilizam modelos em contentores com um tipo de dados arbitrário.
Como caso especial, para resolver o problema, podemos implementar a herança, definir um construtor de cópias para a classe mãe e substituir o tipo de retorno na função problema desde a base até ao pai.
Acrescentar uma função que devolve a Capacidade de uma matriz (o número de elementos para os quais o espaço é reservado na memória). Não confundir com o parâmetro de reserva para o ArrayResize.
HáStringBufferLen para cordel mas nadapara matriz.
Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial
Insectos, insectos, perguntas
Sergey Dzyublik, 2019.05.22 16:01
Mais uma vez obrigado aoTheXpert por ter fornecido o código.Temos os seguintes resultados no ArrayResize capacidade MT5(build 2057):
Resultado:
Boa noite!
Alguém me pode dizer o que se está a passar?
Esta é a primeira vez que vejo isto acontecer. Código simples em uma das funções.
Resultado:
"2019.05.21 19:38:29.364 2019.04.01 00:05:00 teste yyyyy=0.0"
Boa noite!
Alguém me pode dizer o que se está a passar?
int(28) / int(50) * int(100) == int(0) * int(100) == int(0) == duplo(0.0)
Utilizar uma paragem completa para especificar o tipo duplo:
Por favor, forneça também um pseudo-código para usar o parâmetro reserve_size em ArrayResize.
Não há descrição de como o sistema se comporta quando um novo valor de tamanho_de_reserva é definido para o próximo ArrayResize.
É a seguinte suposição correcta quando se telefona sequencialmente:
Tanto quanto me lembro, a capacidade só é aumentada quando o tamanho da matriz excede esta capacidade. Embora, claro, algo pudesse ter mudado.
E a função de obter o valor de uma saracidade é realmente muito útil.