Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
veremos o código.
Agita tudo.
então, boa sorte.
O código não é importante nesta pergunta? Você poderia ter acabado de escrever "Não sei", mas parece funcionar.
A questão é sobre o código, então você não pode fazer isso sem o código.
Você está perguntando sobre modificadores ou processamento de pedidos?
Eu não sei do que você precisa. Mas o erro está no código - 100%.
Favor aconselhar como usar a MQL4 para obter um valor de margem para cada posição aberta no terminal?
Eu costumava fazer isso desta maneira:
Ao negociar o EUR/USD esta construção funcionou bem e eu estava certo de que sua lógica estava correta.
Mas agora eu quero obter o mesmo resultado para EUR/JPY (ou EUR/CHF). Obviamente, ao invés deOrderOpenPrice() eu preciso multiplicar o valor de um lote padrão pela taxa da moeda base para a moeda de depósito (no meu caso, por EUR/USD). Mas qual é essa taxa? Aquela que estava no momento da abertura da posição ou aquela que está agora (no momento em que queremos saber o valor do depósito para esta posição)?
Favor aconselhar como usar a MQL4 para obter um valor de margem para cada posição aberta no terminal?
Eu costumava fazer isso desta maneira:
Ao negociar o EUR/USD esta construção funcionou bem e eu estava certo de que sua lógica estava correta.
Mas agora eu quero obter o mesmo resultado para EUR/JPY (ou EUR/CHF). Obviamente, ao invés deOrderOpenPrice() eu preciso multiplicar o valor de um lote padrão pela taxa da moeda base para a moeda de depósito (no meu caso, por EUR/USD). Mas qual é essa taxa? Aquela que existia no momento da abertura da posição, ou aquela que existe agora (no momento em que queremos saber o valor do depósito para esta posição)?
O resultado não será exato.
Ou, você pode encontrar a taxa do par de moedas necessário no gráfico até o momento da abertura da ordem, levar em conta o spread (bid/ask) se necessário e calcular o valor mais preciso da margem no momento da abertura da ordem usando a seguinte fórmula
A armadilha pode ser o cálculo da margem em um momento em que a alavancagem era diferente
E se a taxa de câmbio EUR/USD estiver escrita no campo de comentários quando o pedido for aberto e depois lida a partir daí?
Comentário para outros fins.
É assim que se pode saber o preço:
int bs=iBarShift(OrderSymbol(),Period(),OrderOpenTime());
double bid_X=iClose(Symbol_X,Period(),bs);
Comentário para outros fins.
É assim que se pode saber o preço:
int bs=iBarShift(OrderSymbol(),Period(),OrderOpenTime());
double price_X=iClose(Symbol_X,Period(),bs);
Se negociarmos em, digamos, gráficos diários, obteremos o preço de abertura do dia, em algum lugar no meio do qual a ordem em que estamos interessados foi aberta, não? E pode ser significativamente diferente do preço que era no momento da abertura.
Então, se negociarmos, digamos, gráficos diários, obteremos o preço de abertura do dia, em algum lugar no meio do qual a ordem em que estamos interessados foi aberta, não? E pode ser significativamente diferente do preço pelo qual foi aberto.
Ninguém está insistindo em usar o Period()
Especificar expressamente PERÍODO_M15, por exemplo, ou outro