Discussão do artigo "Assistente MQL5: Como criar um módulo de sinais de comércio" - página 8
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
Oi Trolley,
Estou com o mesmo problema. Você encontrou alguma solução ou ideia sobre isso?
Obrigado
O problema é causado pelo próprio MetaTrader Wizard. De alguma forma, ele não está criando o objeto de sinal usando a classe SampleSignal, mas usando o CExpertSignal! Procure por:
CExpertSignal *signal = new CExpertSignal;e altere-o para:
CSampleSignal *signal = new CSampleSignal;Obrigado, Zarik
Hi,
Quando compilei o código, recebi três avisos
A declaração de 'm_open' oculta o membro samplesignal.mqh 42 23
A declaração de 'm_close' oculta o membro samplesignal.mqh 43 23
m_open e m_close foram definidos em ExpertBase.mqh, mas com tipos diferentes.
m_expiratin foi definido em ExpertSignal.mqh.
Comente as três linhas acima. Os avisos desapareceram.
George
O motivo do aviso é que essas propriedades já estão definidas no ExpertBase (m_open e m_close) e no ExpertSignal (m_expiration). Renomeie os nomes das propriedades para algo diferente e o problema será resolvido.
Obrigado, Zarik
Acabei de baixar seu código de sinal e o compilei. Estou recebendo esses erros. Como posso corrigi-los para que funcionem?
E os mesmos erros aparecem em seu arquivo, que está no arquivo e eu não o alterei de forma alguma, apenas compilei.
Se você observar como esses parâmetros estão escritos no arquivo ExpertBase, eles estão com asteriscos; se eu colocar asteriscos antes do nome no código, os erros serão ainda maiores. Qual é o motivo?
https://photos.app.goo.gl/2rPVRPfBDhb65aZC9
Defina o código correto.
Mesmo depois de analisar todas as respostas deste tópico, o EA ainda não negocia no histórico, apenas desenha uma linha móvel e não faz nenhuma outra negociação.
Estou procurando pelo menos um EA em funcionamento com ordens de compra e venda para experimentar as configurações ou adicionar minhas ideias. Gostaria de ter um modelo simples e apenas poder adicionar Conditions1 e Conditions2 ao código para executar negociações com base nelas. Eu costumava escrever em outro programa (Easy Lengwich de outra plataforma), mas aqui é muito difícil para um simples usuário entender como escrever suas estratégias. Mesmo quando ocorre um erro, não há possibilidade de clicar com o botão direito do mouse para encontrar uma variante de sua correção no manual de ajuda, então tenho que pesquisar na Internet e ainda não consigo encontrar uma solução.
Tente isto - https://www.mql5.com/en/code/32107
Observação importante:
Para que o MetaEditor Wizard possa encontrar o arquivo de sinal (arquivo samplesignal.mqh), o descritor da classe deve ser o seguinte:
// wizard description start
//+------------------------------------------------------------------+
//| Descrição da classe |
//| Title=Signal on crossing of the price and the MA |
//| entering on the back movement|
//| Type=SignalAdvanced |
//| Name=Sample|
//| Class=CSampleSignal|
//| Page=|
//| Parameter=PeriodMA,int,12|
//| Parameter=ShiftMA,int,0|
//| Parâmetro=MethodMA,ENUM_MA_METHOD,MODE_EMA|
//| Parâmetro=AppliedMA,ENUM_APPLIED_PRICE,PRICE_CLOSE |
//| Parâmetro=Limit,double,0.0|
//| Parâmetro=StopLoss,double,50.0|
//| Parâmetro=TakeProfit,double,50.0|
//| Parâmetro=Expiração,int,10 |
//+------------------------------------------------------------------+
// wizard description end
//+------------------------------------------------------------------+
O tipo deve ser SignalAdvanced (que é mostrado em vermelho), portanto, altere o sinal para SignalAdvanced em seu código-fonte e, em seguida, o Assistente do MetaEditor poderá encontrar o arquivo de sinal (arquivo samplesignal.mqh).
E, finalmente, as metaquotes devem editar este artigo.