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

 
t101:
Fiz o download, gerei-o por meio do Assistente, tentei executá-lo no testador e ele não funciona. Ele nem mesmo acessa os métodos CheckOpenLong/Short() no SampleSignal. Eles são chamados no ExpertSignal, mas não no SampleSignal. O que mais posso fazer para substituí-los com certeza?

É isso que você está fazendo?

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação

Discussão do artigo "Como escrever um módulo de sinais de negociação para o MQL5 Wizard"

SaprykinON, 2015.02.06 19:04

Nos comentários, você precisa substituir a linha

//|| Type=Signal

para

//|| Type=SignalAdvanced

Depois disso, meu mestre começou a ver o sinal.


e assim por diante:

Deve-se observar que, para que esse arquivo seja posteriormente "detectado" pelo Assistente MQL5 como um gerador de sinal, ele deve ser criado na pasta Include\Expert\Signal\.

?
 
Karputov Vladimir:

Foi isso que você fez:


e assim:

?
Sim.
 
Tente você mesmo. Somente com a versão mais recente, não excluo o fato de que costumava funcionar.
 
t101:
Tente você mesmo. Somente com a versão mais recente, não excluo o fato de que costumava funcionar.

Talvez, após o lançamento do artigo, a estrutura dos sinais tenha sido alterada. Peguei meu artigo Generator of trading signals of custom indicator - há um módulo de sinais no artigo. Executei-o no testador - o módulo de sinais funciona.

Генератор торговых сигналов пользовательского индикатора
Генератор торговых сигналов пользовательского индикатора
  • 2013.07.19
  • Karputov Vladimir
  • www.mql5.com
Как сделать генератор торговых сигналов основанный на пользовательском индикаторе. Как создать пользовательский индикатор. Как получить доступ к данным пользовательского индикатора. Зачем нужна конструкция IS_PATTERN_USAGE(0) и model 0.
 
Karputov Vladimir:

Talvez depois que o artigo foi publicado, a estrutura dos sinais tenha sido alterada. Peguei meu artigo Generator of trading signals of custom indicator - o artigo tem um módulo de sinais. Eu o executei no testador - o módulo de sinais funciona.

Você não tem métodos CheckOpenLong(), CheckOpenShort() ou CheckCloseLong(), CheckCloseShort(). Você usa apenas LongCondition() e ShortCondition().
 
t101:
Você não tem os métodos CheckOpenLong(), CheckOpenShort() ou CheckCloseLong(), CheckCloseShort(). Você só usa LongCondition() e ShortCondition().
Não me importo, mas o que devo fazer se precisar de funções de fechamento de posição em meu módulo de sinal?
 

Adicionei uma declaração CheckOpenLong() ao seu arquivo:

public:

   virtual bool      CheckOpenLong(double &price,double &sl,double &tp,datetime &expiration);


E uma descrição:

bool CSignalMyCustInd::CheckOpenLong(double &price,double &sl,double &tp,datetime &expiration)
  {
   Print(__FUNCTION__+": TEST!");
   return(false);
  }


Mas ele não chega aqui. Somente o método com o mesmo nome no ExpertSignal é executado. Qual é a maneira correta de fazer isso?
 
t101:

Adicionei uma declaração CheckOpenLong() ao seu arquivo:

public:

   virtual bool      CheckOpenLong(double &price,double &sl,double &tp,datetime &expiration);


E uma descrição:

bool CSignalMyCustInd::CheckOpenLong(double &price,double &sl,double &tp,datetime &expiration)
  {
   Print(__FUNCTION__+": TEST!");
   return(false);
  }


Mas ele não chega aqui. Somente o método com o mesmo nome no ExpertSignal é executado. Como fazer isso corretamente?

Desde que este artigo foi publicado, o Assistente MQL5 foi alterado: Assistente MQL5: Nova versão. O Expert Advisor gerado pelo novo assistente

negociará de acordo com os algoritmos selecionados de sinais de negociação, manutenção de posições abertas e gerenciamento de capital e risco.

 
Se você precisar implementar seus próprios algoritmos de fechamento, como isso deve ser feito? Devo escrever meu próprio módulo para manter as posições abertas?
 
t101:
Se você precisar implementar seus próprios algoritmos de fechamento, como isso deve ser feito? Devo escrever meu próprio módulo para manter as posições abertas?
Ou um módulo de gerenciamento de capital. O que exatamente escolher, você precisa analisar detalhadamente.