forex.pm forex forum binary options trade - Forex - Forex ea error 130.
  • Welcome to forex.pm forex forum binary options trade. Please login or sign up.
 

Forex ea error 130.

Started by admin, Aug 19, 2020, 08:06 am

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

admin

Forex ea error 130.
Estou tentando executar várias EAs em dados históricos e continuar recebendo quotOrderSend erro 130quot para ACOMODAR e VENDER pedidos sem qualquer lógica. Isso ocorre na maioria dos sinais e eu baixei 10 diferentes EAs de domínio público e nenhum trabalho na maioria dos sinais em diferentes resoluções (1M, 1H 4H . ). Estou bem ciente do que o erro significa e eu sou um programador experiente, eu estou imitando valores corretos para stop-loss e take-profit. Eu uso o software metatrader baixado do corretor FxPro. O parâmetro Stop-Level é sempre definido como 100 sob quotSymbol Propertiesquot da maioria dos símbolos, que parece muito comparado ao spread anunciado, mas mesmo quando eu mudo os parâmetros take-profit stop-loss aprovados pelo OrderSend, para algo maior do que 100 não faz importam. Sempre recebo esse temido Erro 130 Estou tentando executar várias EAs em dados históricos e continuar recebendo quotOrderSend erro 130quot para ACOMPAR e VENDER pedidos sem qualquer lógica. Isso ocorre na maioria dos sinais e eu baixei 10 diferentes EAs de domínio público e nenhum trabalho na maioria dos sinais em diferentes resoluções (1M, 1H 4H . ). Estou bem ciente do que o erro significa e eu sou um programador experiente, eu estou imitando valores corretos para stop-loss e take-profit. Eu uso o software metatrader baixado do corretor FxPro. O parâmetro Stop-Level é sempre definido como 100 sob quotSymbol Propertiesquot da maioria dos símbolos, que parece muito comparado ao spread anunciado, mas mesmo quando eu mudo os parâmetros take-profit stop-loss aprovados pelo OrderSend, para algo maior do que 100 não faz importam. Eu sempre recebi esse temido Erro 130 Eu baixei o software metatrader da Alpari e minha EA e os baixados parecem funcionar. 10 horas desperdiçadas graças ao FxProHow para vencer o Ordersend Error 130 no MetaTrader 4 Por demanda popular, estratégias comprovadas sobre como vencer todos os comerciantes algorítmicos8217s 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 que está causando o erro Nós abordamos tudo isso e mais8230 Para começar, uma definição formal do nosso amigo, MQL4 Documentação: That8217s direito Isso é tudo o que você obtém do MetaQuotes. E o rest8230 Go figure Ordersend O 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 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 pedidos, sem encomendas, pedidos não pendentes, nem mesmo mensagens de erro no logs8230. Apenas silêncio. Você decide esperar algumas horas por semana, 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 recebendo 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 interior. 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 os 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 é um sinal do MetaTrader 4 nos dizendo que houve um problema com o pedido. O código de erro é então 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 do 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 significa que o StopLoss andor TakeProfit que você solicitou não foi possível definir para o seu pedido. 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 LIMIT, VENDER STOP ou LIMIT DE VENDA), 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 seu Robô de 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 StopLoss e TakeProfit em pips em vez de níveis de preço reais. Assim: tenha cuidado. Alguns EA8217 já possuem módulos que irão detectar 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 errado. 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 andor 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 seu pedido, e isso deve ser feito o mais rápido possível após o pedido ter sido executado. Tente 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 uma etapa extra no processo de envio de um pedido de mercado. Em primeiro lugar, ele envia o pedido para executar uma ordem de mercado retirando o StopLoss e o TakeProfit. Em seguida, ele 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 livre 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á configurar seu StopLoss ou TakeProfit OU qualquer pedido pendente mais próximo do que um número predeterminado de Pips para o preço atual do mercado. 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 é de 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 Pedido pendente dentro do intervalo de Nível de Parada, então receberá o Erro 130 8220Invalid Stops8221. Então, lembre-se do Nível de Parada da moeda onde seus EA8217s estão negociando 8211 don8217t especificam 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 Crown Sueco) 8211 it8217s 100 Pips. 5) Normalização de duplas Com alguns corretores você encontrará 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 casa decimal. Por exemplo: Em vez de 1.1606, o corretor lhe daria 1.160600001 Agora, esse fenômeno não tem efeito na negociação 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 este seja um pouco, os problemas subjacentes são triviais e podem ser corrigidos 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 A ADADEMIA DE NEGOCIAÇÃO Forex TRABALHOS DE COMERCESO DE FÓRDEOSEmitir Erro 131 em MetaTrader 4 10 de julho de 2008 (Última atualização em 5 de dezembro de 2009) por Andriy Moraru OrderSend O erro 131 é um problema muito popular que costuma ser encontrado ao testar MT4 consultores especializados. O que causa esse erro It146s chamado ERRINVALIDTRADEVOLUME no código MT4. Isso significa que seu consultor especialista está tentando enviar um pedido com volume comercial inválido. Na maioria absoluta dos corretores MT4 definindo alguns EA para abrir uma ordem, 0.123 lotes gerarão esse erro. Mas, às vezes, ele gerou quando a EA, criada para mini ou micro contas, é usada na conta padrão. Se você tropeçar no OrderSend Error 131 durante o seu teste, você pode descobrir rapidamente as configurações erradas do seu EA 8212 encontrar a função init () padrão dentro do seu código EA146s e inserir estas linhas de código lá: Print (MarketInfo (Symbol () MODELOTSIZE)) Imprimir (MarketInfo (Symbol (), MODEMINLOT)) Imprimir (MarketInfo (Symbol (), MODELOTSTEP)) Imprimir (MarketInfo (Symbol (), MODEMAXLOT)) A primeira linha lhe dará as informações sobre quantas unidades de um lote Detém quando você troca essa conta (100000 significaria um lote de tamanho padrão). Lembre-se de que, em seu registro de consultor especializado, esta linha será primeiro começando de baixo para cima, e não vice-versa. A segunda linha irá dizer-lhe o montante mínimo de lotes que você pode negociar (este é o erro mais comum que você provavelmente precisará corrigir o montante de lotes que seus negócios de EA de 0,1 a 1). O terceiro dará o passo mínimo para o volume comercial em lotes.

