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
Muito bem. Falaremos sobre isso quando se vai para ordens de limite com estas pernas)).
Vou começar um novo tópico.
Esta questão pode surgir quando estamos a definir a liquidez para a posição de arbitragem.
Como recalcular correctamente a liquidez de um par cruzado em unidades USD sobre uma banda melhor (e porquê)?
1) directamente através da maioria na moeda base
2) via major em moeda cotada
Exemplo: O volume no EURCHF Best Bund é de 2 milhões de unidades. Tem de verificar este volume em USD. O que devemos fazer? Olhamos para o ticker EURUSD e estimamos quanto é de 2 milhões de euros. Ou, estimamos o volume em CHF à taxa de câmbio actual e depois usamos o tenge USD/DCHF para determinar o volume em USD?
Vou começar um novo tópico.
Esta questão pode surgir quando estamos a definir a liquidez para a posição de arbitragem.
Como recalcular correctamente a liquidez de um par cruzado em unidades USD sobre uma banda melhor (e porquê)?
1) directamente através da maioria na moeda base
2) via major em moeda cotada
Exemplo: O volume no EURCHF Best Bund é de 2 milhões de unidades. Tem de verificar este volume em USD. O que devemos fazer? Olhamos para o ticker EURUSD e estimamos quanto é de 2 milhões de euros. Ou, estimamos o volume em CHF à taxa de câmbio actual e depois usamos o tenge USD/DCHF para determinar o volume em USD?
Vi a solução através do TickValue. Mas o caso é geral (não MT) e além disso, vou ser honesto, manipular o TickValue dá-me uma dor de cabeça. Gostaria de uma explicação simples, que seria fácil de lembrar.
Até agora, é assim:
Em Ask gangs, temos uma oferta para venda, pelo que os vendedores têm a mercadoria(moeda base) disponível. Apenas calculamos o seu custo noutra moeda de cotação (USD). No lado oposto do banco de licitação não temos nenhum produto disponível para comprar, mas temos fundos (na moeda cotada). Através do major correspondente, recalcular estes fundos.
Total:
Para pares com a mesma moeda base, a comparação por lotes é aceitável, porque as unidades são as mesmas. Por exemplo, volumes para EURCHF e EURUSD.
Alguns vendedores da banda EURUSD ASK = 2,0 milhões, ou seja, os vendedores querem vender 2 000 000 / 100000 = 20 lotes de EUR e comprar 2 000 000 / 136345 = 14,67 lotes de USD.
Outros vendedores de GBPUSD ASK-band = 3,5 milhões, ou seja, os vendedores querem vender 3 500 000 / 100000 = 35 lotes de GBP e comprar 3 500 000 / 164349 = 21,3 lotes de USD.
Como resultado temos que no momento querem comprar 14,67 + 21,3 = 35,97 lotes USD por euro e libra. Pode-se calcular qualquer moeda desta forma.
Neste exemplo, tem pares importantes que têm a mesma moeda de cotação. A simples comparação por lotes não é aceitável: 20 lotes de eur e 35 lotes de libra esterlina. Por conseguinte, converter e obter volumes em lotes USD: 14,67 e 21,3, que já podem ser comparados.
A questão era um pouco diferente? Como se calcula o volume para um par de cruzes? Mostrar-me com ou sem lotes. Por exemplo, como comparar o volume de EURCHF e AUDNZD?
Aqui está outra opção para a posição de arbitragem, para calcular lotes para cada símbolo para negociar o máximo de liquidez possível sem conversão para unidades comuns.
Suponha que temos uma arbitragem triangular do tipo A/B, B/C, C/A
1) Começar do primeiro símbolo até ao último. Tomar o volume A no primeiro par (lembrar como tamanho de ordem A/B) e calcular o volume B (converter A para B). Se o volume obtido for maior do que o de B/C, vamos ao ponto 2. Se for menor, memorizamos este volume (como tamanho de encomenda para B/C), calculamos C, comparamo-lo, etc. Chegámos com sucesso ao fim da cadeia -> já temos volumes para encomendas, saída.
2) Fazer um turno cíclico (era A/B, B/C, C/A tornou-se B/C, C/A, A/B ), e voltar ao ponto 1)
Vamos calcular por nós próprios a margem que nos será (obrigatoriamente) deduzida na moeda de depósito em USD se:
- Queremos comprar 1 lote de EURCHF.Comprar EURCHF é comprar EUR por CHF. Não temos CHF. Pedimo-los emprestados ou compramo-los nós próprios (com uma alavancagem de 1:1). Por outras palavras, temos USD (depósito) e temos de comprar CHF (ou não comprar se o crédito estiver disponível em CHF) a fim de comprar EUR. Isto significa que para comprar EURCHF, temos de realmente (alavancagem 1:1) ou virtualmente vender USDCHF (vender USD do depósito, comprar CHF), a um preço de mercado (na pior das hipóteses).
- Queremos vender 1 lote de EURCHF.
A venda do EURCHF está a vender EUR por CHF. Não temos EUR (não temos nada para vender). Ou os pedimos emprestados ou compramo-los nós próprios (com uma alavancagem de 1:1). Por outras palavras, temos USD (depósito) e temos de comprar EUR (ou não comprar, se o crédito nos for concedido em EUR) para comprar CHF. Significa que para vender EURCHF, temos realmente (alavancagem 1:1) ou praticamente comprar EURUSD (vendendo USD do depósito, comprando EUR), ao preço de mercado (no pior dos casos).
Resumindo:
Agora vamos rever o seu código. Na minha opinião, falta à função um argumento que seria responsável pela direcção do negócio. Tem uma margem variávelCurrency, que é sempre definida como moeda base. Por conseguinte, a margem para a venda e compra do EURCHF é sempre calculada através do EURUSD.
string marginCurrency = StringSubstr( StringTrimLeft( smb ), 0, 3 );
...
if( calcCurrency == "" ){
calcCurrency = GetSymbolByCurrencies( marginCurrency, accCurrency );
mode = true;
if( calcCurrency == "NULL" ){
calcCurrency = GetSymbolByCurrencies( accCurrency, marginCurrency );
mode = false;
}
}
P.S. Estou curioso em saber até que ponto os seus cálculos de margem agora coincidem com os da MT, especialmente porque já houve reivindicações semelhantes a eles antes.
A julgar pelo silêncio, nem tudo é claro.
Resposta com números à pergunta: "Como se calcula o volume para um par de cruzes? Mostrar-me com ou sem lotes. Por exemplo, como comparar volumes no EURCHF e AUDNZD"?
Para descobrir a diferença em lotes, divido as taxas das principais moedas no numerador. A moeda de penhor é a moeda que está no numerador.
EURUSD / AUDUSD -> 1,36368 / 0,90639 = 1,50451, ou seja, o volume da posição AUDNZD a ser aberta deve ser 1,50 vezes superior ao EURCHF.
Porque é que divido as majors?
Não compreendo este posto. Assim, contando desta forma conclui que o volume em AUDNZD (em USD) é aproximadamente 1,5 vezes maior que o volume em EURCHF (em USD). Certo?
Papaklass acalme-se ou vamos entrar numa discussão. Olhei para o seu código antes de comentar, olhou para o meu comentário? Cuidadosamente?
A minha queixa ao vosso método de cálculo (pelo exemplo do cálculo do EURCHF) .
Após o comentário "//fetch o preço actual para a direcção especificada", calcula-se sempre os preços com o mesmo símbolo tanto quando se compra como quando se vende , enquanto eu acredito que se deve calculá-los com símbolos diferentes (justificação acima).
No exemplo do EURCHF, tem sempre EURUSD.
P.S. que foi desnecessário, desculpe
GaryKa: ... Na minha opinião, falta à função o argumento que seria responsável pela direcção do ofício ...