Saturday, 28 December 2019

Lot size forex metatrader 4


Quando eu estou usando o MT4 no modo online com meu corretor atual (Oanda), posso usar tamanhos de lote de 2 dígitos (por exemplo: 0.11), mas se eu fizer teste para trás em um fim de semana onde eu tenho que usar o modo off-line para poder Use os spreads de semana e não o spread de fim de semana para todo o teste Eu só posso usar tamanhos de lote de 1 dígito (por exemplo, 0.1). Se eu tentar usar tamanhos de lote de 2 dígitos, recebo um erro de 131. Alguém sabe onde definir a quantidade de dígitos do tamanho do lote para o modo off-line. Mais provável, o problema não está offline, mas seu código (o que você não mostra e não há leitores mentais aqui.) Não há mágica aqui. Eu apenas estou usando o método OrderSend: posso executá-lo com um volumne de 0.12 no modo online e no modo off-line, ele lançará um erro 131. A questão é essa. Retorna 0,01 no modo online e 0,1 no modo off-line. PORQUE. Retorna 0,01 no modo online e 0,1 no modo off-line. PORQUE. Eu pensei que você estava falando sobre executar o testador sem uma conexão de rede para controlar a propagação. Nada deveria estar mudando. Descreva exatamente o seu procedimento. Você instalou em arquivos de programa no VistaWin7 Você está falando sobre um gráfico off-line, como Renko, barras de intervalo, etc. Você não pode usar o MarketInfo (Symbol ().) Ou MarketInfo (NULL.) Porque o servidor não possui conhecimento de um gráfico off-line . Você deve usar o símbolo REAL para esses valores. Sim. MT4 é instalado em c: Arquivos de programas no Win7. Você está falando sobre um gráfico off-line, como Renko, barras de intervalo etc. Você não pode usar o MarketInfo (Symbol ().) Ou MarketInfo (NULL) porque o servidor não possui conhecimento de um gráfico off-line. Você deve usar o símbolo REAL para esses valores. Os dados que estou usando foram baixados da histdata. Está retornando 0,1 também. Ele deve retornar 0.01 Download MetaTrader 5 Copyright 2000-2017, MQL5 Ltd. Lets dizem que minha conta mini tem 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 o 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 (quotEURUSDmquot, MODEMINLOT)) valor .01 PERGUNTA: Como faço para calcular o tamanho do lote para 200 (seria útil conhecer o custo de um lote de tamanho mínimo. Neste caso, o tamanho mínimo é .01). PERGUNTA: A fórmula de cálculo do tamanho do lote é a mesma para todos os pares de moedas Obrigado com muito antecedência. 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 de negócios. 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 tiver uma 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 De sua margem inicial perdida se a perda de parada for tomada. Você também deseja normalizar o valor resultante pelo MODELOTSTEP e cap-lo 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 de negócios. 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 tiver uma 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 De sua margem inicial perdida se a perda de parada for tomada. Você também deseja normalizar o valor resultante pelo MODELOTSTEP e cap-lo 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, seus 10 proporcionando 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) LotStep

No comments:

Post a Comment