Problemas ao postar no Market - Validação - página 2

 
Rogerio Giannetti Torres:

Olá,

já que você está trabalhando com FOREX,  vou dar meu pitaco, faz a mesma alteração para venda.

OBS:

Faz uso da classe CSymbolInfo,

O preço na ordem funciona para ordens a mercado e ordens imediata e neste caso o requote tem que ser testado.

Digitei direto então deve ter algum erro de sintaxe.


Oi Rogério, não é FOREX não... é o Validador do MT5 que a gente precisa adaptar a realidade do mercado brasileiro para as regras do mercado europeu senão o EA não é Validado no Market. Coisa meio estranha..... mas talvez o que você fez dê certo, vou tentar aqui. 

Obrigado.

 
Ruy Christian Hoffmann:

Oi Rogério, não é FOREX não... é o Validador do MT5 que a gente precisa adaptar a realidade do mercado brasileiro para as regras do mercado europeu senão o EA não é Validado no Market. Coisa meio estranha..... mas talvez o que você fez dê certo, vou tentar aqui. 

Obrigado

Ruy não é mercado europeu,  ele valida se o EA está apto para diversos os tipos de cálculos (FOREX,  CFD, Mercado Futuro, Bolsa,  BONDS ...) e para os tipos de ordens: instante, mercado. 

PS: Ruy sugiro você colocar nos comentários do seu EA, que ele é voltado para trabalhar com BOLSA em especial a B3. 

 
Rogerio Giannetti Torres:

Ruy não é mercado europeu,  ele valida se o EA está apto para diversos os tipos de cálculos (FOREX,  CFD, Mercado Futuro, Bolsa,  BONDS ...) e para os tipos de ordens: instante, mercado. 

PS: Ruy sugiro você colocar nos comentários do seu EA, que ele é voltado para trabalhar com BOLSA em especial a B3. 

Rogério, sim, já está nos comentários.

To tentando aqui...incrivelmente já estou desde as 9h pegado somente nisso... eu evoluindo te falo.

Obrigado,

 

Bom dia amigos,

Depois de 3 dias de "surra" como não tomava a tempos, finalmente consegui, graças as ajudas de Jonathan e Rogério ainda pude dar uma melhorada no meu EA.

Ser objetivo em onde estava o problema não vou saber dizer, pois no final das contas alterei tantos cantos que perdi a rastreabilidade do que realmente era o problema, mas tenho uma boa ideia onde pode ter sido.

Fiquei com receio de até o arquivo do EA estar corrompido e criei um novo, do zero, então fui adicionando literalmente um "copiar/colar" blocos do arquivo antigo no novo e testando, testando, testando para ver até onde parava. Neste momento me pareceu ser problema em converter os valores em pontos, como Jonathan sugeriu. Então ele me deu uma força para ficar funcional, testei, nada, refizemos, testei novamente e nada...

Dai comecei a pensar que o erro que estava apresentando não fosse exatamente o problema, e sim poderia ter problema em algum outro lugar que estivesse refletindo em aparecer aquela mensagem então voltei a outras coisas.

Fuçando daqui e dali percebi que o meu "simbolo.Ask, Bid, Last etc não estão funcionando


... mesmo eu carregando direitinho:

#include <Trade/SymbolInfo.mqh>
CSymbolInfo simbolo; //Instância da Classe CSymbolInfo (biblioteca)
OnTick()
simbolo.Ask();
simbolo.Bid();

E isso não estava no meu foco antes, pois os erros apresentados era falta de checagem de Margem, falta de checagem de Volume válido, StopLoss incorreto, enfim, eu ficava correndo atrás de coisa que estava ok, mas que não eram o problema.

Então substituí todos os simbolo.Ask, Bid, Last, etc por:

double Ask=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
double Bid=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits);
Last=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_LAST),_Digits);

Dai pararam todos os vários erros de uma vez só. Então creio que o problema estava neste ponto.

Jonathan, testei sem converter para pontos *PriceStep() e deu certo também. Mas como já ficou prontinho, bonitinho então deixei com o PriceStep :) Obrigado pela ajuda Jonathan :) Eu estranhei inicialmente porque já publiquei da versão 1.0 até a 1.8 e nunca precisei converter, mas os Relatórios de Erros estavam apontando também para isso, então valeu muito a ajuda :)

Vou fazer uns Refresh e demais testes em alguns pontos do EA para testar porque o  "simbolo..." parou de buscar os valores Ask, Bid e Last.

Obrigado e abração :)





 
Ruy Christian Hoffmann:

Bom dia amigos,

Depois de 3 dias de "surra" como não tomava a tempos, finalmente consegui, graças as ajudas de Jonathan e Rogério ainda pude dar uma melhorada no meu EA.