admin

A quarta linha irá dizer-lhe a quantidade máxima de lotes que sua EA pode negociar. Por exemplo, a conta de demonstração no FXOpen gera essa informação quando inseri essas linhas no código: 2008.07.10 15:13:37 MACD Sample EURUSD, H1: 10000 2008.07.10 15:13:37 MACD Sample EURUSD, H1: 0.01 2008.07 .10 15:13:37 MACD Amostra EURUSD, H1: 0,01 2008.07.10 15:13:37 MACD Amostra EURUSD, H1: 100000 Isso significa que 1 lote é de 100.000 unidades (tamanho padrão), o volume mínimo de comércio é de 0,01 lot ( Assim, pode-se negociar a partir de 10 em 1 posição em um par de moedas com base em dólar), o passo de volume mínimo de comércio também é de 0,01 lotes (um pode negociar volumes de 0.33, 0.4 ou 1.25 lotes, mas pode enviar ordens com tamanho de 0,333 lotes) e O volume máximo que se pode usar para abrir uma posição é de 10 000 lotes. Você pode incorporar a função MarketInfo () em um nível mais complexo em sua EA, portanto, pode verificar automaticamente os valores permitidos e corrigir suas configurações. Mas se você não quer codificar muito, você pode usar o código acima para descobrir os valores corretos e corrigir as configurações manualmente. Related Posts: 6 Responses to 8220Handling OrderSend Error 131 no MetaTrader 48221 Este é algum aprimoramento: Print (8220MODELOTSIZE 8220, MarketInfo (Symbol (), MODELOTSIZE), 8220, Symbol 8220, Symbol ()) Imprimir (8220MODEMINLOT 8220, MarketInfo (Símbolo ( ), MODEMINLOT), 8220, Symbol 8220, Symbol ()) Imprimir (8220MODELOTSTEP 8220, MarketInfo (Symbol (), MODELOTSTEP), 8220, Symbol 8220, Symbol ()) Imprimir (8220MODEMAXLOT 8220, MarketInfo (Symbol (), MODEMAXLOT) , 8220, Symbol 8220, Symbol ()) Ogn POLAt Reply: 27 de agosto de 2017 às 3:14 pm Obrigado pela sua ajuda. Mas usei esse código e eu aprendi que o tamanho do lote máximo é 30. Como posso aumentar o tamanho máximo do lote. Somente seu corretor pode aumentar o tamanho máximo permitido do lote. Você pode tentar entrar em contato com o serviço de suporte sobre isso, mas não tenho certeza de que o aumentará. Você realmente tem que abrir posições tão grandes 8220 Você pode incorporar a função MarketInfo () em um nível mais complexo em sua EA, então ele pode verificar automaticamente os valores permitidos e corrigir suas configurações8221 Por favor, qual o código. Eu preciso disso, mas não sou um codificador. Grato. Chad Chad, se você aren8217t codificador it8217d ser melhor para você usar a solução proposta nesta postagem. A integração do MarketInfo () no código para ajustes automáticos é diferente em cada caso e eu não posso ajudá-lo aqui. Mais do que isso, você realmente não precisa disso se você não for um codificador profissional. Deus abençoe você, estava enlouquecendo tentando descobrir isso. Eu finalmente entendi por que o meu EA funciona em mini, mas não tão bem em contas normais. Obrigado. Deixe uma resposta.