Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Peço aos moderadores que coloquem todas as discussões em um fio à parte. Provavelmente há dúzias de tais linhas discutindo as vantagens do OOP.
Mais uma pergunta: Qual é a diferença entre declarar uma variável, obter/criar um ponteiro, criar uma instância de objeto. Não é a diferença, mas em que casos é melhor usar. Por exemplo, é suficiente declarar uma variável para abrir uma posição.
E em que casos é melhor usar o ponteiro, e em que casos não podemos passar sem a instância do objeto.
Quais são os prós e os contras de um método ou de outro?
1. Se um objeto está no escopo global, é um objeto estático. É colocado na memória estática e existe enquanto o programa existir.
Seu construtor é chamado antes da chamada da primeira função do programa. O destruidor é chamado depois de OnDeinit().
Por exemplo, assim:
Ou mesmo assim:
Ela será destruída ao sair do bloco. Quando é destruído, o destruidor é chamado de destruidor.
Como o tamanho da pilha é geralmente limitado, objetos muito grandes não podem ser colocados na pilha.
Exemplo:
Neste exemplo, duas variáveis são criadas. Um objeto da classe MyClass em pilha.
E a variável pObjeto é um ponteiro para MyClass. A esta variável é atribuído o endereço do objeto em memória dinâmica.
Ao sair da função, a variável pObjeto será destruída, mas o objeto permanecerá na memória dinâmica.
Para poder apagá-lo, seu endereço deve ser armazenado em algum lugar.
Quando eles são criados e destruídos, o construtor e o destruidor também são chamados.
As variáveis dinâmicas normalmente levam mais tempo para serem acessadas do que as variáveis locais.
Você deve levar tudo isso em consideração ao criar um objeto.
1. Se um objeto está no escopo global, ele é um objeto estático. É colocado em memória estática e existe enquanto o programa existir.
...
Estou correto ao assumir que com esta opção
sem considerar o aviso do compilador, a posição pode abrir com um número mágico não igual a 123 ?
Ou seja, um novo objeto será criado na função OnTick e o mágico não será igual a 123 nele.
Estou correto ao assumir que com esta opção
sem considerar o aviso do compilador, a posição pode abrir com um número mágico diferente de 123 ?
Ou seja, um novo objeto será criado na função OnTick e o mágico não será igual a 123 nele.
SetExpertMagicNumber
Estou correto ao assumir que com esta opção
sem considerar o aviso do compilador, a posição pode abrir com um mágico não 123 ?
Ou seja, um novo objeto será criado na função OnTick e não terá um MagicNumber de 123.
Sim, isso é correto. Estes são dois objetos diferentes. Como o objeto local no OnTick tem o mesmo nome do objeto global, somente ele pode ser acessado na função OnTick. O objeto global está fora do escopo. Portanto, para o objeto de comércio local, o MagicNumber ainda não foi definido.
Estou correto ao assumir que com esta opção
sem considerar o aviso do compilador, a posição pode abrir com um mágico não 123 ?
Ou seja, um novo objeto será criado na função OnTick e o mágico não será 123 nele.
É exatamente o mesmo que com as variáveis.
E foco:
Por que esteSetExpertMagicNumber é necessário em primeiro lugar?
Estabelece um número mágico para o objeto da classe comercial. Pode haver mais de um objeto de classe CTrade para todo o programa, como é feito agora em kodobase. Este é um objeto. Este objeto é utilizado para realizaroperações comerciais. Não há necessidade de criar um objeto para todo o programa e redefini-lo toda vez que um novo mágico, deslizamento e outros parâmetros que são definidos durante a inicialização precisam ser alterados. É possível criar um objeto comercial separado para cada símbolo comercial, estabelecer parâmetros necessários para ele de acordo com as propriedades do símbolo, ao qual pertence este objeto específico da classe CTrade, e negociar facilmente obtendo um ponteiro para o objeto necessário da classe comercial necessária a partir do símbolo necessário, sem sobrepor os parâmetros estabelecidos para isso.
Para trabalhar com outro mágico, pode ser definido um objeto comercial separado com configurações apropriadas. Pode haver vários feiticeiros em uma EA.
Tudo depende da compreensão do que e como o usamos.
Ele estabelece um magik para um objeto da classe comercial. Não pode haver apenas um objeto da classe CTrade para todo o programa, como geralmente é feito em kodobase. Este é um objeto. Este objeto é utilizado para realizar operações comerciais. Não há necessidade de criar um objeto para todo o programa e redefini-lo toda vez que um novo mágico, deslizamento e outros parâmetros que são definidos durante a inicialização precisam ser alterados. É possível criar um objeto comercial separado para cada símbolo comercial, estabelecer parâmetros necessários para ele de acordo com as propriedades do símbolo, ao qual pertence este objeto específico da classe CTrade, e negociar facilmente obtendo um ponteiro para o objeto necessário da classe comercial necessária a partir do símbolo necessário, sem sobrepor os parâmetros estabelecidos para isso.
Para trabalhar com outro mágico, pode ser definido um objeto comercial separado com configurações apropriadas. Afinal de contas, pode haver vários feiticeiros em uma EA.
Tudo depende da compreensão do que e como o usamos.
Nesse caso, é o
SetExpertMagicNumber Устанавливает идентификатор эксперта
descrição incorreta?
Meu entendimento era que, se definido para a EA, então quaisquer ordens/posições deveriam ter este magik. ((