Ser objetivo em onde estava o problema não vou saber dizer, pois no final das contas alterei tantos cantos que perdi a rastreabilidade do que realmente era o problema, mas tenho uma boa ideia onde pode ter sido.

Fiquei com receio de até o arquivo do EA estar corrompido e criei um novo, do zero, então fui adicionando literalmente um "copiar/colar" blocos do arquivo antigo no novo e testando, testando, testando para ver até onde parava. Neste momento me pareceu ser problema em converter os valores em pontos, como Jonathan sugeriu. Então ele me deu uma força para ficar funcional, testei, nada, refizemos, testei novamente e nada...

Dai comecei a pensar que o erro que estava apresentando não fosse exatamente o problema, e sim poderia ter problema em algum outro lugar que estivesse refletindo em aparecer aquela mensagem então voltei a outras coisas.

Fuçando daqui e dali percebi que o meu "simbolo.Ask, Bid, Last etc não estão funcionando


... mesmo eu carregando direitinho:

E isso não estava no meu foco antes, pois os erros apresentados era falta de checagem de Margem, falta de checagem de Volume válido, StopLoss incorreto, enfim, eu ficava correndo atrás de coisa que estava ok, mas que não eram o problema.

Então substituí todos os simbolo.Ask, Bid, Last, etc por:

Dai pararam todos os vários erros de uma vez só. Então creio que o problema estava neste ponto.

Jonathan, testei sem converter para pontos *PriceStep() e deu certo também. Mas como já ficou prontinho, bonitinho então deixei com o PriceStep :) Obrigado pela ajuda Jonathan :) Eu estranhei inicialmente porque já publiquei da versão 1.0 até a 1.8 e nunca precisei converter, mas os Relatórios de Erros estavam apontando também para isso, então valeu muito a ajuda :)

Vou fazer uns Refresh e demais testes em alguns pontos do EA para testar porque o  "simbolo..." parou de buscar os valores Ask, Bid e Last.

Obrigado e abração :)

Que bom que resolveu...Uma dica para não perder o que ja fez é ou usar o versionador da própria meta quotes ou usar uma ferramenta git, assim conforme vai alterando vc vai commitando as alterações, e no pior dos cenários da pra voltar a versão.


Abraços!

 
Jonathan Pereira:

Que bom que resolveu...Uma dica para não perder o que ja fez é ou usar o versionador da própria meta quotes ou usar uma ferramenta git, assim conforme vai alterando vc vai commitando as alterações, e no pior dos cenários da pra voltar a versão.


Abraços!

Rapaz... nem sabia que o Meta tem versionador... vou procurar.

 
Ruy Christian Hoffmann:


Boa noite.

Ruy veja aí o que tá faltando no seu código, pois simbolo.Ask() e simbolo.Bid()  funciona perfeitamente

 

OnInit()
{
CSymbolInfo   simbolo;

simbolo.Name(_Symbol);  // define o simbolo que vai ser usado pela classe.
simbolo.Refresh();      // recupera as especificações do simbolo

}


Para recuperar as cotações:

OnTick()
{

if( !simbolo.RefreshRates() ) return;
ASK = simbolo.Ask();
BID = simbolo.BID();


}
 

Estou tendo problemas ao postar meu Expert no mercado, não está passando na validação automática e indicando que houve erro, mas quando analiso os logs não apresenta nenhum erro.




 
Edilson Domingos #:

Estou tendo problemas ao postar meu Expert no mercado, não está passando na validação automática e indicando que houve erro, mas quando analiso os logs não apresenta nenhum erro.




Boa tarde. Crie um tópico novo por favor.
Abs
 
Edilson Domingos #Estou tendo problemas ao postar meu Expert no mercado, não está passando na validação automática e indicando que houve erro, mas quando analiso os logs não apresenta nenhum erro.


Como colocar um produto no Mercado - Artigos MQL5


Mesmo que o seu EA seja para B3, acho que as mensagens devem ser em inglês. Se quiser, inclua um parâmetro para escolher o idioma, deixando o inglês por padrão, ou consulte a informação a partir do terminal com TerminalInfoString(TERMINAL_LANGUAGE).

Faça um teste: altere as mensagens para o inglês pra ver se passa...

Como colocar um produto no Mercado
Como colocar um produto no Mercado
  • www.mql5.com
Ofereça seus desenvolvimentos a milhões de usuários MetaTrader em todo o mundo, publique-os no Mercado. O serviço oferece uma infraestrutura pronta para realizar vendas: acesso ao público, mecanismos de licenciamento, disponibilização de versões de teste, entrega de atualizações e aceitação de pagamentos. Tudo que você precisa fazer é passar por um rápido procedimento de registro e publicação de produto. Comece a ganhar dinheiro com seus empreendimentos, enquanto o serviço tomará conta de todos os detalhes técnicos.
Razão: