Discussão do artigo "Assistente MQL5: Como criar um módulo de sinais de comércio" - página 8

 
ginoit #:

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

 
Longsen Chen #:

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

A declaração de 'm_expiration' oculta o membro samplesignal.mqh 52 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

 
Como faço para finalmente gerar um sinal de fechamento por meio do CheckCloseLong/Short do Signal Module? Não vi como fazer isso neste artigo https://www.mql5.com/pt/articles/367
 

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.

 
FINANSE-BOND 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

Universal Signals & Universal Trailing Modules
Universal Signals & Universal Trailing Modules
  • www.mql5.com
This is a module for MQL5 Wizard and Standard Library, which allows you to generate expert adviser based on arbitrary set of indicators and conditions.
 


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.