Discussão do artigo "Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXIII): classe básica de negociação, controle de parâmetros válidos" - página 2
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
O que significa "status de especialista"?
Suponha que eu tenha um TS com 2 indicadores, mas negocie em um indicador o tempo todo, no outro indicador apenas 2 vezes após o início e, além disso, abrirei ordens após a última perda no primeiro indicador.....
Não importa qual TS, mas um determinado TS com o qual as ordens são colocadas de acordo com um princípio independente, mas o momento da ativação do segundo TS é importante, ou seja, o multi-expert pode ser chamado, ou 2 TS em um EA ...
Se você sobrecarregar o terminal, poderá complicar o algoritmo de busca de ordens iniciais, pois talvez não saibamos qual TS começou a funcionar primeiro?
como em seu grande EA, pode haver a necessidade de salvar dados, por isso estou perguntando: haverá ou já foi escrito ou não há classes/funções para salvar formatos de dados complexos?
a biblioteca pode.
As mesmas informações não estão disponíveis no histórico de negociação do MT4.
As mesmas informações não estão disponíveis no histórico de negociação do MT4.
Sim, não está. Mas está (no momento) na lista de eventos. Ela é registrada durante a operação do Expert Advisor. E tudo está disponível nela.
Naturalmente, depois de recarregar o terminal ou reiniciar o Expert Advisor, o histórico atual do Expert Advisor será perdido. Mas isso é só por enquanto, porque, no futuro, todos os elementos importantes de todas as listas serão salvos em arquivos e lidos a partir deles ao reiniciar. Não no testador, é claro.
Suponha que eu tenha um TS com 2 indicadores, mas negocie em um indicador o tempo todo, no outro indicador apenas 2 vezes após o início e, no futuro, abrirei ordens após a última perda no primeiro indicador.....
Não importa qual TS, mas algum tipo de TS com o qual as ordens são colocadas de acordo com o princípio independente, mas o momento de ligar o segundo TS é importante, ou seja, o multi-expert pode ser chamado, ou 2 TS em um EA....
Se sobrecarregarmos o terminal, poderemos complicar o algoritmo de busca de ordens iniciais, pois talvez não saibamos qual TS começou a funcionar primeiro?
Como no seu Expert Advisor grande, pode haver a necessidade de salvar dados, por isso estou perguntando se haverá ou já foi escrito ou se não há classes/funções para salvar formatos de dados complexos?
Para ser sincero, não entendo muito bem. Como uma biblioteca pode saber sobre a lógica de um EA que ainda não foi criado? Seu objetivo é facilitar a criação de programas para terminais, e ela não sabe de forma alguma quais programas serão criados com sua ajuda.
Ao mesmo tempo, se algo for difícil de definir programaticamente, é bem provável que seja fácil fazê-lo com a ajuda da biblioteca, e então será possível para o escritor especialista controlar tudo rapidamente.
Não preciso de um exemplo abstrato para entendermelhor.
Para ser sincero, não entendo muito bem. Como uma biblioteca pode saber sobre a lógica de um Expert Advisor ainda não criado? Seu objetivo é facilitar a criação de programas para terminais, e ela não sabe de forma alguma quais programas serão criados com sua ajuda.
Ao mesmo tempo, se algo for difícil de definir programaticamente, é bem provável que seja fácil fazê-lo com a ajuda da biblioteca, e então será possível para o escritor especialista controlar tudo rapidamente.
Não preciso de um exemplo abstrato para entendermelhor.
Basta que você o implemente:
Naturalmente, depois de recarregar o terminal ou reiniciar o Expert Advisor, o histórico atual do Expert Advisor será perdido. Mas isso é apenas por enquanto, porque no futuro todos os elementos importantes de todas as listas serão salvos em arquivos e lidos a partir deles ao reiniciar. Não no testador, é claro.
À primeira vista, essa é uma tarefa simples, mas há muitos problemas: sincronização com um arquivo, registro em tempo hábil, lógica de recuperação após a reinicialização..... Há muitas nuances nas quais eu gostaria de ver a implementação da gravação de tipos de dados complexos
é suficiente para que você perceba
Naturalmente, após recarregar o terminal ou reiniciar o Expert Advisor, o histórico atual do Expert Advisor será perdido. Mas isso é só por enquanto, porque no futuro todos os elementos importantes de todas as listas serão salvos em arquivos e lidos a partir deles ao reiniciar. Não no testador, é claro.
À primeira vista, essa é uma tarefa simples, mas há muitos problemas: sincronização com um arquivo, registro em tempo hábil, lógica de recuperação após a reinicialização..... Há muitas nuances nas quais eu gostaria de ver a implementação do registro de tipos de dados complexos
Portanto, isso foi planejado há muito tempo - pode-se dizer que desde o início. Eu o implementarei quando todas as coleções de dados necessárias forem criadas - para fazer tudo de uma vez.
Mas o que foi escrito - que é necessário entender quando qual TC foi o primeiro a negociar - não precisa de tanta complexidade. Afinal de contas, a biblioteca vê todo o histórico do terminal, desde o reabastecimento da conta até o momento atual. Para o MetaTrader4, é importante resolver todo o histórico no terminal. Não fiz isso com a ajuda da dll - planejo fornecer possibilidades possíveis (trocadilho intencional) com ferramentas padrão, por isso não considerei a dll e não a considerarei.
Portanto, você sempre pode encontrar rapidamente todas as ofertas de cada TS para qualquer período de tempo e compará-las. Qual oferta é a primeira - aquela TS e os chinelos.
A MQL4 não armazena o histórico de ordens pendentes acionadas, você só pode definir no histórico de ordens:
Testei essa funcionalidade da biblioteca na mql4. O histórico não tem nada a ver com isso, a biblioteca capta o próprio fato da ativação da ordem pendente e, nesse momento, todas as propriedades de uma posição aberta estão disponíveis.
Testei a funcionalidade dessa biblioteca no mql4. O histórico não tem nada a ver com isso, a biblioteca capta o próprio fato da ativação de uma ordem pendente e, nesse momento, todas as propriedades de uma posição aberta estão disponíveis.
Não apenas nesse momento. O histórico de todas as ordens acionadas (e, em geral, de todos os eventos de negociação) é armazenado na biblioteca e fica disponível durante todo o trabalho. Ou seja, você sempre pode encontrar todo o histórico de uma posição - desde a definição de uma ordem pendente até seu fechamento completo.
No entanto, ainda não foi implementado o salvamento do histórico do Expert Advisor em um arquivo - após reiniciar o Expert Advisor, o histórico de todos os seus eventos de negociação será perdido e começará a se acumular novamente após o próximo evento de negociação. Mas esse comportamento é temporário - inicialmente, foi planejado salvar todas as informações importantes em arquivos. Isso será feito mais tarde, após a criação de todas as coleções de dados necessárias.
O CEngine tem um método GetListAllOrdersEvents(), que retorna ao programa de controle uma lista completa de todos os eventos de negociação que ocorreram na conta desde o lançamento do programa baseado na biblioteca.
Para obter a lista completa de eventos de negociação pertencentes a um Expert Advisor (ou suas posições com um determinado mágico), você deve filtrar a lista obtida pelo mágico necessário:
E, em seguida, em um loop pela lista obtida, você pode obter todos os eventos de negociação da lista, um por um, e trabalhar com eles.
Não apenas neste momento. O histórico de todas as ordens acionadas (e, em geral, todos os eventos de negociação) é armazenado na biblioteca e está disponível durante todo o trabalho. Ou seja, você sempre pode encontrar todo o histórico de uma posição, desde a definição de uma ordem pendente até seu fechamento completo.
No entanto, ainda não foi implementado salvar o histórico do Expert Advisor em um arquivo - após reiniciar o Expert Advisor, o histórico de todos os seus eventos de negociação será perdido e começará a se acumular novamente após o próximo evento de negociação. Mas esse comportamento é temporário - inicialmente, foi planejado salvar todas as informações importantes em arquivos. Isso será feito mais tarde, após a criação de todas as coleções de dados necessárias.
O CEngine tem um método GetListAllOrdersEvents(), que retorna ao programa de controle uma lista completa de todos os eventos de negociação que ocorreram na conta desde o início do programa baseado na biblioteca.
Para obter a lista completa de eventos de negociação pertencentes a um Expert Advisor (ou suas posições com um determinado mágico), você precisa filtrar a lista obtida pelo mágico desejado:
E, em seguida, em um loop pela lista obtida, você pode obter todos os eventos de negociação da lista, um por um, e trabalhar com eles.
Eu disse apenas o que é importante para mim no momento. E o que foi testado. Obrigado pelos esclarecimentos. Quando houver necessidade, eu o atormentarei com perguntas.
e você já se aprofundou nos aprimoramentos da biblioteca (recursos, sons etc.) e acho que perdeu as tarefas básicas.
Obrigado, a biblioteca é muito necessária.