Como calcular o tamanho do lote? - página 3

 
chaffinsjc:

Digamos que minha mini conta tem margem de $10.000, e eu quero arriscar 2% na próxima negociação (ou seja, simplesmente usar $200 para comprar <algum montante> de contratos).

[Percebo que esta é uma visão limitada do "risco". Não estou interessado em stopLoss pips, ou metas de lucro, ou o que quer que seja].

Usando MetaTrader, recebo as seguintes informações de mini-conta de meu corretor:

AccountLeverage = AccountLeverage(); // valor = 200
modeLotSize = MarketInfo("EURUSDm", MODE_LOTSIZE); // valor = 10000
modeLotStep = MarketInfo("EURUSDm", MODE_LOTSTEP); // valor = .01
modeMinLot = MarketInfo("EURUSDm", MODE_MINLOT) ); // valor = .01

PERGUNTA: Como calcular o tamanho do lote para $200? (Seria útil saber o custo de um lote de tamanho mínimo. Neste caso, o tamanho mínimo do lote é .01).

PERGUNTA: A fórmula de cálculo do tamanho do lote é a mesma para todos os pares de moedas?

Muito obrigado de antemão.


Eu envio a você uma boa calculadora de tamanho de lote com base no patrimônio líquido e não no saldo. É melhor se você tiver mais uma negociação.

 
Envio a você meu calc. de tamanho de lote. É baseado na equidade e não no Equilíbrio. É melhor se você usar mais do que 1 comércio juntos.
Arquivos anexados:
 

Na documentação :

MODE_TICKVALUE

16

Assinale o valor na moeda do depósito

MODE_TICKSIZE

17

Tamanho do tick em pontos


Para meu corretor de cinco dígitos : mode_tick value = 1; mode_ticksize = 0,00001

Então por que todo mundo dá esta linha :

   double pipValue = MarketInfo(Symbol(),MODE_TICKVALUE);
 if (Digits==3 || Digits==5) pipValue *= 10;

Não está errado?

 

Isto está errado, palavras erradas (?)

double pipValue = MarketInfo(Symbol(),MODE_TICKVALUE);
 if (Digits==3 || Digits==5) pipValue *= 10;

Deve ser: se Dígitos == 5 E se você trabalha em Pips, então ....

if (Digits==3 || Digits==5) pipValue *= 10;

se alguém trabalha em Point, alguém não se importa com Pips.

 
ffoorr:

Na documentação :

MODE_TICKVALUE

16

Assinale o valor na moeda do depósito

MODE_TICKSIZE

17

Tamanho do tick em pontos


Para meu corretor de cinco dígitos : mode_tick value = 1; mode_ticksize = 0,00001

Então por que todo mundo dá esta linha :

Não está errado?

   double pipValue = MarketInfo(Symbol(),MODE_TICKVALUE);
 if (Digits==3 || Digits==5) pipValue *= 10;

Isso é apenas para quando as pessoas inserem valores como pips. O ponto não é normalmente igual a 1 pip.
 
ffoorr: Não está errado?

Há o Tick, o PIP e o Point. Todos eles são diferentes em geral. Um carrapato é a menor mudança de preço. Um Ponto é o dígito menos significativo cotado. Em moedas, um pip é definido como 0,0001 (ou para JPY 0,01).

Em um corretor de 4 dígitos um ponto (0,0001) = pip (0,0001). [JPY 0,01 == 0,01] Em um corretor de 5 dígitos um ponto (0,00001) = 1/10 pip (0,00010/10). Só porque você cita um dígito extra, não muda o valor de um pip. (0,0001 == 0,00010) EA's devem ajustar pips para pontos (para mq4.) Em moedas, um tick é um ponto. O preço pode mudar pelo menos um dígito significativo (1,23456 -> 1,23457)

Em metais, um Tick ainda é a menor mudança, mas é maior do que um ponto. Se o preço pode mudar de 123,25 para 123,50, você tem um TickSize de 0,25 e um ponto de 0,01. Pip não tem significado.

É por isso que você não usa o TickValue por si só. Somente como uma relação com o TickSize. Ver DeltaValuePerLot()

 
Roman Kramar:

O problema não está totalmente definido. Se você diz que quer arriscar 2%, então você tem que corrigir uma das variáveis: o nível de stop loss ou o volume de comércio. Já que você está perguntando sobre o cálculo do tamanho do lote, isso significa que você não quer que ele seja consertado, mas isso exige que você se interesse em stop loss pips, mesmo que você diga que não está. Se você não tiver um stop loss, então arriscar 2% significa tomar um tamanho de lote fixo, por exemplo 1,0, e esperar até que suas perdas atuais atinjam 2% da margem inicial. Você não precisa calcular o tamanho do lote aqui, como você vê.


Uma vez que o nível de stop loss entra na visão, o cálculo é simples:


