Discussão do artigo "Assistente MQL5: Como criar um módulo de sinais de comércio" - página 3
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
Na nova versão do MQL5 Wizard, o formato dos módulos de sinal foi alterado. Veja aqui as informações - https://www.mql5.com/ru/forum/3724/66962#comment_66962.
Analisei o código de vários sinais prontos da pasta Signal e não há implementação das funções CheckOpenShort/CheckOpenLong. Em vez disso, elas são usadas corretamente, pelo que entendi?
Sim, é isso mesmo.
Para ser sincero, estou um pouco confuso. Há funções CheckOpenShort/CheckOpenLong na classe CExpertSignal. Você usa outras funções em seus sinais, e também não entendo onde elas são chamadas no CExpert. O problema é que eu peguei um sinal pronto no artigo sobre como escrever meu próprio módulo de sinais, fiz com que o assistente o visse (você provavelmente pode fazer alterações no artigo sobre o novo formato) e obtive um Expert Advisor com esse sinal, mas ele não negocia, nem uma única operação no testador durante um ano.
As funções são chamadas no construtor - isso está claro, mas por que não são usadas funções padrão?Por favor, veja o que está errado. Ele não está sendo negociado no testador.
Este módulo está negociando.
No seu caso, substitua os longs
if( High(1) > High(2) && Low(2)>Low(3) && High(2)<High(3) && Close(3)>Open(3) ){ return(100); } //--- условие не выполнено return(0); }por
para as posições vendidas - encontre você mesmo
esse módulo comercializa
para o seu caso, substitua os longs
por
para as posições vendidas, você mesmo o encontrará.
Sim, é verdade, obrigado! Passei o dia, acho que fiz tudo como no artigo, qual é o meu erro?
No novo assistente, em comparação com o anterior, há mudanças muito grandes,
virtual bool CheckOpenLong(double& price,double& sl,double& tp,datetime& expiration);
virtual bool CheckOpenShort(double& price,double& sl,double& tp,datetime& expiration);
Entendi da seguinte forma: deve haver um objeto da classe CExpertSignal entre os vários objetos usados no Expert Advisor com o atributo main, que pode usar essas funções. Outros objetos participam da abertura de posições por meio das funções
virtual int ShortCondition(); //verifica a condição de abertura de venda
virtual int LongCondition(); //verifica a condição de abertura de uma posição de compra
Para colocar os pontos nos is, precisamos de um artigo sobre como escrever seu próprio módulo de sinais no novo assistente, portanto, estamos esperando por ele.