Função para retornar o balanço livre

 

Oi pessoal, estou desenvolvendo um robô e estou precisando saber qual o dinheiro livre para saber se posso fazer mais operações ou não.

A ideia é que, se já tiver uma operação aberta, eu gostaria de saber quanto dinheiro tenho disponível para comprar outra ação.

Estou usando, dentro do OnTick a função AccountInfoDouble(), já testei com todas as constantes de ENUM_ACCOUNT_INFO_DOUBLE e nada.

Enquanto uma posição está aberta, o ACCOUNT_BALANCE mostra o balanço inicial, enquanto ACCOUNT_EQUITY ACCOUNT_MARGIN_FREE mostra o ACCOUNT_BALANCE mais o lucro/prejuizo.

Alguém sabe como saber est ainformação?

Documentação sobre MQL5: Informações de Conta / AccountInfoDouble
Documentação sobre MQL5: Informações de Conta / AccountInfoDouble
  • www.mql5.com
Informações de Conta / AccountInfoDouble - Referência sobre algorítimo/automatização de negociação na linguagem para MetaTrader 5
 
Thiago Tenório:

Oi pessoal, estou desenvolvendo um robô e estou precisando saber qual o dinheiro livre para saber se posso fazer mais operações ou não.

A ideia é que, se já tiver uma operação aberta, eu gostaria de saber quanto dinheiro tenho disponível para comprar outra ação.

Estou usando, dentro do OnTick a função AccountInfoDouble(), já testei com todas as constantes de ENUM_ACCOUNT_INFO_DOUBLE e nada.

Enquanto uma posição está aberta, o ACCOUNT_BALANCE mostra o balanço inicial, enquanto ACCOUNT_EQUITY ACCOUNT_MARGIN_FREE mostra o ACCOUNT_BALANCE mais o lucro/prejuizo.

Alguém sabe como saber est ainformação?


Oi Thiago,


Para isto eu utilizo o ACCOUNT_MARGIN_FREE mesmo, como você comentou, e comparo com a margem requerida conforme saída da função OrderCalcMargin.

Uma dica que pode influenciar bastante neste caso é realizar testes com outras corretoras e modos real/demo.

Sim, ocorre de algumas destas não te enviarem dados sobre o ativo, enquanto outras disponibilizam, faça o teste.


Abraço