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
Você tem seu próprio invólucro, o outro tem seu próprio invólucro. A questão era se é possível criar uma embalagem mais conveniente do que a MQL4.
Acho que não há muito por onde escolher...
Pessoalmente, preciso do invólucro apenas para a plataforma cruzada - para separar a lógica do Expert Advisor das especificidades desta ou daquela plataforma
É claro, você tem que pagar pela beleza do OOP com recursos e muito tempo gasto na depuração. O OOP só faz sentido como um conveniente invólucro de texto ou quando usado minimamente durante a inicialização em tempo de execução... Na verdade, o OOP foi apenas uma coisa de marketing da Microsoft para aumentar os custos do horário de trabalho dos programadores e para estimular a compra de equipamentos mais avançados. E eles mesmos não são tolos e escrevem todo o software em C e assembler.
Que visionário você é...
Você é um sonhador, não é?
Você tem algo significativo a dizer sobre o tema da discussão?
Mais uma vez me deparei...
Na MQL, é impossível "não torto" separar a implementação de métodos do protótipo e não há como fornecer ao usuário (cliente, testador, amigo/amigo) um arquivo *.mqh separado e um arquivo *.ex4 separado (similar ao *.h e .obj/lib/dll em C++)
Mais uma vez me deparei...
Na MQL, é impossível "sem querer" separar a implementação de métodos do protótipo e não há como fornecer ao usuário (cliente, testador, amigo/amigo) um arquivo *.mqh separado e um arquivo *.ex4 separado (similar ao *.h e .obj/lib/dll em C++)
Você poderia ser mais específico sobre a tarefa? Parece ser bastante simples fornecer um cabeçalho com uma fábrica importada que devolve interfaces limpas, e toda a implementação é abarrotada dentro do ex4.
Você pode ser mais específico sobre a tarefa? Parece ser possível fornecer cabeçalho com fábrica importada, que devolve interfaces limpas, e toda a implementação é armazenada dentro do ex4.
A tarefa é dar ao usuário a biblioteca de classes com o mínimo de esforço, que consiste em: mqh onde as classes são descritas e ex4 onde sua implementação é armazenada.
A única opção até o momento arrasta muito texto com muletas para contornar este gargalo.
Se você conhece uma maneira curta e prática de remover a implementação do CFoo no ex4, por favor, compartilhe a receita.
class CFoo {
public:
CFoo(); //default
CFoo(const CFoo orig); // copy
~CFoo();
bool Set(string key,CFoo & link);
CFoo *Get(string key);
bool Clear(string key);
};
a tarefa é dar ao usuário uma biblioteca de classes composta de: mqh em que as classes são descritas e ex4 em que elas são implementadas.
A única opção até agora puxa um monte de texto com muletas para contornar este gargalo.
Se você conhece uma maneira curta e conveniente de remover a implementação do CFoo no ex4, por favor, compartilhe a receita.
class CFoo {
public:
CFoo(); //default
CFoo(const CFoo orig); // copy
~CFoo();
bool Set(string key,CFoo & link);
CFoo *Get(string key);
bool Clear(string key);
};
Bem, eu já escrevi um caminho - por que não é adequado? Você faz um método de fábrica, ou função, que retorna a classe abstrata (interface) descrita no arquivo de cabeçalho. Toda a implementação está escondida. O verdadeiro exemplo pode ser encontrado, por exemplo, em meu blog sobre a biblioteca de otimização de especialistas na mosca (em inglês).
Bem, eu já escrevi um método - o que há de errado com isso? Você faz um método de fábrica, ou função, que retorna uma classe abstrata (interface) descrita no arquivo de cabeçalho. Toda a implementação está escondida. O verdadeiro exemplo pode ser encontrado, por exemplo, em meu blog sobre a biblioteca de otimização de especialistas na mosca (em inglês).
Tente lançar o código fonte. E todos conhecem os links para o wiki
O link para o wiki de origem não é ok? ;-)
O link para o wiki de origem não é ok? ;-)
mas não vai :-)
Estou dizendo - tente fazer isso, é um código de lote feroz. A classe instantânea "CFoo: public InterfaceCFoo" deve conter o campo InterfaceCFoo *contexto privado (fazer link 1:1), criá-lo e excluí-lo via fábrica, delegar todos os métodos e traduzir as referências CFoo* aqui e ali. Isto é "pôr do sol à mão", ou seja, substituir a herança pela delegação, e no local.