Skip to main content

Forex Mql4 Error 130


Como vencer o Ordersend Erro 130 no MetaTrader 4 Por demanda popular, estratégias comprovadas sobre como vencer cada tradutor algorítmico8217s pior pesadelo 8211 Erro 130 Onde é que esse erro vem do que significa para o seu consultor especialista Como você pode encontrar a parte do seu código Isso está causando o erro Nós abordamos tudo isso e mais8230 Para começar, uma definição formal do nosso amigo, Documentação MQL4: That8217s direito Isso é tudo o que você obtém do MetaQuotes. E o rest8230 Go figure Orders Erro 130 é mencionado brevemente em outras seções da documentação. No entanto, não há um guia completo para o que o 8220Invalid Stops8221 realmente significa e como lidar com isso, talvez, o problema mais comum na programação de Forex. Mas não é uma preocupação por isso que escrevi esse artigo. Let8217s atravessam isso juntos O assassino silencioso So8230 você lançou seu consultor especialista e nada acontece. Não COMPRAR encomendas, sem encomendas de venda, sem pedidos pendentes, nem mesmo mensagens de erro no logs8230. Apenas silêncio. Você decide esperar algumas horas e semanas, e nada realmente muda 8211, as tabelas vão para cima e para baixo, mas você não consegue ver nenhum lucro. Isso pode durar forever8230 O motivo real é simples 8211 you8217re realmente obtendo ERRINVALIDSTOPS (qual é o termo técnico correto para o problema), mas você pode vê-lo. That8217s porque 130 é um assassino silencioso. Um assassino de sangue frio do seu cérebro e calma interna. Não há como retirar esse erro através de logs de especialistas ou mesmo registros de terminal. A única maneira de capturá-lo é adicionando mecanismos de segurança corretos em seu código. Aqui, um exemplo que você pode adaptar ao seu código: o que estamos fazendo aqui é tomar o número do ticket e que OrderSend () retorna e verificando se ele é menor do que zero. Se sim, então, esse é um sinal do MetaTrader 4, dizendo-nos que houve um problema com o pedido. O código de erro é impresso na tela usando Alert () e a função GetLastError () incorporada. Este código dará uma janela pop-up como na imagem acima na parte superior deste artigo. Nota: você pode usar Print () em vez de Alert () para redirecionar a mensagem diretamente para o log EA8217s em vez de exibi-lo na tela. Core of Ordersend Erro 130 Paradas inválidas é o nome real para o culpado com o qual estamos lidando hoje. Então, o que as paradas inválidas no MetaTrader 4 realmente significam Para um pedido de mercado (COMPRAR ou VENDER), as paradas inválidas significam que o StopLoss e o TakeProfit que você solicitou não foram possíveis para sua ordem. Portanto, uma vez que um pedido não pode ser preenchido apenas parcialmente, o pedido não foi executado. Para um pedido pendente (COMPRAR STOP, COMPRAR LIMITE, VENDER STOP ou VENDER LIMIT), as paradas inválidas significam que (1) houve problemas com o SLTP (O mesmo que acima) OU (2) a questão foi com o preço de entrada que você especificou para a própria ordem. Como podemos ver, a questão é sempre com um (ou muitos) dos preços que o seu Robot Forex especificou em sua solicitação para O servidor de comércio. Agora que conhecemos o nosso inimigo 8211 let8217s vencê-lo 1) StopLoss amp TakeProfit são preços Existem várias causas possíveis de ERRINVALIDSTOPS, e uma das mais freqüentes entre os iniciantes está especificando o StopLoss e TakeProfit em pips em vez de níveis de preços reais. Assim: com cuidado. Alguns EA8217 já possuem módulos que detectarão o número de dígitos após o decimal e ajustarão automaticamente seus parâmetros de entrada para você. Nessas situações, multiplicar as entradas em 10 pode realmente levar a um desempenho incorreto. Nota: Planejo publicar um artigo separado onde discutiremos como criar nossos próprios módulos para detectar o número de dígitos após o decimal 3) As contas ECN dos corretores ECN têm suas próprias especificidades. Um deles é 8211 ao negociar através de um corretor ECN, você não poderá definir um StopLoss e ou TakeProfit com seu Pedido de Mercado (COMPRAR ou VENDER). Se você tentar fazer isso, você obterá o Erro 130. No entanto, é claro, você precisa definir um StopLoss (e talvez TakeProfit) para o seu pedido e isso deve ser feito o mais rápido possível após o pedido ter sido executado. Experimente este código: Você pode adicionar esta função ao seu código (no final) e depois usá-lo em vez de OrderSend () no seu código principal. Esta função adiciona um passo extra no processo de envio de um pedido de mercado. Em primeiro lugar, ele envia o pedido para executar uma ordem de mercado eliminando o StopLoss e o TakeProfit. Em seguida, modifica o pedido de mercado recém-aberto, adicionando o SL e TP desejado. Existe, é claro, o risco de a ordem ser executada, mas a modificação falhará. No entanto, nesse caso, a função notificará prontamente o comerciante de que o StopLoss e o TakeProfit não foram configurados. Sinta-se à vontade para modificar esta função de acordo com suas necessidades e estilo de negociação. 4) Stop-Levels Stop-Levels é um mecanismo para que os corretores se protejam de certos riscos relacionados com a volatilidade e a liquidez. Em termos simples, você não poderá definir seu StopLoss ou TakeProfit OU qualquer pedido pendente mais próximo do que um número predeterminado de Pips para o preço de mercado atual. Para descobrir o que o Nível de Parada é para um par de moedas específico, você precisa pressionar CTRLU no seu teclado, selecione o par de moedas desejado e clique no botão 8220Properties8221 como mostrado na ilustração abaixo: Neste exemplo, o Nível de Parada para AUDUSD é 3 Pips . Isso significa que você não poderá configurar o StopLoss para o seu pedido mais próximo do que 3 Pips para o preço no qual o pedido será aberto. Isso também significa que qualquer pedido pendente terá que ser definido pelo menos 3 Pips longe do preço atual do mercado. Se você Robot tentar quebrar essas regras e definir um StopProcessPro Demanda de Stop ou Ordem Pendente dentro do intervalo de Nível de Parada, então receberá o Erro 130 8220Invalid Stops8221. Então, fique atento ao Nível de Parada da moeda onde seus EA8217s estão negociando 8211 don8217t especifique parâmetros de StopLoss e TakeProfit excessivamente pequenos. Também vale a pena notar que os pares de moedas mais exóticas podem ter níveis de parada muito mais significativos. Por exemplo, para AUDNZD, o Nível de Parada com o mesmo corretor que no exemplo acima é de 20 Pips. Para GBPSEK (British Pound vs Swedish Krone) 8211 it8217s 100 Pips. 5) Normalização de duplas Com alguns corretores, você descobrirá que, por um motivo desconhecido, os preços Ask e Bid são transferidos para o comerciante com dígitos insignificantes adicionais após a decimal. Por exemplo: Em vez de 1.1606, o corretor lhe daria 1.160600001 Agora, esse fenômeno não tem efeito sobre o comércio manual, além disso, uma vez que o terminal MT4 está conectado para exibir um certo número de dígitos após o ponto decimal (4 ou 5) 8211 você não irá Pode notar qualquer diferença. No entanto, esses 8216 insonceptíveis8217 dígitos após o decimal podem ter um efeito dramático sobre Expert Advisors causando823082308230 that8217s direito Nosso velho amigo, OrderSend Error 130 Here8217s uma estratégia que eu uso pessoalmente para proteger meus Robots deste problema: This Pequeno truque limpo permite que você normalize (em termos simples 8211 Round) todos os preços que você está inserindo na função OrderSend (). Desta forma, você cortou todos os dígitos 8216ignificáveis8217 após o ponto decimal. Conclusão Hoje, vimos que pode haver várias causas (pelo menos 5) para o erro 130. Embora isso seja bastante, as questões subjacentes são triviais e podem ser corrigidas em questão de minutos. Portanto, o Erro 130 não deve ser temido Se você encontrou este culpado, é apenas uma questão de passar pela lista acima, encontrando a situação que se aplica a você e aplicando a solução prescrita. Espero que você tenha encontrado este artigo útil. Deixe-me saber se você tem alguma dúvida usando a seção de comentários abaixo. O que você está esperando PARA COMEÇAR COM O FOREX TRADING ADADEMY 2014-2016 ForexBoat. Todos os Direitos Reservados Forexboat Pty Ltd (ABN: 29 609 855 414), um Representante Autorizado Corporativo (AR No. 001238951) da HLK Group Pty Ltd (ACN: 161 284 500) que detém uma Licença Australiana de Serviços Financeiros (AFSL nº 435746). Qualquer informação ou conselho contida neste site é de natureza geral e não constitui um conselho pessoal ou de investimento. Não aceitamos qualquer responsabilidade por qualquer perda ou dano, incluindo, sem limitação, qualquer perda de lucro, que possa surgir direta ou indiretamente do uso ou dependência de tal informação. Você deve buscar conselhos financeiros independentes antes de adquirir um produto financeiro. Todas as operações de produtos e instrumentos financeiros e de valores mobiliários envolvem riscos. Lembre-se de que os resultados do desempenho passado não são necessariamente indicativos de resultados futuros. A informação neste site pode ser acessada em todo o mundo, no entanto, não é direcionada a residentes em qualquer país ou jurisdição onde tal distribuição ou uso seja contrário à lei ou regulamentação local. Forexboat Pty Ltd não está registrado com nenhum regulador dos EUA, incluindo a National Futures Association (8220NFA8221) e Commodity Futures Trading Commission (8220CFTC8221), portanto, os produtos e serviços oferecidos neste site não são destinados a residentes nos Estados Unidos. Complete este formulário e clique no botão abaixo para iniciar seu treinamento gratuito OrderSend (símbolo de seqüência simbólico int cmd. Operação duplo volume volume duplo preço preço deslizamento int escorregador dupla desdobramento stop loss double takeprofit take profit string comentárioNULL. Magic0. Magic number datetime expiration0. Pendente de ordem de cor de incorrer cor arrowcolorclrNONE) em Symbol for trading. No tipo de operação. Pode ser qualquer da enumeração da operação comercial. Em número de lotes. Em Deslizamento máximo do preço para comprar ou vender ordens. Em Stop loss level. Em Tire o nível de lucro. No texto do comentário da ordem. A última parte do comentário pode ser alterada pelo servidor. Em ordem número mágico. Pode ser usado como identificador definido pelo usuário. No prazo de caducidade da ordem (somente para pedidos pendentes). Em Cor da seta de abertura no gráfico. Se o parâmetro estiver faltando ou a seta de abertura do valor CLRNONE não for desenhada no gráfico. Retorna o número do ticket atribuído à ordem pelo servidor de comércio ou -1 se falhar. Para obter informações de erro adicionais, é necessário chamar a função GetLastError (). Na abertura de um pedido de mercado (OPSELL ou OPBUY), apenas os preços mais recentes da Oferta (para venda) ou Perguntar (para compra) podem ser usados ​​como preço aberto. Se a operação for realizada com uma segurança diferente da atual, a função MarketInfo () deve ser usada com o parâmetro MODEBID ou MODEASK para obter as últimas cotações para essa segurança. O preço calculado ou não normalizado não pode ser aplicado. Se não houve o preço aberto solicitado no segmento de preço ou não foi normalizado de acordo com a quantidade de dígitos após o ponto decimal, o erro 129 (ERRINVALIDPRICE) será gerado. Se o preço aberto solicitado estiver totalmente desactualizado, o erro 138 (ERRREQUOTE) será gerado de forma independente no parâmetro de deslizamento. Se o preço solicitado estiver desactualizado, mas presente no segmento, a ordem será aberta no preço atual e somente se o preço atual estiver dentro da faixa de preço-derrapagem. Os níveis StopLoss e TakeProfit não podem estar muito perto do mercado. A distância mínima dos níveis de parada nos pontos pode ser obtida usando a função MarketInfo () com o parâmetro MODESTOPLEVEL. No caso de níveis de paragem errados ou não normalizados, o erro 130 (ERRINVALIDSTOPS) será gerado. Um valor zero de MODESTOPLEVEL significa ausência de restrições sobre a distância mínima para Stop LossTake Profit ou o fato de que um servidor de comércio utiliza alguns mecanismos externos para controle de nível dinâmico, que não podem ser traduzidos no terminal do cliente. No segundo caso, GetLastError () pode retornar o erro 130, porque MODESTOPLEVEL está realmente quotfloatingquot aqui. Ao colocar uma ordem pendente, o preço aberto não pode ser muito próximo ao mercado. A distância mínima do preço pendente do mercado atual em pontos pode ser obtida usando a função MarketInfo () com o parâmetro MODESTOPLEVEL. Em caso de falso preço aberto de uma ordem pendente, o erro 130 (ERRINVALIDSTOPS) será gerado. A aplicação do tempo de caducidade pendente pode ser desativada em alguns servidores comerciais. Nesse caso, quando um valor diferente de zero for especificado no parâmetro de expiração, o erro 147 (ERRTRADEEXPIRATIONDENIED) será gerado. Em alguns servidores de comércio, a quantidade total de pedidos pendentes e pendentes pode ser limitada. Se esse limite foi excedido, nenhuma nova ordem será aberta (ou nenhuma ordem pendente será colocada) e o servidor de troca retornará o erro 148 (ERRTRADETOOMANYORDERS). -------------------------------------------------- ---------------- Função de início do programa de script ------------------------------ ------------------------------------ void OnStart () --- obtenha o mínimo de nível de parada double minstoplevel MarketInfo (Símbolo (), MODESTOPLEVEL) Imprimir (quotMinimum Stop Levelquot, minstoplevel, quot pointsquot) preço duplo Peça --- os preços calculados de SL e TP devem ser normalizados dupla folga NormalizeDouble (Bid - minstoplevel Point Point Digs) double takeprofit NormalizeDouble (Bid minstoplevel Point Digits) --- colocar o pedido de mercado para comprar 1 lot Int ticket OrderSend (Symbol (), OPBUY, 1, preço, 3, stoploss, takeprofit, quotMy orderquot, 16384,0, clrGreen) if (ticketlt0) Imprimir (quotOrderSend falhou) Com erro. GetLastError ()) else Print (quotOrderSend colocado com sucesso)

