Forex e erro 130
Eu cansado abrir ordens no sistema de teste e também recebeu e erro 130. Foi-me dito por Oanda você não pode abrir encomendas via EAs em uma conta de prática só ao vivo. Obviamente, seria insano testá-lo ao vivo. Eles disseram que estão olhando para ele, o que quer que isso signifique. Bottom line, se eu não posso testá-lo, Im não usá-lo. No entanto, você pode executar o EA no testador de estratégia. Mas thats doesnt fazê-lo para mim, eu preciso ter certeza que o meu negociado estão sendo executados propriedade com Oanda ea única maneira em minha mente para fazê-lo é tê-lo comércio na conta demo em primeiro lugar. Estou testando meu EA na plataforma metatrader Oanda. No entanto, eu simplesmente não consigo abrir uma posição com Ordersend. O que está errado com a ordem que eu encontrei mais tarde e resposta que funcionou para mim ir para: ToolsgtOptionsgtExpert Advisors TabgtCheck caixa que diz quotAllow Live Tradingquot (): Erro Ordersend (130): tamanho do lote: 0.1, Pergunte: 1.3969, SL: 1.3899, TP: E salvar a alteração. Você deve começar um sorriso face no canto superior direito do gráfico. Além disso, a conta que você está negociando deve ser configurada como uma conta MT4 com o Oanda. Ou seja, você pode criar uma sub-conta e quando o fizer, ele tem uma opção para MT4 habilitado. Espero que isso ajude alguém. Mais tarde, encontrei e resposta que trabalhou para mim ir para: ToolsgtOptionsgtExpert Assessores caixa TabgtCheck que diz quotAllow Live Tradingquot e salvar a alteração. Você deve começar um sorriso face no canto superior direito do gráfico. Além disso, a conta que você está negociando deve ser configurada como uma conta MT4 com o Oanda. Ou seja, você pode criar uma sub-conta e quando o fizer, ele tem uma opção para MT4 habilitado. Espero que isso ajude alguém. Isso não tem nada a ver com o erro 130. Como vencer o erro Ordersend 130 no MetaTrader 4 Por demanda popular, estratégias comprovadas sobre como vencer cada pior pesadelo algoritmo trader8217s 8211 Erro 130 De onde vem esse erro O que isso significa para o seu Expert Advisor Como você pode encontrar a parte do seu código que está causando o erro Nós atacamos tudo isso e more8230 Para começar, uma definição formal de nosso amigo, MQL4 Documentação: That8217s direito Isso é tudo que você começa a partir do MetaQuotes. E o rest8230 Ir figura Ordem Error 130 é brevemente mencionado em outras seções da documentação. No entanto, não há nenhum guia completo para o que 8220Invalid Stops8221 realmente significa e como lidar com isso, talvez, problema mais comum na programação Forex. Mas não é uma preocupação porque eu escrevi este artigo. Let8217s passar por isso juntos O assassino silencioso So8230 você lançou seu conselheiro perito and8230 nada acontece. Nenhuma ordem de COMPRA, nenhuma ordem de VENDA, nenhuma ordem pendente, nem mesmo mensagens de erro no logs8230. Apenas silêncio. Você decide esperar algumas horas dias semanas, e nada realmente muda, as tabelas vão para cima e para baixo, mas você não vê nenhum lucro. Isso pode continuar eternamente. A verdadeira razão é que você realmente está recebendo ERRINVALIDSTOPS (que é o termo técnico correto para o problema), mas você não pode vê-lo. That8217s porque 130 é um assassino silencioso. Um assassino de sangue frio de seu cérebro e calma interior Não há nenhuma maneira de pegar esse erro através de logs conselheiro perito ou mesmo registros de terminal. A única maneira de pegá-lo é adicionando os mecanismos failsafe direito em seu código. Aqui está um exemplo que você pode adaptar ao seu código: O que estamos fazendo aqui é pegar o número do ticket e que OrderSend () retorna e verificar se ele é menor que zero. Se sim, então isso é um sinal do MetaTrader 4 dizendo-nos que houve um problema com o pedido. O código de erro é então impresso para fora na tela usando Alert () ea 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 de EA8217s em vez de exibi-la na tela. Core of Ordersend Error 130 Paradas inválidas é o nome real para o culpado que estamos lidando com hoje. Então, o que faz paradas inválidas no MetaTrader 4 realmente significa Para uma ordem de mercado (COMPRAR ou VENDER) paradas inválidas significa que o StopLoss andor TakeProfit que você solicitou não foram possível definir para o seu pedido. Portanto, uma vez que uma solicitação não pode ser cumprida apenas parcialmente, a ordem não foi executada de forma alguma. Para uma ordem pendente (COMPRAR PARAR, COMPRAR LIMITE, VENDAR PARADA ou LIMITE DE VENDA) pára válido significa que (1) houve problemas com o SLTP (O mesmo que acima) OU (2) a edição era com o preço de entrada que você especificou para a ordem próprio Como nós podemos ver, a edição é sempre com um (ou muitos) dos preços que seu robô de Forex especificou em sua O servidor de comércio. Agora que sabemos que nosso inimigo 8211 let8217s vencê-lo 1) StopLoss amp TakeProfit são preços Existem várias causas possíveis de ERRINVALIDSTOPS, e um dos mais freqüentes entre os iniciantes é especificar o StopLoss e TakeProfit em pips em vez de níveis de preços reais. Como este: No entanto, tenha cuidado Alguns EA8217s já têm módulos que irá detectar o número de dígitos após o decimal e irá ajustar automaticamente os parâmetros de entrada para você. Nessas situações, multiplicar entradas por 10 pode realmente levar a um desempenho errado. Nota: Eu pretendo publicar um artigo separado onde discutiremos como criar nossos próprios módulos para detectar o número de dígitos após a decimal. 3) ECN corretores ECN contas têm suas próprias especificidades. Um deles é 8211 ao negociar através de um corretor ECN você não será capaz de definir um StopLoss andor TakeProfit com sua ordem de mercado (COMPRAR ou VENDER). Se você tentar fazer este 8211 você começará o erro 130. Entretanto, naturalmente, você necessita ajustar um StopLoss (e talvez TakeProfit) para sua ordem, e este deve ser feito assim que possível depois que a ordem foi executada. Tente este código: Você pode adicionar esta função ao seu código (no final) e, em seguida, usá-lo em vez de OrderSend () no seu código principal. Esta função adiciona uma etapa extra no processo de envio de uma Ordem de Mercado. Primeiro, ele envia a solicitação para executar uma ordem de mercado removendo o StopLoss e TakeProfit. Em seguida, modifica a ordem de mercado recentemente aberta, adicionando o SL e TP desejados. Há, naturalmente, um risco de que a ordem será executada, mas a modificação falhará. No entanto, nesse caso, a função prontamente notificar o comerciante que o StopLoss e TakeProfit não foram definidos. Sinta-se livre para modificar esta função para atender às suas necessidades e estilo de negociação. 4) Stop-Levels Stop-Levels são um mecanismo para os corretores se protegerem de certos riscos relacionados à volatilidade e à liquidez. Em termos simples, você não será capaz de definir o seu StopLoss ou TakeProfit OU qualquer ordem pendente mais perto de um número predeterminado de Pips para o preço de mercado atual. Para descobrir o que o Stop Level é 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 é de 3 pips . Isso significa que você não será capaz de definir o StopLoss para sua ordem mais próxima de 3 pips para o preço em que a ordem será aberta. Isso também significa que qualquer ordem pendente terá que ser definida pelo menos 3 Pips de distância do preço de mercado atual. Se o Robot tentar quebrar essas regras e definir um StopProduct StopLoss ou Ordem Pendente dentro do intervalo Nível de Parada, então ele receberá Erro 130 8220Invalid Stops8221. Portanto, apenas tenha em mente o nível de parada da moeda em que seu EA8217s está negociando 8211 don8217t especifique parâmetros StopLoss e TakeProfit excessivamente pequenos. Também vale a pena notar que pares de moedas mais exóticos podem ter níveis de parada muito mais significativos. Por exemplo, para AUDNZD o Stop Level com o mesmo corretor como no exemplo acima é de 20 Pips. Para GBPSEK (libra britânica contra a coroa sueco) 8211 it8217s 100 pips. 5) Normalização de duplas Com alguns corretores você vai achar que por uma razão desconhecida os preços Ask e Bid são passados para o comerciante com dígitos adicionais desprezíveis após o decimal. Por exemplo: Em vez de 1.1606 o corretor lhe daria 1.160600001 Agora este fenômeno não tem nenhum efeito na troca manual, além disso desde que o terminal MT4 é hardwired para indicar um determinado número dos dígitos após o ponto decimal (ou 4 ou 5) 8211 você não Ser capaz de notar qualquer diferença em tudo No entanto, estes 8216negligible8217 dígitos após o decimal pode ter um efeito dramático sobre Expert Advisors causando 823082308230 that8217s direito Nosso velho amigo, OrderSend Error 130 Here8217s uma estratégia que eu pessoalmente uso para proteger os meus robôs a partir desta questão: Pequeno truque permite que você normalize (em termos simples 8211 Round) quaisquer preços que você está entrando na função OrderSend (). Desta forma você cortar todos os 8216negligible8217 dígitos após o ponto decimal. Conclusão Hoje vimos que pode haver múltiplas causas (pelo menos 5) para o erro 130. Embora este seja um bom número, os problemas subjacentes são todos triviais e podem ser corrigidos em questão de minutos. Portanto, o erro 130 não deve ser temido Se você encontrou este culpado, it8217s apenas uma questão de passar pela lista acima, encontrar a situação que se aplica a você e aplicar a solução prescrita. Espero que você tenha encontrado este artigo útil Deixe-me saber se você tiver alguma dúvida usando a seção de comentários abaixo. O que você está esperando PARA COMEÇAR COM A FOREX TRADING ACADEMYError 130 - parar inválido. Por que ERRNOERROR 0 Não retornou nenhum erro. ERRNORESULT 1 Não retornou nenhum erro, mas o resultado é desconhecido. ERRCOMMONERROR 2 Erro comum. ERRINVALIDTRADEPARAMETERS 3 Parâmetros comerciais inválidos. ERRSERVERBUSY 4 O servidor comercial está ocupado. ERROLDVERSION 5 Versão antiga do terminal do cliente. ERRNOCONNECÇÃO 6 Nenhuma conexão com o servidor comercial. ERRNOTENOUGHRIGHTS 7 Não há direitos suficientes. ERRTOOFREQUENTREQUESTS 8 Demandas muito frequentes. ERRMALFUNCTIONALTRADE 9 Operação comercial incorreta. ERRACCOUNTDISABLED 64 Conta desativada. ERRINVALIDACCOUNT 65 Conta inválida. ERRTRADETIMEOUT 128 Tempo de espera. ERRINVALIDPRICE 129 Preço inválido. ERRINVALIDSTOPS 130 Paradas inválidas. Volume de negócios inválido. ERRMARKETCLOSED 132 O mercado está fechado. ERRTRADEDISABLED 133 O comércio está desativado. ERRNOTENOUGHMONEY 134 Não há dinheiro suficiente. ERRPRICECHANGED 135 Preço alterado. ERROFFQUOTES 136 Fora das aspas. Broker está ocupado. ERRREQUOTE 138 Exigir. ERRORDERLOCKED 139 A ordem está bloqueada. Posições longas apenas permitidas. ERRTOOMANYREQUESTS 141 Demasiados pedidos. ERRTRADEMODIFYDENIED 145 Modificação negada por ordem muito próxima do mercado. ERRTRADECONTEXTBUSY 146 O contexto comercial está ocupado. ERRTRADEEXPIRATIONDENIED 147 As expirações são negadas pelo corretor. O montante das encomendas pendentes e pendentes atingiu o limite fixado pelo corretor. StopLossLevel NormalizeDouble (Low, Dígitos) CalcStopLossPips (MathAbs (Bid StopLossLevel)) pp if (UseTakeProfit) TakeProfitLevel NormalizeDouble (Bid - TakeProfitSell Point, , DoubleToStr (TakeProfitLevel, Dígitos)) OrderSend (Símbolo (), OPSELL, lotsForOrder, NormalizeDouble (Bid, Dígitos), Slippage, NormalizeDouble (Bid (CalcStopLossPips Point), Dígitos) O que fazer 6 de outubro de 2008 (Última atualização em 22 de outubro de 2016) por Andriy Moraru Os conselheiros especialistas que trabalham em um corretor (NormalizeDouble, TakeProfitLevel, Dígitos), Sell (InternalMagicNumber), InternalMagicNumber, Pode parar de trabalhar em outro o problema com eles encontra-se frequentemente em OrderSend Erro 130. Se você vir o erro 130 no registro de sua plataforma de MetaTrader quando seu perito conselheiro deve abrir uma posição, a seguir aquela significa que o stop-loss ou a tomada - profissão níveis são ajustados para perto do preço de mercado atual. Na documentação MQL este erro é chamado ERRINVALIDSTOPS (laquoInvalid stopsraquo). Alguns corretores de Forex definir a distância mínima entre o preço atual e os níveis stop-loss take-profit para evitar scalping ou abusar dos atrasos citação. Isso não é um problema real para a maioria dos consultores especializados que não usam scalping. Para impedir que este erro ocorra, você precisará alterar o código expert8217s. Primeiramente, você pode querer saber what8217s o stoplevel mínimo é ajustado em seu servidor de MetaTrader de broker8217s. Adicionando esta linha de código será saída o nível mínimo atual para o par de moedas do gráfico, onde você executa o EA: Você shouldn8217t estar usando stop-loss ou take-profit nível, que estão mais perto do que MarketInfo (Symbol (), MODESTOPLEVEL) Ao preço de mercado atual. Se o seu EA calcula paradas e take-profits dinamicamente, isso é o que eu sugiro que você faça: Declare uma variável global para o StopLevel mínimo, por exemplo. Pode haver escorregamento muito pequeno é a causa do erro 130. O deslize é 3. O que é 3, e. Preço 1.1111 3 1.1114 é permitido ou 1.11111 3 1.11114 é permitido Se 3 pips são normais ou fracionários depende da implementação particular de EA, mas o OrderSend Error 130 não tem nada a ver com deslizamento, mas sim com a taxa de SL, TP ou uma ordem pendente 8217s aberta preço. Parabns para explicar do erro 130. E parabns por ajudar e esclarecer os nefitos de EA. Gostei da simplicidade da explanação. I allways got ordersend erro 130 é muito rentável scalper mq4 você pode por favor corrigir esta ordem enviar erro eu posso enviar-lhe Oi, Será que o cálculo de 8230 ainda Mantenha verdadeiro para um corretor de 5 dígitos Ou faz o valor de StopLevel precisa ser dividido por 10 Ainda é válido mesmo para corretores de 5 dígitos. Oi Meu problema é o bilhete todos os dias é -1. TicketOrderSend (8230 ..) O que posso fazer
Comments
Post a Comment