Desejos para MQL5 - página 90

 

Agora você não pode colocar um filtro nas posições apenas por um certo símbolo. Ou seja, você tem que passar por todas as ordens.

Isto atrasa a EA e, se houver muitos gráficos nos quais a EA está trabalhando, ela pode desacelerar e carregar a CPU.

Например такой код

for( Ord = 0; Ord < OrdersTotal(); Ord++) {
   OrderSelect( Ord, SELECT_BY_POS);
   if(Symbol() == OrderSymbol() && StringFind(OrderComment(), "MA-Price") != -1) {
      IsOrdFound = true;
      break;
   }
}
А хотелось бы фунцию для установки фильтра по символу

OrderSelectSymbol(Symbol());

for( Ord = 0; Ord < OrdersTotal(); Ord++) {
   OrderSelect( Ord, SELECT_BY_POS);
   if(StringFind(OrderComment(), "My comment") != -1) {
      IsOrdFound = true;
      break;
   }
}



Или если теперь будет объектный язык, то что то типа такого варианта:

OpenedOrdGroup ordGroup = new OpenedOrdGroup(Symbol());

for( ord = 0; ord < ordGroup. count; ord++) {
  if( findSubstr( ordGroup. orders[ ord]. comment, "My comment") != -1) {
     isOrdFound = true;
     break;
  }
}
 
stringo писал(а) >>

Vale mencionar, entretanto, que indicadores personalizados podem realizar tarefas puramente computacionais e não têm acesso a nenhuma janela ou objetos gráficos.

E... é possível executar esse indicador "computacional" fora de todas as janelas? (por exemplo, para monitorar IsExpertEnabled e coisas assim e dizer quem deve ser).

Pode desenhar? Pode fazer loop?

Pode chamar/descarregar EAs, scripts, definir/desconfigurar indicadores padrão e personalizados?

 
SK. писал(а) >>

E... um tal indicador "computacional" pode ser executado fora de todas as janelas? (por exemplo, para monitorar IsExpertEnabled e tal e reportar a quem precisar)

Pode desenhar? Pode fazer loop?

Pode chamar/desligar EAs, scripts, definir/desligar indicadores padrão e personalizados?

Para todas estas questões - não, infelizmente.

Eu tenho que ter uma janela de gráficos separada e anexar um Expert Advisor "calculista" a ela. O Expert Advisor pode trabalhar em um temporizador, de modo que não precisa ser ligado em loop.

 

Obrigado, isso esclarece algumas coisas.

Existe alguma maneira de executar alguma coisa que não esteja amarrada a uma janela? (para necessidades gerais).

E há alguma maneira de chamar algo mais desse "algo"? (um especialista em temporizadores, por exemplo)

 
SK. писал(а) >>

Obrigado, isso esclarece algumas coisas.

Existe alguma maneira de executar alguma coisa que não esteja amarrada a uma janela? (para necessidades gerais).

E há alguma maneira de chamar algo mais desse "algo"? (um especialista em temporizadores, por exemplo).

Não haverá nada que não esteja amarrado a uma janela.

Ainda não é possível responder a essa pergunta.

Você pode enviar um evento personalizado para qualquer tabela. O Expert Advisor pendurado nesse quadro pode lidar com os eventos recebidos

 
stringo писал(а) >>

Não vai acontecer nada desamarrado à janela

Ainda não é possível responder a essa pergunta.

Você pode enviar um evento personalizado para qualquer tabela. Pendurado nesse gráfico, o Expert Advisor pode lidar com os eventos recebidos

Obrigado pela resposta.

Mas precisamos de um Consultor Especialista nesse quadro. Estes EAs nem sempre serão sincronizados (sem características especiais - nunca).

No meu caso, estou falando de um programa de serviço personalizado (aplicativo). As tarefas incluem, por exemplo, análise técnica, análise de castiçal, e algoritmos de processamento de posição personalizados. Por exemplo, se você pressionar o botão (no menu do sistema), a tela atual exibe a análise do castiçal. Pressione outra - uma janela apareceu onde você pode definir as preferências SL e TP para a janela atual. Pressione o terceiro botão - as paradas são abertas em todas as posições (onde não estiverem disponíveis, bom antes das notícias) de acordo com as preferências e configurações atuais de corretagem. Outro botão - o corredor para a distância mínima foi traçado... E assim por diante. E tudo está interligado pelos fundos disponíveis, pela probabilidade de sucesso da transação de acordo com diferentes instrumentos financeiros, com suas preferências, prioridades, análise integral, etc.

