O que isso significa, esta porcentagem de margem?
Desculpe pela pergunta incompleta, eu deveria ter feito uma pergunta mais explícita.
Qual é a finalidade da pergunta? Para verificar se a margem é calculada corretamente/mal? Caso contrário, pode ser calculado a partir dessa fórmula na descrição. E o que você faz com ele?
Desculpe pela pergunta incompleta, eu deveria ter feito uma pergunta mais explícita.
Qual é o objetivo? Para verificar se a margem é calculada corretamente ou incorretamente?
Com a imaginação correta, você pode chegar a muitos objetivos. :) E não verificar "certo/ errado".
Caso contrário, pode ser calculado a partir da fórmula da descrição.
Como? Bem, é para isso que serve esta "Porcentagem de Margem". Você está sugerindo que digitemos à mão?) O código deve ser capaz de obtê-lo de forma programática.
E então o que fazer com ele?
SymbolInfoDouble(symbol, SYMBOL_MARGIN_INITIAL); SymbolInfoDouble(symbol, SYMBOL_MARGIN_MAINTENANCE);
ver SymbolInfoDouble
Infelizmente, não é isso. Em MT4, esses valores são, na maioria das vezes, zero.
Está bem assim?
double procentMgn; procentMgn=AccountBalance()*100/MarketInfo("GOLD",MODE_MARGINREQUIRED);
está bem assim?
Não, não vai.
1. A função MarketInfo() é obsoleta.
2. MODE_MARGINREQUIRED retorna o resultado correto somente para posições longas, falha para posições curtas.
3. MODE_MARGINREQUIRED retorna o resultado já na moeda do depósito, que eu não preciso.
4. Eu não preciso de porcentagem de depósito. Eu só preciso do valor do parâmetro "porcentagem de margem" para o símbolo. E eu mesmo posso calcular o que eu preciso.
Não, não vai.
1. A função MarketInfo() é obsoleta.
2. MODE_MARGINREQUIRED retorna o resultado correto apenas para posições longas, para as curtas está errado.
3. MODE_MARGINREQUIRED retorna na moeda do depósito, que eu não preciso.
4. Eu não preciso de uma porcentagem do depósito. Eu só preciso do valor de "Porcentagem de Margem" para o símbolo. E eu mesmo posso calculá-lo.
Se você precisar dele no MT5, vá para outra seção do fórum.
Você não se surpreende com seu conhecimento comum, ou pior:
1. não é a função MarketInfo(), mas uma expressão, cujo resultado será um percentual de
2. você não tem pelo menos 4 casas decimais, portanto a % de margem para longo e curto será a mesma.
3. Basta multiplicar
procentMgn
Você pode usar 0,01, e ficará feliz.
Com a imaginação correta, você pode pensar em muitos alvos. :) E não para o teste certo/mal errado.
Como funciona? Você precisa desta mesma "Porcentagem de Margem". Você quer que eu digite à mão?) O código deve ser capaz de obtê-lo de forma programática.
Sim, bem... fantasia é tudo... Eu só não entendo por que as pessoas que tentam ajudá-lo devem fantasiar sobre o que você fantasia? De qualquer forma, não é essa a questão.
Como você obtém o que precisa com essa fórmula?
A fórmula em si é Margem = Lotes *Tamanho do contrato*Preço de mercado*Percentagem/100
Portanto Porcentagem = Margem/(Lotes *Tamanho do contrato*Preço de mercado/100)
1. A função MarketInfo() é obsoleta.
Ela ainda não está na lista de funções depreciadas. Portanto, ele produz o valor em falta para determinar a porcentagem da margem.
MarketInfo(_Symbol, MODE_MARGINREQUIRED);
Tendo obtido todos os dados no momento atual, ao preço atual, é fácil recalcular a margem que foi retida quando a ordem foi aberta, ao preço de abertura da ordem.
Se você precisar dele para mql5, você deve usar
bool SymbolInfoMarginRate( string name, // символ ENUM_ORDER_TYPE order_type, // тип ордера double& initial_margin_rate, // коэффициент взимания начальной маржи double& maintenance_margin_rate // коэффициент взимания поддерживающей маржи );
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Na janela do terminal "Especificações do Contrato" há um item "Porcentagem de Margem". Supostamente deve ser devolvido por SymbolInfoDouble(), mas não encontrei nenhum valor entre seus especificadores que permita descobrir esta "Porcentagem de Margem". Como pode ser obtido de forma programática?