Como calcular a alavancagem programática está escrito na mesma linha. Em vez de escrever uma nota de rodapé, preste mais atenção às respostas às suas perguntas
Sou provavelmente muito desajeitado com minhas perguntas e, portanto, não estou obtendo as respostas que espero. Perdoe-me, o russo é apenas parcialmente minha língua materna. Mas vou tentar novamente.
Eu li cuidadosamente todo o ramo. A resposta à minha pergunta original foi dada - é impossível obter o valor real de alavancagem para uma única posição a partir do terminal.
Mas também foi mencionado que talvez a alavanca mude não para estas posições, mas para um instrumento como um todo. E agora a única pergunta que me resta é como obter essa vantagem do terminal. Desde que seja diferente da alavancagem total da conta. Não para calcular, mas exatamente para obter o valor real.
Seria muito bom se isso pudesse ser feito ANTES de abrir a próxima posição.
Provavelmente sou muito desajeitado com minhas perguntas e, portanto, não estou obtendo as respostas que espero. Perdoe-me, o russo é apenas parcialmente minha língua materna. Mas vou tentar novamente.
Eu li cuidadosamente todo o ramo. A resposta à minha pergunta original foi dada - é impossível obter o valor real de alavancagem para uma única posição a partir do terminal.
Mas também foi mencionado que talvez a alavanca mude não para estas posições, mas para um instrumento como um todo. E agora a única pergunta que me resta é como obter essa vantagem do terminal. Desde que seja diferente da alavancagem total da conta. Não para calcular, mas exatamente para obter o valor real.
Seria bom se você pudesse fazê-lo ANTES de abrir a próxima posição.
O corretor lhe disse - pode mudá-lo DEPOIS
e ANTES - tudo já está escrito acima, mas você precisa calcular
Você foi informado por seu corretor - ele pode mudá-lo DEPOIS e ANTES - está tudo escrito acima, mas você precisa calcular
Sim, isso é o que eu quero saber, como obter a real alavancagem de um símbolo DEPOIS que o corretor tenha mudado, mas ANTES de abrir a próxima posição sobre esse símbolo. Ainda não sou capaz de calculá-lo corretamente. Porque todas as fórmulas de cálculos apresentadas anteriormente contêm ou a alavancagem da conta (que permanece inalterada) ou a quantidade de margem das configurações do símbolo (que também não foi alterada).
Certo, então estou tentando descobrir como obter a real alavancagem de um símbolo DEPOIS que o corretor o tenha mudado, mas ANTES de abrir a próxima posição sobre esse símbolo. Ainda não sou capaz de calculá-lo corretamente. Porque todas as fórmulas de cálculos apresentadas anteriormente contêm ou a alavancagem da conta (que permaneceu inalterada) ou a quantidade de margem das configurações do símbolo (que também não mudou).
Contém MarketInfo("USDCHF",MODE_MARGINREQUIRED) valor, que não muda após o corretor ter mudado a alavancagem para este instrumento. A funçãoMarketInfo retorna a margem das configurações de símbolo, que corresponde à alavancagem nas configurações da conta. Se não fosse assim, eu não teria mais perguntas. É exatamente aqui que reside o problema.
Renat Akhtyamov:
é a alavanca resultante que substituímos no cálculo da margem
E o problema será que a alavancagem obtida na etapa anterior não corresponderá à alavancagem real. Será igual à alavancagem das configurações da conta, que é retornada pela função AccountLeverage(). Assim, a margem, calculada desta forma, será muito menor do que a margem real, se a alavancagem deste instrumento não corresponder à alavancagem da conta.
Se você quiser, você mesmo pode verificá-lo facilmente:
Abra uma conta demo no servidor Alpari-Demo. Ao abrir a conta, selecione uma quantia de 10000 USD e uma alavancagem de 1:500.
Abrir uma posição para comprar 1 lote de USDRUB (UZDZAR, UZDTRY)
Calcule a alavancagem e depois a margem com a fórmula que você propõe.
Contém MarketInfo("USDCHF",MODE_MARGINREQUIRED) valor, que não muda após o corretor ter mudado a alavancagem para este instrumento. A funçãoMarketInfo retorna a margem das configurações de símbolo, que corresponde à alavancagem nas configurações da conta. Se não fosse assim, eu não teria mais perguntas. É exatamente aí que reside o problema.
E o problema aqui será que a alavancagem obtida na etapa anterior não corresponderá à alavancagem real. Será igual à alavancagem das configurações da conta, que é devolvida pela AccountLeverage(). Assim, a margem, calculada desta forma, será muito menor do que a margem real, se a alavancagem deste instrumento não corresponder à alavancagem da conta.
Se você quiser, você mesmo pode verificá-lo facilmente:
Abra uma conta demo no servidor Alpari-Demo. Ao abrir a conta, selecione uma quantia de 10000 USD e uma alavancagem de 1:500.
Abrir uma posição para comprar 1 lote de USDRUB (UZDZAR, UZDTRY)
Calcule a alavancagem e depois a margem com a fórmula que você propõe.
Compare isso com o que você vê no terminal
Você deve tentar primeiro antes de prever o resultado.
Tenho trabalhado com esta fórmula sobre alavancagem flutuante, ela reage no tempo
A razão para a discrepância é que a alavancagem do símbolo USDRUB é diferente da alavancagem da conta. E minha pergunta é como obter o valor dessa alavancagem por meio da MQL4 antes de abrir uma posição.
No entanto, não entendo bem porque desta vez para calcular a alavancagem do USDRUB você sugere dividir o volume do contrato EURUSD pela margem para abrir um lote padrão para USD/CHF. Mas o resultado é o mesmo valor de margem (200). Enquanto que a margem real mantida é de 1000.
Sou provavelmente muito desajeitado com minhas perguntas e, portanto, não estou obtendo as respostas que espero. Perdoe-me, o russo é apenas parcialmente minha língua materna. Mas vou tentar novamente.
Eu li cuidadosamente todo o ramo. A resposta à minha pergunta original foi dada - é impossível obter o valor real de alavancagem para uma única posição a partir do terminal.
Mas também foi mencionado que talvez a alavanca mude não para estas posições, mas para um instrumento como um todo. E agora a única pergunta que me resta é como obter essa vantagem do terminal. Desde que seja diferente da alavancagem total da conta. Não para calcular, mas exatamente para obter o valor real.
Seria muito bom se isso pudesse ser feito ANTES de abrir a próxima posição.
Provavelmente sou muito desajeitado com minhas perguntas e, portanto, não estou obtendo as respostas que espero. Perdoe-me, o russo é apenas parcialmente minha língua materna. Mas vou tentar novamente.
Eu li cuidadosamente todo o ramo. A resposta à minha pergunta original foi dada - é impossível obter o valor real de alavancagem para uma única posição a partir do terminal.
Mas também foi mencionado que talvez a alavanca mude não para estas posições, mas para um instrumento como um todo. E agora a única pergunta que me resta é como obter essa vantagem do terminal. Desde que seja diferente da alavancagem total da conta. Não para calcular, mas exatamente para obter o valor real.
Seria bom se você pudesse fazê-lo ANTES de abrir a próxima posição.
O corretor lhe disse - pode mudá-lo DEPOIS
e ANTES - tudo já está escrito acima, mas você precisa calcular
Você foi informado por seu corretor - ele pode mudá-lo DEPOIS
e ANTES - está tudo escrito acima, mas você precisa calcular
Sim, isso é o que eu quero saber, como obter a real alavancagem de um símbolo DEPOIS que o corretor tenha mudado, mas ANTES de abrir a próxima posição sobre esse símbolo. Ainda não sou capaz de calculá-lo corretamente. Porque todas as fórmulas de cálculos apresentadas anteriormente contêm ou a alavancagem da conta (que permanece inalterada) ou a quantidade de margem das configurações do símbolo (que também não foi alterada).
Certo, então estou tentando descobrir como obter a real alavancagem de um símbolo DEPOIS que o corretor o tenha mudado, mas ANTES de abrir a próxima posição sobre esse símbolo. Ainda não sou capaz de calculá-lo corretamente. Porque todas as fórmulas de cálculos apresentadas anteriormente contêm ou a alavancagem da conta (que permaneceu inalterada) ou a quantidade de margem das configurações do símbolo (que também não mudou).
vamos lá
alavancagem real:
https://www.mql5.com/ru/forum/353040/page2#comment_18675097
alavancagem no cálculo da margem
https://www.mql5.com/ru/forum/353040/page4#comment_18728440
e você está com sorte.
;)
o ombro real:
https://www.mql5.com/ru/forum/353040/page2#comment_18675097
Há uma fórmula no link:
Contém MarketInfo("USDCHF",MODE_MARGINREQUIRED) valor, que não muda após o corretor ter mudado a alavancagem para este instrumento. A funçãoMarketInfo retorna a margem das configurações de símbolo, que corresponde à alavancagem nas configurações da conta. Se não fosse assim, eu não teria mais perguntas. É exatamente aqui que reside o problema.
é a alavanca resultante que substituímos no cálculo da margem
https://www.mql5.com/ru/forum/353040/page4#comment_18728440
E o problema será que a alavancagem obtida na etapa anterior não corresponderá à alavancagem real. Será igual à alavancagem das configurações da conta, que é retornada pela função AccountLeverage(). Assim, a margem, calculada desta forma, será muito menor do que a margem real, se a alavancagem deste instrumento não corresponder à alavancagem da conta.
Se você quiser, você mesmo pode verificá-lo facilmente:
Há uma fórmula no link:
Contém MarketInfo("USDCHF",MODE_MARGINREQUIRED) valor, que não muda após o corretor ter mudado a alavancagem para este instrumento. A funçãoMarketInfo retorna a margem das configurações de símbolo, que corresponde à alavancagem nas configurações da conta. Se não fosse assim, eu não teria mais perguntas. É exatamente aí que reside o problema.
E o problema aqui será que a alavancagem obtida na etapa anterior não corresponderá à alavancagem real. Será igual à alavancagem das configurações da conta, que é devolvida pela AccountLeverage(). Assim, a margem, calculada desta forma, será muito menor do que a margem real, se a alavancagem deste instrumento não corresponder à alavancagem da conta.
Se você quiser, você mesmo pode verificá-lo facilmente:
Você deve tentar primeiro antes de prever o resultado.
Tenho trabalhado com esta fórmula sobre alavancagem flutuante, ela reage no tempo
e não será o mesmo que você viu com seus olhos
e certamente não é o que você viu com seus olhos.
e não em demonstração, mas em real
Você deveria ter tentado primeiro antes de prever o resultado
Eu não previ o resultado. É claro, eu tentei fazer isso antes de sugerir a você.
Aqui está o roteiro:
Aqui está o resultado de sua execução:
Aqui está o valor real:
A razão para a discrepância é que a alavancagem do símbolo USDRUB é diferente da alavancagem da conta. E minha pergunta é como obter o valor dessa alavancagem por meio da MQL4 antes de abrir uma posição.
ok
Experimente assim agora.
void OnStart()
{
double LEVERAGE = NormalizeDouble( MarketInfo("EURUSD",MODE_LOTSIZE)/MarketInfo("USDCHF",MODE_MARGINREQUIRED),0);
double M = MarketInfo( "USDRUB" ,MODE_LOTSIZE)/ LEVERAGE; // M=CC/ КП
Print(" М = ",M);
Print("LEVERAGE = ",LEVERAGE);
Print("VOL = ",MarketInfo( "USDRUB" ,MODE_LOTSIZE));
}
ok
Tente isto agora.
Eu fiz. Aqui está o resultado:
No entanto, não entendo bem porque desta vez para calcular a alavancagem do USDRUB você sugere dividir o volume do contrato EURUSD pela margem para abrir um lote padrão para USD/CHF. Mas o resultado é o mesmo valor de margem (200). Enquanto que a margem real mantida é de 1000.