Como obter a "Porcentagem de Margem" de forma programática - página 2

 
Alexey Viktorov:

Sim, bem... fantasia é tudo... mas por que as pessoas deveriam tentar ajudá-lo a 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)

Ela ainda não está na lista de funções obsoletas. Assim, ele produz o valor em falta para determinar a porcentagem da margem.

Tendo recebido todos os dados para o momento atual ao preço atual, podemos facilmente recalcular a margem que foi retida ao preço de abertura do pedido.

Se você precisar dele para mql5, você deve usar

Norma.

A alavancagem não afetará a margem? Talvez devêssemos adicionar o coeficiente: 100/alavancagem à fórmula?

 
Renat Akhtyamov:

Norma.

A alavancagem não terá nenhum efeito sobre a margem? Talvez acrescente um coeficiente à fórmula: 100/média ?

A alavancagem geralmente está fora da fórmula básica Margem = (Lotes*Tamanho de contrato*Preço de mercado*Percentagem)/Alavancagem, portanto não levei em conta. Para determinar do que se trata a questão, a alavanca é como a sela de uma vaca. Mas, além disso, pode ser necessário, mas não diz respeito à questão atual...

 
Alexey Viktorov:

A alavancagem geralmente está fora da fórmula básica Margem = (Lotes*Tamanho de contrato*Preço de mercado*Percentagem)/Alavancagem, portanto não levei em conta. Para determinar do que se trata a questão, a alavanca é como a sela de uma vaca. Mas, além disso, pode ser necessário, mas isso está além do escopo da questão atual...

A margem como porcentagem só pode estar em algo (por exemplo, depósito) com o lote mínimo levado em conta. A alavancagem é apenas "entrar por alguma coisa".
 
Renat Akhtyamov:
Uma margem percentual só pode ser uma porcentagem de algo (por exemplo, um depósito), levando em conta o lote mínimo. A vantagem é apenas "para alguma coisa".
Renat, não tenha tanta pressa. Leia tudo desde o primeiro post, sobre o que era a pergunta...
 
Alexey Viktorov:

Sim, bem... fantasia é tudo... mas por que as pessoas deveriam tentar ajudá-lo a 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)

Ela ainda não está na lista de funções obsoletas. Assim, ele produz o valor em falta para determinar a porcentagem da margem.

Tendo obtido todos os dados para o momento atual ao preço atual, podemos facilmente recalcular a margem que foi retida ao preço de abertura do pedido.

Se você precisar dele para mql5, você deve usar


Olá, eu gostaria, por exemplo, de calcular a margem separadamente para o ouro (independentemente de outros instrumentos). Você pode me dizer como fazer isso, se você não souber a margem percentual? Porque, neste caso, já temos duas incógnitas: a margem em si e a porcentagem da margem.
 
K-2SO:

Olá, eu gostaria, por exemplo, de calcular a margem separadamente para o ouro (independentemente de outros instrumentos). Você pode me dizer como fazer isso, se a porcentagem da margem for desconhecida? Porque neste caso já temos duas incógnitas: tanto a margem em si quanto a porcentagem da margem.

Minha resposta é tudo o que existe para calcular tudo o que você precisa.

MarketInfo(_Symbol, MODE_MARGINREQUIRED); // Размер свободных средств, необходимых для открытия 1 лота на покупку
No entanto, não se trata de uma margem tomada no momento em que o pedido é aberto, mas é a margem atual ao preço atual. Resta apenas um desconhecido, ou seja, a margem percentual que não é um valor percentual e que é calculada usando a fórmula. Depois ficamos com o preço que não corresponde ao último. Novamente, usando a mesma fórmula, calculamos a margem para o preço correspondente.

O erro nos cálculos pode ser um par de centavos, mas esse é o custo do arredondamento.

MarketInfo - Получение рыночной информации - Справочник MQL4
MarketInfo - Получение рыночной информации - Справочник MQL4
  • docs.mql4.com
MarketInfo - Получение рыночной информации - Справочник MQL4
 