Comments

Popular posts from this blog

Forex Signals Trading Systems To Autotrade For Free

Registre-se primeiro e receba a confirmação, faça o login com sua senha de identificação. Escolha o seu pacote e compre-o agora. Você receberá a opção de pagamento como segue: 01. Paypal. 02. Payza. 03. Moneybookers. 04. Mastercard. 05. Dinheiro perfeito. 06. NETELLER. 07. Webmoney. 08. EGO Pay. 09. Pagamento de confiança sólido. Aceitamos o Dólar dos Estados Unidos somente por meio de - PayPal, Neteller, Web-Money, Perfect-Money, Payza, Moneybooker, EGO-Pay, Solid Trust Pay, Master-Card. Alguns pagamentos que aceitamos manualmente Exemplo: Neteller, Web-Money, Payza, EGO-Pay, Solid Trust Pay, MasterCard. Se você precisar de um refúgio de pagamento entre em contato conosco por supportforexprofitsignal Fundada em 2010, forexprofitsignal é um site educacional forex e uma comunidade de comerciantes independentes. Nós nos esforçamos para ser o site mais útil para comerciantes estrangeiros independentes no mundo. Infelizmente, o mundo forex é preenchido com ricos esquemas rápidos, campos de

Mobofelax Forex System Free Download

Mobofelax Forex System Free Download Forex Mobofelax Forex System Free Download Automated Forex Trading Trabalhando para Você no Autopilot Trading 242155 É Possível Numerosos comerciantes tentam negociar com um robô FX, mas muitas vezes ficam frustrados porque a maioria deles não cumpre a promessa produzida pelos vendedores . Muitos sites de robô FX não são mais que campanhas publicitárias. Não é de admirar que numerosos comerciantes agora tenham perdido fé em outro robô forex como resposta aos seus problemas. A cada duas semanas, você vai encontrar um novo robô FX lançado com muita campanha publicitária criando grandes promessas. A realidade é que a maioria dos comerciantes simplesmente não sabe como você pode fazer funcionar esses robôs. Não havia Santo Graal na negociação. Nenhum sistema comercial pode prometer 100 negociações vencedoras. Sempre haverá trocas perdidas com qualquer sistema de negociação, não importa o quão bom. O que é muito mais essencial é o desempenho a longo praz

Free Forex Trading Manual Pdf

Tutorial de negociação Forex para iniciantes Faça Forex Trading Anotação simples O que é negociado no mercado Forex A resposta é simples: moedas de vários países. Todos os participantes do mercado compram uma moeda e pagam outra por ela. Cada comércio de Forex é realizado por diferentes instrumentos financeiros, como moedas, metais, etc. O mercado de câmbio é ilimitado, com o volume de negócios diário atingindo trilhões de dólares, as transações são feitas via internet em segundos. As principais moedas são cotadas contra o dólar americano (USD). A primeira moeda do par é chamada de moeda base e a segunda - citada. Os pares de moedas que não incluem USD são chamados de taxas cruzadas. O Forex Market abre amplas oportunidades para os recém-chegados aprender, comunicar e melhorar as habilidades comerciais através da Internet. Este tutorial Forex destina-se a fornecer informações detalhadas sobre o comércio de Forex e facilitar a participação dos iniciantes. Forex Trading Basics for Beginn