Discussão do artigo "Um Administrador de ordem virtual para rastrear ordens dentro do ambiente MetaTrader 5 de posição centrada" - página 4

 

Tenho usado o VOM desde que o escrevi pela primeira vez, corrigi vários bugs, principalmente com o manuseio da parada de proteção, e também alterei o código para corresponder às alterações no MT5. Em anexo estão os arquivos atualizados.

Comentários são muito bem-vindos.

Paulo

Arquivos anexados:
VOM2p0.zip  609 kb
 
phampton:

Tenho usado o VOM desde que o escrevi pela primeira vez, corrigi vários bugs, principalmente com o manuseio do stop de proteção, e também alterei o código para corresponder às mudanças no MT5. Em anexo estão os arquivos atualizados.

A nova versão está anexada ao artigo.
 
Paul, obrigado pela nova versão do vom. Muito obrigado pela atualização rápida e pelas respostas rápidas também.
 

Estou inventando uma bicicleta há uma semana, consegui fazer isso muito bem e, então, pimba! Aqui está ela - pronta, e que bicicleta linda!

Paul, muito obrigado! Desejo o desenvolvimento do projeto!

 
phampton:

Tenho usado o VOM desde que o escrevi pela primeira vez, corrigi vários bugs, principalmente com o manuseio da parada de proteção, e também alterei o código para corresponder às alterações no MT5. Em anexo estão os arquivos atualizados.

Comentários são muito bem-vindos.

Paulo

 

Essa versão mais recente também não contém um arquivo adequado "Supports and Resistances...", mas apenas uma segunda cópia de outro EA. Além disso, o "...Order Manager Tester" é, na verdade, intitulado "...Order Tester". Esse é o arquivo correto?

Obrigado!

[Excluído]  

Oi Paulo,

Você poderia me ajudar aqui?

Estou recebendo um erro de Lotes, mas, como você pode ver abaixo, os lotes estão codificados e, mesmo assim, não estão funcionando (imagem anexa).

Você pode me ajudar, se possível?

Atenciosamente,

MRC

      if(glOrder==-1)
        {
         mrequest.type=ORDER_TYPE_SELL;
         mrequest.price=NormalizeDouble(price_info.bid,_Digits);
         mrequest.sl=NormalizeDouble(price_info.bid+StopLoss,_Digits);
         mrequest.tp=NormalizeDouble(price_info.bid-TakeProfit,_Digits);
         mrequest.comment="SELL";

         VOM.Sell(Ativo,5.0,(int)StopLoss,(int)TakeProfit);

         if(UsaRelatorio==true) Report("B VENDA");
        }

2014.07.21 16:05:10.497 YouBotG3VOM (WINQ14,H1) CVirtualOrderManager::OrderSend error: failed to adjust position at server, returning -1

2014.07.21 16:05:10.497 YouBotG3VOM (WINQ14,H1) CVirtualOrderManager::PositionChangeSizeAtServer error: Problema com OrderSend TRADE_ACTION_DEAL, código de retorno Autotrading desativado pelo terminal do cliente. OrderCheck() retornou Negociação proibida por Expert Advisors

2014.07.21 16:05:10.495 YouBotG3VOM (WINQ14,H1) CVirtualOrderManager::PositionChangeSizeAtServer(WINQ14,5.00,ORDER_TYPE_BUY,57765)


 

"O VOM controla esse risco mantendo um stop baseado no servidor a uma distância configurável do stop virtual mais apertado."

A princípio, isso parece bom, mas (em alguns casos) o que acontece é que a parada baseada no servidor acaba sendo mais apertada do que a parada virtual mais frouxa.

Isso é especialmente verdadeiro se você diminuir a distância, por exemplo:

Config.ServerStopLossMargin=1;

Além disso, seria ótimo ter o mesmo sistema de segurança para manter os lucros, mantendo um take profit baseado no servidor. Você não acha?

 

Passei os últimos dias tentando fazer isso funcionar, mas estou sempre recebendo o mesmo tipo de erro que o Marcelo mencionou acima. Alguém sabe se isso funciona mais? O erro acontece sempre que tento abrir uma negociação, mesmo quando uso os exemplos fornecidos com o VOM. Alguém pode me ajudar a fazer isso funcionar? Qualquer ajuda seria muito apreciada.

2018.01.31 07:49:36.762 VirtualOrderManagerTester (AUDCAD,H1)   CVirtualOrderManager::OnTick - startup tick or first local time tick of new day
 2018.01.31 07:49:43.683 VirtualOrderManagerTester (AUDCAD,H1)   CVirtualOrderManager::PositionChangeSizeAtServer(AUDCAD,0.10,ORDER_TYPE_BUY,0.99455)
2018.01.31 07:49:43.686 VirtualOrderManagerTester (AUDCAD,H1)   CVirtualOrderManager::PositionChangeSizeAtServer error: Problem with OrderSend TRADE_ACTION_DEAL, return code Invalid request
 
kenshin71:

Passei os últimos dias tentando fazer isso funcionar, mas sempre recebo o mesmo tipo de erro que o Marcelo mencionou acima. Alguém sabe se isso funciona mais? O erro acontece sempre que tento abrir uma negociação, mesmo quando uso os exemplos fornecidos com o VOM. Alguém pode me ajudar a fazer isso funcionar? Qualquer ajuda seria muito apreciada.

Essa biblioteca está praticamente obsoleta, pois o MT5 está fornecendo uma conta de hedge. Você ainda pode precisar dela na conta de compensação, mas será que realmente vale a pena?