Esta tarefa como um todo não requer muitas cópias de um consultor especializado em todas as janelas. Tal programa pode ser "um por todos, nós pagaremos o preço". Poderia ser. No momento, eu simplesmente não conheço as capacidades do MT5.

 
Fazer a interação com o banco de dados MySql
 
stringo писал(а) >>

Não vai acontecer nada desamarrado à janela

Ainda não é possível responder a essa pergunta.

Você pode enviar um evento personalizado para qualquer tabela. O Expert Advisor pendurado nesse quadro pode lidar com eventos recebidos

1. Mas é uma pena. // Sobre o programa desamarrado.

Como um compromisso razoavelmente (imha) barato em termos de implementação: talvez você devesse fazer algum tipo de gráfico "nulo",

nas quais você pode pendurar calculadoras? E de preferência um número ilimitado de tais gráficos, já que neste ponto eu suspeito de herança de MT.

porque aqui suspeito da herança da restrição MT4 "um gráfico - um Expert Advisor"... :)

2. Sobre os eventos. Eventos personalizados - isso é ótimo. Muito obrigado por isso. :)

Eu já estava feliz em ver Tetris com o evento OnTimer e, em geral, a aparição de uma organização de lançamento orientada por eventos

funções. E aqui eu gostaria de ir mais devagar e com mais detalhes :)

Quais outros eventos "padrão" existentes (eventos de plataforma) a serem enviados para as aplicações do usuário?

Por exemplo, eu gostaria de ter algo como OnPositionIsClosed(int ticket) - não ter que olhar através de todas as pilhas de

ordens abertas em busca de ordens que acabaram de fechar por parada. Eu acho que mesmo em 4

além do padrão Init()-Deinit()-Start(), é muito fácil adicionar OrderStopped() - em qualquer caso, os trilhos do terminal

O terminal ainda monitora o fechamento das ordens para exibir as mudanças da situação em suas janelas. Bem, por que os programas dos usuários não

informá-los? E você obteria muita gratidão dos usuários... - Eu garanto. :)

Idealmente, seria ótimo ter (em MT5) um gerenciador de eventos em toda a plataforma, com a possibilidade de

para subscrever mensagens sobre um evento, e também iniciar

para iniciar eventos de propósito geral transmitidos para todas as aplicações subscritas.

 

Caros desenvolvedores!

Só precisamos acrescentar uma opção para um pedido ao visualizar MODE_HISTORY - como o pedido é fechado, por exemplo:

- StopLoss;

-TakeProfit;

- Por mercado, etc.

Alguns bancos que utilizam a plataforma MQ4 fecham todos os pedidos e abrem novos quando passam de 0 (isto não é novidade em si mesmo).

Mas neste caso o Expert Advisor tem que se esforçar muito para descobrir no programa como um pedido foi fechado, e o mais importante é um monte de código desnecessário.

Quanto mais código - menos confiável ele é!

.

P.S. Isto pode já ter sido discutido, mas eu não o vi e decidi compartilhar minhas preocupações.

 
VBAG писал(а) >>

Alguns bancos que utilizam a plataforma MQ4 fecham todos os pedidos e abrem novos quando passam por 0 (isto não é novidade em si mesmo).

Mas neste caso o Expert Advisor tem que se esforçar muito para descobrir como o pedido foi fechado no programa e, o mais importante, aparece um monte de código desnecessário.

E, o que é mais importante, há um monte de códigos desnecessários.

E, o que é pior, não há um método de identificação de ordem de ordem de Estado inequívoco nesta situação. Por exemplo, neste caso, a corretora, sem pensar duas vezes, atribui novos bilhetes que não estão ligados de forma alguma com os bilhetes iniciais.

com as iniciais, apenas de acordo com uma lista :) Temos que nos esforçar muito para acompanhar a história de cada pedido.

Mas no MT5 o trabalho com pedidos parece ser radicalmente alterado (ver MetaTrader 5 Client Terminal),

e exatamente como - parece ser um segredo terrível ou uma grande surpresa, sobre o qual não é apropriado perguntar - é mais fácil esperar pelo novo terminal do que obter respostas inteligíveis

dos desenvolvedores. :) Entretanto, este tópico é sobre sugestões, e espero que os desenvolvedores estejam olhando para a raiz do problema, ao invés de uma forma formal de implementar o comércio.

Concordo com eles em todos os aspectos - eles precisam de um bom serviço para os programadores trabalharem com posições abertas - pausadas.

Razão: