Discussão do artigo "Assistente MQL5: Colocando Ordens, Stop Loss e Take Profits sobre os Preços Calculados. Extensão da Biblioteca Padrão"

 

Novo artigo Assistente MQL5: Colocando Ordens, Stop Loss e Take Profits sobre os Preços Calculados. Extensão da Biblioteca Padrão foi publicado:

Este artigo descreve a extensão da Biblioteca Padrão MQL5, que permite criar Expert Advisors, colocar ordens, Stop Loss e Take Profits utilizando o Assistente MQL5 pelos preços que são recebidos dos módulos incluídos. Esta abordagem não aplicar quaisquer restrições adicionais sobre o número de módulos e eles não provocam conflitos quando trabalhado em conjunto.

O objetivo prático deste artigo é a adicionar aos Experts gerados a capacidade de abrir ordens, Stop Loss e Take Profits nos níveis de preços desejados, não apenas na distância especificada a partir do preço atual.

Uma idéia semelhante foi discutida no artigo "Assistente MQL5: Como ensinar um EA a abrir ordens pendentes a qualquer preço". A desvantagem significativa da solução sugerida é a alteração "forçada" de um parâmetro do módulo do sinal de negociação do filtro subordinado. Esta abordagem não possibilita trabalhar adequadamente com vários módulos. Usar o Assistente para otimização do processo não faz sentido.

A implementação da colocação das ordens, bem como os Stop Loss e Take Profits a qualquer preço, as classes herdadas das padrão será considerado em detalhe mais abaixo. Dito isso, os conflitos entre os módulos são impossíveis. Espero que este artigo sirva de exemplo e inspire os leitores a escrever seus próprios melhoramentos na estrutura padrão e também que permita aos usuários executar a extensão da biblioteca desenvolvida.

Fig. 2. Padrão modificado de tomada de decisões sobre a entrada no mercado

Fig. 2. Padrão modificado de tomada de decisões sobre a entrada no mercado

Autor: Andrey Shpilev

 
Levante-se e vá até eles!
 
Aqui está o seguinte erro: failed instant buy 0.20 EURUSD at 1.07971 sl: 1.07959 tp: 1.08053 [Invalid stops]
[Excluído]  

Olá, obrigado por seu código e perspectiva sobre o emprego de uma lógica diferente para a classe CSignal. Qual seria o oposto disso?

   double direction=Direction();
//--- sinal proibitivo
   if(direction==EMPTY_VALUE)
      return(false);


Permitir que os sinais sejam emitidos em cada oportunidade, independentemente das posições em execução?