Sunday 26 November 2017

Lot Size Calculator Forex Mt4 Forums


Digamos que minha conta mini tenha uma margem de 10.000, e eu quero arriscar 2 no próximo comércio (isto é, simplesmente use 200 para comprar uma quantidade de contratos). Eu percebo que esta é uma visão limitada do quotriskquot. Não estou interessado em stopLoss pips, ou metas de lucro, ou o que for. Usando MetaTrader, recebo as seguintes mini informações de conta do meu corretor: accountLeverage AccountLeverage () value 200 modeLotSize MarketInfo (quotEURUSDmquot, MODELOTSIZE) valor 10000 modeLotStep MarketInfo (quêEURUSDmquot, MODELOTSTEP) valor .01 modeMinLot MarketInfo (quêEURUSDmquot, MODEMINLOT)) valor .01 PERGUNTA: Como calculo o tamanho do lote para 200 (seria útil saber o custo de um lote de tamanho mínimo. Nesse caso, o lote de tamanho mínimo é .01). PERGUNTA: A fórmula de cálculo do tamanho do lote é a mesma para todos os pares de moedas Obrigado antecipadamente. O problema não está totalmente definido. Se você diz que quer arriscar 2, então você precisa consertar uma das variáveis: o nível de parada de perda ou o volume comercial. Uma vez que você está perguntando sobre o cálculo do tamanho do lote, o que significa que você não quer que ele seja corrigido, mas isso exige que você se interesse em parar de perder pips mesmo que você diga que não está. Se você não tem uma perda de parada, então arriscar 2 significa tomar um tamanho de lote fixo, e. 1,0, e aguardando 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 perda de parada entra na vista, o cálculo é simples: double tradeVolume AccountFreeMargin () Risk100 (StopLossPoints MarketInfo (Symbol (), MODETICKVALUE)) Ou seja, dado um nível de perda de parada para qualquer comércio específico, você sempre terá a porcentagem especificada Da sua margem inicial perdida se a perda de parada for tomada. Você também deseja normalizar o valor resultante pelo MODELOTSTEP e capte-o com MODEMINLOT e MODEMAXLOT. O problema não está totalmente definido. Se você diz que quer arriscar 2, então você precisa consertar uma das variáveis: o nível de parada de perda ou o volume comercial. Uma vez que você está perguntando sobre o cálculo do tamanho do lote, o que significa que você não quer que ele seja corrigido, mas isso exige que você se interesse em parar de perder pips mesmo que você diga que não está. Se você não tem uma perda de parada, então arriscar 2 significa tomar um tamanho de lote fixo, e. 1,0, e aguardando 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 perda de parada entra na vista, o cálculo é simples: double tradeVolume AccountFreeMargin () Risk100 (StopLossPoints MarketInfo (Symbol (), MODETICKVALUE)) Ou seja, dado um nível de perda de parada para qualquer comércio específico, você sempre terá a porcentagem especificada Da sua margem inicial perdida se a perda de parada for tomada. Você também deseja normalizar o valor resultante pelo MODELOTSTEP e capte-o com MODEMINLOT e MODEMAXLOT. Isso produz uma resposta de 6.66 em uma mini-conta. Isso parece sobre o risco duplo direito3 2.0 stopLossPips 30 double orderLotSize3 AccountFreeMargin () risk3100 (stopLossPips MarketInfo (Symbol (), MODETICKVALUE)) orderLotSize3 orderLotSize3 - MathMod (orderLotSize3, 2MarketInfo (Symbol (), MODELOTSTEP)) orderLotSize3 NormalizeDouble (orderLotSize3, 2) Somente Se MODETICKVALUE é 1.0, que parece estranho (mas depende das propriedades da mini-conta). O que é MODETICKVALUE para o instrumento em questão e sua mini-conta Para o EURUSD, uma conta padrão e uma alavancagem de 1: 100, os 10 que dão um volume de negociação de 0,66 lotes para o risco 2 e a parada de 30 pp. Eu costumo usar a seguinte fórmula para calcular lotes: Double OneLotMargin MarketInfo (Symbol (), MODEMARGINREQUIRED) double FreeMargin AccountFreeMargin () double lotMM FreeMarginOneLotMarginRisk100 double LotStep MarketInfo (Symbol (), MODELOTSTEP) lotMM NormalizeDouble (lotMMLotStep, 0) LotStep No entanto, você perguntou sobre como Para calcular a quantidade de lotes que usam quantidade fixa de margem, por exemplo 200 neste caso, a fórmula seguinte deve ser alterada para: double OneLotMargin MarketInfo (Symbol (), MODEMARGINREQUIRED) double MarginAmount 200 significa que queremos usar 200 para o comércio double lotMM MarginAmountOneLotMargin Double LotStep MarketInfo (Symbol (), MODELOTSTEP) lotMM NormalizeDouble (lotMMLotStep, 0) LotStepRight depois de passar basicamente todo o dia pesquisando e checando os bits de código de todo o lado, não encontrei um bom, confiável, mas simples e fácil de implementar Funcionar em um lugar que eu poderia entrar no meu código que me daria o tamanho do lote, ajustado para o JPY e 35 dígitos Corretores e com base em uma porcentagem de risco da margem na minha conta. OK, eu sei que o código abaixo pode não estar completo, mas, a partir de alguns testes com pares diferentes, parece que ele calcula corretamente o tamanho do lote quando eu imprimo o que está fazendo e compare os valores calculados manualmente em uma calculadora de tamanho de postagem online. Para o benefício do mundo em geral, aqui está o código, e minha pergunta é: este código (a) é correto no que diz respeito aos cálculos do tamanho do lote listados e (b) a maneira mais eficiente de fazê-lo Na init (), note o cálculo do tickValue: em seguida, lembre-se stopLoss é um número inteiro em pips (ajustados): você coloca a parada onde precisa ser - onde o motivo do comércio não é mais válido. Por exemplo. Ao negociar um salto de suporte, a parada fica abaixo do suporte. Razão de saldo de conta RISCO (OrderOpenPrice - OrderStopLoss) DIR OrderLots DeltaPerlot (Nota OOP-OSL inclui o SPREAD) NÃO use TickValue por si só - DeltaPerlot Você também deve verificar FreeMargin para evitar parar minha pergunta é: este código (a) correto como Na medida em que você esteja preocupado com os cálculos do tamanho do lote listados, e (b) a maneira mais eficiente de fazê-lo em sua mente. Minha resposta é: não e não. Por que você alterou o cálculo do seu lote (replicado abaixo para ilustração) com base em se a moeda da conta fazia parte do par de moedas Se RiskAmount, StoplossValue e PointValue (ou seja, uma relação de tickvalue e ticksize) são todos denominados em moeda de depósito, por que o Precisa determinar se a moeda da conta faz parte do par de moedas, eu não acredito que você precisa fazer isso. Tendo em mente stopLoss é um número inteiro em pips (ajustados) Não tenho certeza do que você quer dizer com ajustado, mas stoploss neste cálculo (ou seja, loterizar RiskAmount StoplossValue) deve ser um valor em moeda de depósito, não um tamanho em pips ou pontos. No trecho de código acima, o que acontecerá quando você arredondar. A resposta é que você arrisca mais do que você definiu em seu riskCapital. Eu acredito que o melhor curso é sempre arredondar para baixo (usando MathFloor ()). O que sobre o maxlot Embora a maioria de nós provavelmente nunca alcançará nossos corretores definidos pelo maxlot (o meu é 50 lotes padrão e ainda estou negociando apenas no lote padrão lt1), é melhor verificar o lotes calculados contra o maxlot apenas para se certificar. O seguinte é a função de tamanho de posição fracionada fixa que estou usando atualmente. Não é perfeito, mas pode dar-lhe alguma visão dos meus comentários acima. Você coloca a parada onde precisa ser - onde o motivo para o comércio não é mais válido. Por exemplo. Ao negociar um salto de suporte, a parada fica abaixo do suporte. Porcentagem de saldo de conta RISCO (OrderOpenPrice - OrderStopLoss) DIR OrderLots DeltaPerlot (Nota OOP-OSL inclui o SPREAD) NÃO use TickValue por si só - DeltaPerlot Você também deve verificar FreeMargin para evitar parar WHRoeder: você coloca a parada onde precisa ser - Onde o motivo do comércio não é mais válido. Por exemplo. Ao negociar um salto de suporte, a parada fica abaixo do suporte. Porcentagem de saldo da conta RISCO (OrderOpenPrice - OrderStopLoss) DIR OrderLots DeltaPerlot (Nota OOP-OSL inclui o SPREAD) NÃO use TickValue por si só - DeltaPerlot Você também deve verificar o FreeMargin para evitar parar Re o que você coloca: 1. não entenda o que você quer dizer , Por favor esclareça 2. Ive já calculou o risco, então também não entendo seu ponto aqui. 3. Você provavelmente previu que, no meu código, tickValue é calculado como e de sua outra postagem no fórum de DeltaPerLot, deve ser 4. Eu já estou checando AccountFreeMargin na linha que atribui um valor ao riskCapital - ou você quis dizer em outro lugar Meu A resposta é: não e não. Por que você alterou o cálculo do seu lote (replicado abaixo para ilustração) com base em se a moeda da conta fazia parte do par de moedas Se RiskAmount, StoplossValue e PointValue (ou seja, uma relação de tickvalue e ticksize) são todos denominados em moeda de depósito, por que o Precisa determinar se a moeda da conta faz parte do par de moedas, eu não acredito que você precisa fazer isso. Eu não tenho certeza do que você quer dizer com o ajuste, mas stoploss neste cálculo (ou seja, lotes RiskAmount StoplossValue) deve ser um valor na moeda de depósito, não um tamanho em pips ou pontos. No trecho de código acima, o que acontecerá quando você arredondar. A resposta é que você arrisca mais do que você definiu em seu riskCapital. Eu acredito que o melhor curso é sempre arredondar para baixo (usando MathFloor ()). O que é sobre o maxlot. Embora a maioria de nós provavelmente nunca atinja nossos corretores no maxlot definido (o meu é 50 lotes padrão e ainda estou negociando apenas no lote padrão lt1)? Melhor verificar o lotes calculado contra o maxlot apenas para se certificar. O seguinte é a função de tamanho de posição fracionada fixa que estou usando atualmente. Não é perfeito, mas pode dar-lhe alguma visão dos meus comentários acima. Treze, obrigado pela sua contribuição. Eu mudei o meu cálculo devido a níveis de classificação de classificação de classificação de classificação de classificação de classificação de classificação de ano-ano de calculadora de babipipsschool. html que sugere diferentes cálculos com base em diferentes cenários. Eu já andei andando por aí com o mql4 por alguns meses, mas parece da sua postagem que existe uma maneira de contornar essas diferenças. Certamente, tendo diferentes maneiras de calcular o tamanho do lote mencionado no URL acima, eu preciso representar isso no código Bom ponto sobre o arredondamento para baixo - eu deveria estar fazendo isso. Também bom ponto sobre o maxlot, que eu preciso mudar. Eu também vejo em seu código sobre o calc de SL como um valor em vez de um número de pips. Cheers O que você acha sobre a modificação WHRoeders do seu código em sua postagem mais recente Isso é uma diferença bastante significativa.

No comments:

Post a Comment