Discussão do artigo "Criação de Consultores Multiespecializados com base em Modelos de Comércio"
Vasily, sinceramente, eu esperava mais. Nesta obra, você conseguiu confundir o leitor com o significado de sua proposta.
Mas você poderia tê-la chamado de forma muito mais simples: "Como negociar Expert Advisors com a lógica MQL4 no terminal MT5". E é nisso que você deve prestar atenção.
Se você tivesse se concentrado nessa pedra fundamental, a proposta teria sido muito mais compacta e compreensível.
Assim, primeiro você carregou as listas dinâmicas e sua aplicação para esse caso específico. Depois, com uma tabela de ordens virtuais.
Toda a lógica da MQL4 é resolvida na MQL5 usando a funcionalidade de DOIS métodos!
1. restauração dos tickets de stop loss e take profit do histórico do terminal
2. Seu controle adicional quando um deles é acionado ou o pedido principal é excluído.
E, depois de explicar essas duas funções GERAIS , passe para as matrizes dinâmicas e para a criação de "models-mql4-experts".
É muito ruim que você não tenha descrito o trabalho com ordens pendentes. Embora elas não sejam mais complicadas do que as ordens de mercado, elas apenas atrasam a colocação de ordens reais de stop-loss e take-profit.
Por alguma razão, eles carregaram o leitor com o arquivo inútil <Time.mqh>, com realizações não muito bonitas de suas funções.
Depois, funções para contagem de ordens, controle de lotes.
Parece que eles tentaram colocar todo o seu conhecimento de trabalho com especialistas no artigo e enterraram o próprio objetivo do artigo sob esse crescimento.
Bem, e com relação aos modelos fornecidos, não entendi como se usa o stop-loss e o take-profit em uma ordem. Nem no IACD nem no Bolinger, não encontrei o uso de stops.
Em geral, não gostei de ler o artigo. Há muito peso desnecessário que enterrou uma ideia brilhante.
- www.mql5.com
Sim, sem restaurar a lista de negociações do histórico da conta (ou de seu próprio arquivo), ele acabou se tornando um brinquedo de teste.
Há um trabalho com ordens pendentes, mas ele está escrito no final do artigo. (provavelmente você não teve paciência para lê-lo :)).
Em geral, o artigo é realmente difícil de entender. Ele poderia ser mais bem estruturado em termos de apresentação das informações.
para:Udmurt2
Onde você acha que está a lógica dos especialistas em MQL4 no meu artigo? Pela sua avaliação, tenho a impressão de que você não entendeu completamente o material. Em muitos aspectos, é claro que a culpa é minha, talvez o artigo devesse ter sido melhor estruturado.
--------------------------------
Você tem alguma sugestão específica para melhorar a estrutura do artigo?
Concordo, muitas coisas foram deixadas "nos bastidores". Considere esta versão como 1.0. Aqui está o que está planejado para ser introduzido:
1. Serialização de dados com base em arquivos de dados;
2. Reconstrução do histórico de negociações de modelos pelo histórico de pedidos;
3. Descrição completa do modelo com base em ordens pendentes. 4;
4. Descrição do modelo de negociação usando um sistema complexo de ordens contadas mutuamente;
5. Controle dinâmico da eficiência de cada modelo (remoção de modelos ineficientes da lista de modelos).
6. Retirada de funções externas dos modelos de negociação, por exemplo, funções de gerenciamento de capital.
7. Suporte a multithreading (parcialmente usado agora, graças à paralelização interna do MT5).
...
Como você pode ver, o material que ainda precisa ser considerado é tão abrangente que é hora de escrever outro artigo sobre ele, a segunda parte, por assim dizer. Este artigo não é um artigo de borracha, de qualquer forma, acredito que as tarefas que estabeleci para mim mesmo foram resolvidas. E aqui Udmurt2 está particularmente errado. A base da abordagem proposta são as listas dinâmicas, que não trabalham com ordens pendentes (como pareceu a ele por algum motivo). É por isso que tanta atenção é dada a elas. De modo geral, não haveria nenhuma estratégia que não pudesse ser resolvida sem o uso de ordens pendentes. Entretanto, a abordagem que propus não impõe nenhuma restrição ao uso de ordens pendentes que simulem os mesmos stops e take-outs. No entanto, nesse caso, são necessárias verificações adicionais e subsistemas de programa, em particular, uma estrutura que descreva o evento Trade() seria muito útil. E enquanto essa estrutura não existe (porque a MQL5 está em desenvolvimento), considero uma loucura completa escrever sistemas de controle para possibilidades inexistentes.
A propósito, no caso mais simples, você pode escrever um restaurador de negociação a partir de arquivos em algumas horas. Entretanto, essa questão não foi considerada no artigo, pois quero que essa solução seja bem pensada, e não apenas escrita às pressas. De qualquer forma, essa será uma das muitas questões interessantes a serem resolvidas na segunda parte.
A MQL5 está sendo desenvolvida agora. A abordagem proposta, assim como a MQL5, também se desenvolverá com o tempo e ganhará oportunidades. Pode parecer para algumas pessoas que, no estágio atual, ela é um brinquedo para um testador. Nesse caso, podemos dizer que o MetaTrader 5 também é um brinquedo para contas de demonstração. Mas acredite em mim, não vai demorar muito e o MT5 se tornará um padrão de fato, e a abordagem que propus será uma solução poderosa para negociação em várias moedas/multi-timeframe/multissistema. O principal agora é entender os princípios básicos. Esses princípios básicos são os que descrevi neste artigo. Depois de entendê-los, você poderá escrever facilmente seu próprio modelo de negociação usando todas as vantagens das ordens pendentes e da memorização das negociações em arquivos.
- www.mql5.com
Onde você acha que está a lógica dos especialistas em MQL4 no meu artigo?
Então, aqui estão as principais tarefas que precisaremos resolver:
- Um Expert Advisor deve operar com base em vários sistemas de negociação ao mesmo tempo. Ao mesmo tempo, deve ser igualmente fácil operar com um ou vários sistemas de negociação;
- Todos os sistemas de negociação incluídos no Expert Advisor não devem entrar em conflito uns com os outros. Cada sistema de negociação deve processar apenas sua contribuição para a posição agregada e apenas suas ordens;
- Qualquer um dos sistemas agregados deve ser igualmente fácil de negociar tanto em um período de tempo do instrumento quanto em todos os períodos de tempo ao mesmo tempo.
- Qualquer um dos sistemas agregados deve ser igualmente fácil de negociar tanto em um instrumento de negociação quanto em todos os instrumentos disponíveis ao mesmo tempo.
E por todos esses pontos, a lógica do terminal MT4 é clara e absolutamente identificada
1. ele pode conduzir simultaneamente vários Expert Advisors graças à magia e à ausência de posição líquida.
2. os Expert Advisors não entram em conflito uns com os outros graças à mesma magia e à ausência de posição líquida.
3. Tudo é negociado em qualquer período de tempo.
4. Tudo é negociado em qualquer instrumento.
PERGUNTA:O que você escreveu de novo e que não está no terminal MT4?
Escrevi acima que você poderia construir seu raciocínio a partir da base da MQL4 e desenvolver sua implementação, de modo que ficaria muito mais claro o que você quer dizer.
Eu o construiria passo a passo, desde a contabilização de stops pelo magik-ticket até a criação de um modelo de um Expert Advisor-mt4
de negociação e só então passaria para os métodos de controle de vários Expert Advisors. (listas/não-listas é o que você quiser usar)
.
Considere esta versão como 1.0. Aqui está o que está planejado para ser introduzido:
2. Reconstrução do histórico de negociações do modelo pelo histórico de ordens;
3. Descrição completa do modelo com base em ordens pendentes;
4. Descrição do modelo de negociação usando um sistema complexo de ordens contadas mutuamente;
Os pontos 2 a 4 são o que você deveria ter resolvido imediatamente neste artigo. Todo o resto é do maligno e poderia ter sido deixado a critério do programador ou no segundo artigo.
As listas dinâmicas são apenas um dos métodos de controle e contabilidade.
Diga-me, que outra abordagem proposta tem essa flexibilidade e capacidade de controle?
Qualquer especialista em MT4 :)))
C-4:
Pode parecer para algumas pessoas que, no estágio atual, ele é um brinquedo para um testador. Nesse caso, podemos dizer que o MetaTrader 5 agora também é um brinquedo para contas de demonstração.
Sim, ele é ;)
Mas o MT está sendo finalizado. E o código proposto no artigo poderia ter sido escrito para contas reais.
A propósito, como está o Expert Advisor do Championship? Ele sofreu com as reinicializações?
Vasily, você deve estar trabalhando demais. Às vezes, é preciso voltar ao início e refazer tudo. Já estou convencido, pela milésima vez, de que as pessoas tendem a complicar tudo. Minha recomendação amigável para você: refaça suas aulas básicas sobre a lógica principal da operação do terminal MT4 com um dispositivo linear. Muitas coisas ficarão mais claras.
Caso contrário, terei que escrever o segundo artigo :)
Sim, é ;)
Mas o MT está sendo finalizado. E o código proposto no artigo poderia ter sido escrito imediatamente com vistas ao real.
A propósito, como está o EA do campeonato? Ela sofreu com as reinicializações?
Sofreu, mas não significativamente. É claro que ele tinha um manipulador de eventos de inicialização/desinicialização integrado. No entanto, não levei em conta uma coisa: a inicialização e a desinicialização podem ocorrer fora do horário de expediente, por exemplo, no sábado, que foi o que os organizadores do campeonato providenciaram. Isso é resolvido com apenas algumas linhas de código, mas eu simplesmente não me dei conta de uma combinação tão insidiosa (bem, não se pode levar tudo em conta), então, em algum lugar, muita coisa foi perdida.
Tentarei escrever uma serialização de dados simples em um futuro próximo e inseri-la no artigo (em princípio, isso levará dois dias). Com isso, será um produto completo para trabalhar em contas em tempo real (demo e real). Então você diz que esse é um brinquedo para um testador. Faltam apenas 5 a 6% do código de manutenção para uso confiável em contas reais.
Também planejamos introduzir algo assim: digamos que exista um modelo de negociação abstrato. Ele usa apenas ordens pendentes (stops, take-outs, pontos de entrada). Haverá duas maneiras de usá-lo no mecanismo: todos os pontos de entrada serão virtuais, ocultos aos olhos do corretor. A segunda opção: todos os take stops e pontos de entrada estarão em ordens pendentes, para aumentar a confiabilidade. É interessante que, para cada modelo, haverá dois tipos de virtualização (pendente e virtual). Ou seja, será assim: switch virtual_orders=true; - e todas as ordens serão virtuais, ocultas aos olhos do corretor; switch virtual_orders=false; - e todas as ordens se tornarão magicamente pendentes. O melhor de tudo é que não será necessário nenhum suporte especial do modelo, pois tudo será implementado no nível do mecanismo. Os modelos só precisarão especificar o tipo de ordem para os pontos de entrada, o tipo de stops e takes será escolhido independentemente, dependendo da opção virtual_orders.
- www.mql5.com
para:Udmurt
Por favor, não me diga o que eu deveria ter feito e o que não deveria ter feito. Não sirvo aos seus interesses e não trabalho para você.
Considero nossa conversa um absurdo, pois você nem mesmo compreende totalmente a essência de suas próprias declarações. Prove-me que você realmente entende a MQL4 e escreve um especialista em negociação sobre ela, por exemplo, negociando simultaneamente 500 modelos de negociação diferentes. Vamos considerar, por exemplo, 5 estratégias * 20 instrumentos * 5 períodos de tempo. Quando o seu Expert Advisor funcionar claramente com elas, pelo menos no testador, então, e somente então, admitirei que o absurdo exagerado que você está dizendo não é realmente um absurdo, mas observações úteis de uma pessoa inteligente. Agora, quero lhe pedir um favor: não me incomode por nada e nem tente se comunicar comigo sem o código-fonte desse expert.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Novo artigo Criação de Consultores Multiespecializados com base em Modelos de Comércio foi publicado:
Usar a abordagem orientada a objeto no MQL5 simplifica a criação de Expert Advisors de várias moedas/vários sistemas/vários períodos de tempo. Imagine seu único EA comercializar simultaneamente em várias dezenas de estratégias comerciais, em todos os instrumentos disponíveis, e em todos os possíveis prazos! Além disso, a EA é facilmente testada no dispositivo de teste e, para todas as estratégias, incluídas na sua composição, existe um ou vários sistemas de trabalho de gestão de dinheiro.
Autor: Василий Соколов