Duplo volume de comércio = AccountFreeMargin() * Risk/100 / ( StopLossPoints * MarketInfo( Symbol(), MODE_TICKVALUE ) );


Ou seja, dado um nível de stop loss para qualquer comércio em particular, você sempre terá a porcentagem especificada de sua margem inicial perdida se o stop loss for tomado.


Você também vai querer normalizar o valor resultante por MODE_LOTSTEP e limitá-lo com MODE_MINLOT e MODE_MAXLOT.

Como posso calcular todo o tamanho do meu pedido aberto em USD ?

 
magonicolas: Como posso calcular todo o tamanho do meu pedido aberto em USD ?
  1. Não duplique a postagem! Você já tinha este tópico aberto.
    Regras gerais e melhores práticas do Fórum. -Geral - Fórum de programação MQL5

  2. Não faz sentido. Como faço para calcular meu quartzo em USD?

    Nunca arrisque mais do que uma pequena porcentagem de sua conta, certamente menos do que 2% por operação, 6% total para a conta. O risco depende de seu stop loss inicial, do tamanho do lote e do valor do par. Ele não depende da margem e da alavancagem.
    1. Você coloca a parada onde ela precisa estar - onde a razão para o comércio não é mais válida. Por exemplo, a troca de um suporte de apoio faz com que a parada fique abaixo do suporte.
    2. AccountBalance * percent/100 = RISK = OrderLots * (|OrderOpenPrice - OrderStopLoss| * DeltaPerLot + CommissionPerLot) (Nota OOP-OSL inclui o spread, e DeltaPerLot normalmente está em torno de $10/pip, mas leva em conta as taxas de câmbio do par em relação à moeda de sua conta).
    3. NÃO utilize TickValue por si só - DeltaPerLot e verifique se MODE_TICKVALUE está retornando um valor na moeda de seu depósito, como prometido pela documentação, ou se está retornando um valor na moeda base do instrumento.
      MODE_TICKVALUE não é confiável em instrumentos não-fx com muitos corretores - Fórum de programação MQL4 2017.10.10
      Existe uma solução universal para o valor do Tick? -Pares de moedas - Geral - Fórum de programação MQL5 2018.02.11
      Cálculo do valor do lote desligado por um fator de 100 - Fórum de programação MQL5 2019.07.19
    4. Você deve normalizar os lotes corretamente e verificar em relação ao mínimo e máximo.
    5. Você também deve verificar o FreeMargin para evitar parar

    A maioria dos pares vale cerca de US$ 10 por PIP. Um risco de $5 com um (muito pequeno) 5 PIP SL é de $5/$10/5 ou 0,1 Lotes no máximo.

 
William Roeder:
  1. Não duplique a postagem! Você já tinha este tópico aberto.
    Regras gerais e melhores práticas do Fórum. -Geral - Fórum de programação MQL5

  2. Não faz sentido. Como faço para calcular meu quartzo em USD?

    Nunca arrisque mais do que uma pequena porcentagem de sua conta, certamente menos do que 2% por operação, 6% total para a conta. O risco depende de seu stop loss inicial, do tamanho do lote e do valor do par. Ele não depende da margem e da alavancagem.
    1. Você coloca a parada onde ela precisa estar - onde a razão para o comércio não é mais válida. Por exemplo, a troca de um suporte de apoio faz com que a parada fique abaixo do suporte.
    2. AccountBalance * percent/100 = RISK = OrderLots * (|OrderOpenPrice - OrderStopLoss| * DeltaPerLot + CommissionPerLot) (Nota OOP-OSL inclui o spread, e DeltaPerLot normalmente está em torno de $10/pip, mas leva em conta as taxas de câmbio do par em relação à moeda de sua conta).
    3. NÃO use TickValue por si só - DeltaPerLot e verifique se MODE_TICKVALUE está devolvendo um valor na moeda de depósito, como prometido pela documentação, ou se está devolvendo um valor na moeda base do instrumento.
      MODE_TICKVALUE não é confiável em instrumentos não-fx com muitos corretores - Fórum de programação MQL4 2017.10.10
      Existe uma solução universal para o valor do Tick?-Pares de moedas - Geral - Fórum de programação MQL5 2018.02.11
      Cálculo do valor do lote desligado por um fator de 100 - Fórum de programação MQL5 2019.07.19
    4. Você deve normalizar os lotes corretamente e verificar em relação ao mínimo e máximo.
    5. Você também deve verificar o FreeMargin para evitar parar

    A maioria dos pares vale cerca de US$ 10 por PIP. Um risco de $5 com um (muito pequeno) 5 PIP SL é de $5/$10/5 ou 0,1 Lotes no máximo.

Não estou falando de risco, só quero saber o valor em USD de Pedidos Abertos.

 
magonicolas:

Não estou falando de risco, só quero saber o valor em dólares das Ordens Abertas.

Por favor, PARe a dupla postagem !