Discussão do artigo "Crie o seu próprio robô de negociação em 6 passos!" - página 6

 

Usando as instruções deste artigo, tentei criar meu próprio sinal e EA, mas o sinal persistentemente não quer aparecer na lista de sinais "MQL Wizard".

O Expert Advisor não faz transações e não desenha alguns indicadores durante o teste. Tentei criar meus próprios sinais e Expert Advisors e refazê-los a partir de sinais e Expert Advisors em funcionamento.

Ao fazer o download de sinais do site, eles também não podem ser inseridos na lista de sinais do "MQL Wizard", embora os Expert Advisors e os sinais funcionem perfeitamente. Desculpe-me pelas perguntas de um novato,

mas, a partir da discussão no fórum, percebi que ocorrem problemas semelhantes, mas não entendi como lidar com eles. Esse é um problema do terminal ou do código.

Testei nos terminais VTB24 e Insta. A compilação não apresenta nenhum erro. Qual é o número possível de indicadores ao criar um sinal?

Arquivos anexados:
HetireEMA.mq5  13 kb
Signal4EMA.mqh  15 kb
 
Não sou um mestre em programação no mql5, mas, com base nesse artigo, concluí que, para escrever um Expert Advisor simples sobre a interseção de 2 MAs, no mql5 são necessários 2 arquivos e, além disso, é preciso escrever muita coisa complicada! No mql4, para esse Expert Advisor, você não precisa de mais de 10 linhas e está pronto!!!!! Acontece que, se no mql4 você gasta no EA, por exemplo, 1 dia, no mql5 você precisa matar o mesmo EA em até 3, no máximo 2 dias!!!! E eu também entendi a diferença entre essas duas linguagens apenas pelo fato de que no mql5 é possível criar todos os tipos de painéis bonitos e funcionais, e isso é tudo, e pelo fato de ser escrito em mql5, esse especialista não negociará melhor! Critique e mude minha opinião.
 
zlodei:
Critique e mude minha opinião.
Tente ler novamente.
 
zlodei:

Não sou um mestre em programação em mql5, mas, a partir desse artigo, concluí que, para escrever um Expert Advisor simples sobre a interseção de 2 MAs, são necessários 2 arquivos em mql5, além de muita escrita complicada!

A conclusão é errônea, pois lhe são oferecidas soluções universais prontas. E essas soluções não existem em duas linhas

Se você precisar de um robô puramente na interseção de 2 MAs, especificamente para sua tarefa, ele também pode ser escrito em MQL5 em 10 linhas e está pronto!!!!

 

O Expert Advisor que criei (hetireema.mq5) de alguma forma milagrosa funcionou no terminal InstaTrader5 (amadurecido sem manipulações desnecessárias), mas o sinal não é visível no Wizard (ainda não amadurecido). Sinais mais complexos criados por analogia com 7 e 10 EMA - e novamente não funcionam, embora o compilador não veja nenhum erro, no terminal os arquivos do Expert Advisor e do sinal estão presentes, no testador o Expert Advisor está presente, os parâmetros de entrada são definidos, mas as negociações não são feitas. Ou seja, a linguagem mql5 com imprecisões ou os terminais com falhas.

É realmente muito difícil criar código em mql5. Para descrever a localização mútua de várias EMAs, são necessárias 500 linhas de código, ou até mais. A maior parte do código é a verificação de erros e condições que sobrecarregam o código. Criei robôs no terminal AstTrader (linguagem ActFX (Pascal)), onde os robôs de negociação podem ser feitos 50 vezes por dia com qualquer conjunto de indicadores e condições. O robô ocupa 2 páginas sem codoblúdio desnecessário. No entanto, o teste é extremamente lento e o histórico de velas é MUITO!!! curto. Na MQL5, a velocidade e o longo histórico de velas eram uma grande vantagem. Você tem que escolher entre escrever robôs por semanas ou testar robôs escritos rapidamente. Se a MQL4 anular todas essas desvantagens, eu optarei por ela. Embora a discussão sobre idiomas seja provavelmente um ramo diferente do fórum.

 
alextxpert99:

O Expert Advisor que criei (hetireema.mq5) de alguma forma milagrosa funcionou no terminal InstaTrader5 (amadureceu sem manipulações desnecessárias), mas o sinal não está visível no "Wizard" (ainda não amadureceu).

Tem certeza de que fez tudo de acordo com a receita?

  1. Crie uma nova classe usando o MQL5 Wizard em uma pasta separada MQL5/Include/MySignals/. Ela conterá nosso módulo de sinais de negociação.
    .
  2. Crie um descritor de módulo que descreva os parâmetros, seus tipos e valores padrão.
  3. Declare os parâmetros do módulo na própria classe e adicione métodos para inicialização no construtor.
  4. Verifique seos parâmetros de entrada estão corretos e não se esqueça de chamar o método ValidationSettings() da classe base CExpertSignal.
  5. Crie objetos indicadores e adicione o método de inicialização predefinido InitIndicators().
  6. Defina as condições de ocorrência dos sinais de negociação nos métodos LongCondition() e ShortCondition().
 
Vou tentar de novo e de novo. Depois lhe contarei os resultados.
 
Obrigado pelo suporte!!! Houve um erro no descritor do módulo -(Type - indica a versão do módulo de sinal. Ele deve ser sempre SignalAdvanced;). Eu o corrigi e os sinais aparecem no Assistente. Os indicadores não aparecem nos sinais em que seu número é maior que 4. Ao criar um Expert Advisor, tentarei compor vários sinais de negociação simples do mesmo tipo.
 

Um artigo muito bem escrito que, no entanto, me deixou frustrado, pois já na primeira/segunda (?) etapa recebi duas mensagens de erro:

Na linha 10, o compilador conseguiu localizar, mas não abrir o arquivo "ExpertSignal.mqh". Fiz a verificação cruzada baixando o arquivo anexado "MA_...", para o qual o compilador apresentou a mesma mensagem de erro. Então, é claro, ele também não foi capaz de discernir a estrutura de"CExpertSignal" na linha 33 ("MA_..."), descarrilando assim todo o processo.

O que houve de errado aí?

Obrigado!

Locan.BBS

 
locan.BBS:

Um artigo muito bem escrito que, no entanto, me deixou frustrado, pois já na primeira/segunda (?) etapa recebi duas mensagens de erro:

Na linha 10, o compilador conseguiu localizar, mas não abrir o arquivo "ExpertSignal.mqh". Fiz a verificação cruzada baixando o arquivo anexado "MA_...", para o qual o compilador apresentou a mesma mensagem de erro. Então, é claro, ele também não foi capaz de discernir a estrutura de "CExpertSignal" na linha 33 ("MA_..."), descarrilando assim todo o processo.

O que estava errado ali?

O ExpertSignal.mqh está localizado em terminal_data_folder\MQL5\Include\Expert\ExpertSignal.mqh.

Talvez o problema seja a localização errada do MA_Cross.mqh (ele deve ser criado em terminal_data_folder\MQL5\Include\Expert\MySignals\MA_Cross.mqh):