Sim... Parece ser uma pergunta simples e você começa uma polêmica... :) Entendo que todos são pessoas inteligentes e que cada um é um gênio à sua própria maneira. Mas...
Renat Akhtyamov:

Se você quiser usar o MT5, vá para outra seção do fórum.

Tenho uma captura de tela do MT5 ou criei um tópico na seção que não é para o MT4.
Renat Akhtyamov:

Você não se surpreende com seu conhecimento comum, ou pior:

Eu não vim aqui para surpreendê-lo, mas para obter uma resposta simples a uma simples pergunta.
Alexey Viktorov:

Bem, sim... Não entendo porque as pessoas que tentam ajudar você deve fantasiar sobre o que você tem fantasiado.

Eu não pedi a ninguém para fantasiar sobre nada. Você se meteu na mata.
Alexey Viktorov:

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)

Eu mesmo sei como derivar o valor correto da fórmula. Somos bons em matemática. A questão não era como calculá-la, mas como obtê-la do terminal.

Alexey Viktorov:

Se você precisar dele para mql5 você deve usar

MQL5 novamente...

Deixe-me reformular a minha pergunta... Eu não preciso deste valor ou de uma fórmula para calculá-lo . Quero o nome da constante(ou seu valor numérico) que posso usar na consulta SymbolInfoDouble() para obter o valor que preciso do terminal. É isso aí! :)

 
ir0407:
Bem... Parece ser uma pergunta simples e você começa uma polêmica... Eu não tirei uma foto do MT5 ou criei um tópico na seção MT4. Não vim aqui para surpreendê-lo, mas para obter uma resposta simples a uma simples pergunta. Como tirar o valor certo da fórmula, estou bem ciente disso. Somos bons em matemática. A questão não era como calcular, mas como obtê-lo do terminal.

MQL5 novamente...

Deixe-me tentar reformular a pergunta... Eu não preciso calcular este valor, não preciso de uma fórmula para calcular este valor. Eu preciso de um nome constante(ou um valor numérico) que eu possa usar na consulta SymbolInfoDouble() para obter o valor que eu preciso do terminal. É isso aí! :)

Nesse caso, a resposta é inequívoca.

NOTHING!!!

E ninguém vai fazer isso. É uma abordagem estranha, no entanto. Eu o quero, e vocês desenvolvedores o fazem por mim. Só porque eu quero. Eu sinceramente tentei ajudar... mas, infelizmente, sem sorte...

 
Alexey Viktorov:

Minha resposta tem tudo para calcular tudo o que você precisa.

Mas não é a margem tomada no momento da abertura do pedido; é a margem no momento atual, ao preço atual. Resta apenas um desconhecido, ou seja, a margem percentual que não é um valor percentual e que é calculada usando a fórmula. Depois ficamos com o preço que não corresponde ao último. Novamente, usando a mesma fórmula, calculamos a margem para o preço correspondente.

O erro de cálculo pode ser um par de kopecks, mas é o erro de arredondamento.

Você pode fazer uma experiência simples, comparando o valor de MARGINREQUIRED e colocando pedidos reais de um lote de um tamanho em diferentes instrumentos. E então ficará claro que a MARGINREQUIRED está mentindo não apenas para as vendas, mas também para as taxas cruzadas.

E, em segundo lugar, ao calcular a margem total do instrumento para todas as suas encomendas (ouro, em nosso caso), é o preço em aberto da encomenda que deve ser levado em conta. O valor MARGINREQUIRED não nos dá absolutamente nada aqui.

 
K-2SO:

Uma simples experiência pode ser conduzida comparando o valor MARGINREQUIRED e colocando pedidos reais de um tamanho de lote em diferentes instrumentos. E então se tornará claro que MARGINREQUIRED não está somente na venda, mas também nas taxas cruzadas.

E, em segundo lugar, ao calcular a margem total do instrumento para todas as suas encomendas (ouro, em nosso caso), é o preço em aberto da encomenda que deve ser levado em conta. O valor MARGINREQUIRED não me dá absolutamente nada aqui.

Não consigo entender por que não funciona. Aqui temos 3 pedidos em aberto e o valor da margem corresponde a todos os cálculos em 100%.


Razão: