Discussão do artigo "Agora a plataforma MetaTrader 5 possui um sistema de cobertura de registro de posições" - página 5

 
Essa é uma pergunta: existe alguma propriedade que permita determinar programaticamente o tipo de conta (compensação ou hedge)? Afinal, se escrevermos um Expert Advisor de hedge, precisaremos proibir seu trabalho imediatamente ao carregá-lo em uma conta de compensação. A propriedade ACCOUNT_MARGIN_MODE apareceu, mas ainda não está claro qual delas usar para descobrir o tipo de conta.
 
Ihor Herasko:
Essa é uma pergunta: existe alguma propriedade que permita determinar programaticamente o tipo de conta (compensação ou hedge)? Afinal, se escrevermos um Expert Advisor de hedge, precisaremos proibir seu trabalho imediatamente ao carregá-lo em uma conta de compensação. A propriedade ACCOUNT_MARGIN_MODE apareceu, mas ainda não está claro qual delas usar para descobrir o tipo de conta.

ACCOUNT_MARGIN_MODE_RETAIL_HEDGING

https://www.mql5.com/ru/forum/23/page18#comment_2379483

Список изменений в билдах MetaTrader 5 Client Terminal
Список изменений в билдах MetaTrader 5 Client Terminal
  • www.mql5.com
Автоматическое обновление доступно через систему LiveUpdate:. - Страница 18 - Категория: общее обсуждение
 
Alexey:

ACCOUNT_MARGIN_MODE_RETAIL_HEDGING

https://www.mql5.com/ru/forum/23/page18#comment_2379483

Peço desculpas. Não percebi de imediato que se tratava de um valor. Por algum motivo, pensei que fosse um identificador a ser passado para AccountInfoInteger, e a função retornará o tamanho da margem. É um pouco confuso na ajuda:"permite que você obtenha o modo de cálculo da margem". Como resultado, a continuação"and accounting of positions on the account" não é mais legível.
 

Alguma ideia de quando ele será entregue para produção?

É necessário fazer alguma alteração no corretor?

 
Diogo Seca:
Há algo que não devo estar entendendo aqui. Não vejo nenhum benefício geral quando se trata de fazer hedging dessa forma.
Quero dizer, a meu ver, o motivo pelo qual a MQL5 nunca permitiu fazer hedging dessa forma foi porque fazer hedging de uma posição abrindo uma posição oposta é a mesma coisa que simplesmente fechar a primeira.

Por que um usuário preferiria o "sistema de hedging" ao "sistema de compensação"?

O único motivo que vejo para essa implementação é, de alguma forma, maior compatibilidade com as corretoras. Alguma ideia sobre isso?

Sim, a definição de hedging é exatamente essa... mas isso não significa que você a usará dessa forma

há muitas estratégias que você pode configurar por meio de hedging

e acho que essa é a razão pela qual muitas pessoas nunca estarão tão dispostas a mudar

 

Todas essas linhas causam um erro:

ENUM_ACCOUNT_INFO_INTEGER account_type=(ENUM_ACCOUNT_INFO_INTEGER)AccountInfoInteger(ACCOUNT_MARGIN_MODE);
Print(AccountInfoString(ACCOUNT_MARGIN_MODE));
Print(AccountInfoInteger(ACCOUNT_MARGIN_MODE));

ACCOUNT_MARGIN_MODE não está destacado em azul no editor. Estou fazendo algo errado? Ou tenho uma versão antiga do MT5? (Versão 5 build 1241 de 22 de dezembro de 2015.) Então, como posso forçar a atualização para a nova versão?

 
Alain Verleyen:
A maioria dos operadores de MT4 está altamente vinculada ao "sistema de hedge", e esse é o único motivo. (Apenas minha opinião).
Vejo uma grande vantagem ao negociar em diferentes períodos de tempo. No sistema de compensação, era necessário manter posições virtuais em cada período de tempo, ordens virtuais de stop loss e take profit, etc. Isso dava muito trabalho. Isso dava muito trabalho. Eu poderia estar comprado no EURUSD no H1, vendido no H8 e comprado no D1, todos com diferentes níveis de stop loss, e não havia uma maneira fácil de lidar com isso no sistema de compensação. Com a possibilidade de fechar posições diferentes na mesma moeda, esse problema foi resolvido e a negociação da maneira que descrevi na mesma moeda ficou muito mais fácil.
[Excluído]  
Oksana Berenko:

Todas essas linhas causam um erro:

ACCOUNT_MARGIN_MODE não está destacado em azul no editor. Estou fazendo algo errado? Ou tenho uma versão antiga do MT5? (Versão 5 build 1241 de 22 de dezembro de 2015.) Então, como forçar a atualização para a nova versão?

A antiga. Você pode baixar a nova versão do servidor MetaQuotes-Demo. A versão atual, até onde eu sei, já é a 1301 (beta). Você pode ler sobre as atualizações aqui.

https://www.mql5.com/ru/forum/23/page18 

Список изменений в билдах MetaTrader 5 Client Terminal
Список изменений в билдах MetaTrader 5 Client Terminal
  • www.mql5.com
Автоматическое обновление доступно через систему LiveUpdate:. - Страница 18 - Категория: общее обсуждение
 
Rodrigo Silva Cosme:
Vejo uma grande vantagem ao negociar em diferentes períodos de tempo. No sistema de compensação, era necessário manter posições virtuais em cada período de tempo, ordens virtuais de stop loss e take profit, etc. Isso dava muito trabalho. Isso dava muito trabalho. Eu poderia estar comprado no EURUSD no H1, vendido no H8 e comprado no D1, todos com diferentes níveis de stop loss, e não havia uma maneira fácil de lidar com isso no sistema de compensação. Com a possibilidade de fechar posições diferentes na mesma moeda, esse problema foi resolvido e negociar da maneira que descrevi na mesma moeda ficou muito mais fácil.
É claro que isso é muito mais fácil.
 
Oksana Berenko:

Todas essas linhas causam um erro:

ACCOUNT_MARGIN_MODE não está destacado em azul no editor. Estou fazendo algo errado?

ENUM_ACCOUNT_INFO_INTEGER account_type=(ENUM_ACCOUNT_INFO_INTEGER)AccountInfoInteger(ACCOUNT_MARGIN_MODE);

Receptor de tipo errado, você precisa:

ENUM_ACCOUNT_MARGIN_MODE mode = (ENUM_ACCOUNT_MARGIN_MODE)AccountInfoInteger(ACCOUNT_MARGIN_MODE);

Aprender programação.

Ou será que tenho uma versão antiga do MT5? (Versão 5 build 1241 de 22 de dezembro de 2015.) Então, como forçar uma atualização para a nova versão?

Sua compilação também está desatualizada. Ela ainda não tem os modificadores solicitados. Você precisa atualizar seu MetaTrader 5 conectando-se ao servidor MetaQuotes-Demo.