Sunday 25 March 2018

Erro 130 forex


Erro 130.


Você precisa imprimir mais informações de depuração. . . Adicione mais variáveis ​​na sua declaração de impressão de erro. . . por exemplo, você ajustou sua variável externa TakeProfit?


Não tenho certeza de ter você. Quer dizer que você quer que eu imprima todas as variáveis ​​de entrada juntamente com o erro? Eu não ajustei TP. Na verdade, eu só quero ver como as entradas são feitas.


Para encontrar o que está causando seu problema, você precisa de tanta informação quanto possível, por exemplo, o que foi o Spread quando esse erro ocorreu? se você imprimir Bid & amp; Pergunte no momento em que ocorreu o erro que você teria podido responder à pergunta. . .


O seu corretor é um corretor da ECN?


Não se ajusta para o corretor de 4/5 dígitos, não ajustado para os corretores da ECN. Adicione uma declaração de impressão ao seu código para descobrir o porquê. Adicione um código para evitar isso. Isso torna a EA incompatível com todos os outros, incluindo-se em outros gráficos. Você deve contar para baixo ao fechar.


Meu corretor é ECN, mesmo que eu não saiba o que ECN representa. Mas de qualquer forma, eu só tenho contas de demonstração para o MT4, ainda não real. No momento, estou apenas aprendendo a corrigir meu próprio programa.


WHRoeder, muito obrigado pelo código detalhado, e não consigo entender tudo agora, e tenho que voltar para ele mais tarde. Por enquanto, abro uma conta demo de 4 dígitos. E minha pergunta é, seu código é necessário para negociação ou é apenas para imprimir? Se for comercial, então é necessário para entradas ou apenas para SL e TP?


E obrigado a todos pelos comentários úteis.


Meu corretor é ECN, mesmo que eu não saiba o que ECN representa.


Com um ECN Broker você DEVE enviar o pedido com TP & amp; SL ajustado para 0 então faça um OrderModify para adicionar o SL & amp; TP. . .


Com um ECN Broker você DEVE enviar o pedido com TP & amp; SL ajustado para 0 então faça um OrderModify para adicionar o SL & amp; TP. . .


Obrigado Raptor,


Agora, o problema com a EA é que abre apenas posições longas e não espera por uma vela se fechar. Depois que eu configurei TP e SL para 0, ele abriu um comércio sem crossover. Apenas para o MA curto estava acima do MA longo. Eu quero que ele 1) abra a posição curta 2) abra a posição somente em crossovers somente. 3) aguarde uma vela para fechar (no meu caso no final / início de uma vela de 5 min, e não em qualquer outro momento dentro dela)


Você poderia ajudar nisso.


Eu fiz algumas pesquisas e escrevi esse código para fazer com que a EA aguarde o fechamento de uma barra.


Você pode me ajudar a descobrir por que isso não gera pedidos de venda?


Blog Forex.


Experiência de negociação de Forex em primeira mão e informações sobre o mercado de câmbio que serão úteis para os comerciantes.


Inscreva-se para obter atualizações diárias diretamente na sua caixa de entrada de e-mail.


OrderSend Error 134 (sem dinheiro suficiente)


Às vezes, especialmente durante o backtesting ou no caso de um consultor especialista mal concebido, o OrderSend Error 134 (ou ERR_NOT_ENOUGH_MONEY) aparece no registro diário da sua plataforma MetaTrader. No MT5 este erro é chamado TRADE_RETCODE_NO_MONEY e tem um código 10019. O motivo para este erro é o mesmo para ambas as versões da plataforma & # 8212; falta de margem livre para executar a função OrderSend para o volume de posição dado. Os métodos para resolver este erro são bastante diferentes (nós não discutimos o método de pós-desenvolvimento, que é depositar mais fundos em sua conta de negociação).


No MetaTrader 4, você deve codificar sua EA para executar a seguinte verificação antes de executar OrderSend ():


se (AccountFreeMarginCheck (Símbolo (), Direção, Volume) & gt; 0)


Ele verificará quanta margem livre estará disponível depois de abrir uma posição com o volume = Volume em uma determinada direção = Direção. Mas comparando isso com 0 isn & # 8217; t uma solução muito boa. Deve prestar atenção ao nível de compensação do intermediário para considerar os requisitos de margem:


se (((AccountStopoutMode () == 1) & amp; & amp; (AccountFreeMarginCheck (Symbol (), Direction, Volume) & gt; AccountStopoutLevel ())) || ((AccountStopoutMode () == 0) & amp; & amp; (( AccountEquity () / (AccountEquity () - AccountFreeMarginCheck (Symbol (), Direction, Volume)) * 100) & gt; AccountStopoutLevel ())))


Desta forma, verificamos a forma como seu corretor aplica o stop-out (nível absoluto ou relativo) e verifique se nós teremos margem suficiente após a nossa próxima negociação.


Para o MetaTrader 5, esta condição seria assim (substitua SYMBOL_MARGIN_LONG por SYMBOL_MARGIN_SHORT se quiser verificar a margem antes de abrir uma posição curta):


se ((AccountInfoInteger (ACCOUNT_MARGIN_SO_MODE) == ACCOUNT_STOPOUT_MODE_MONEY) & amp; & amp; (AccountInfoDouble (ACCOUNT_FREEMARGIN) - SymbolInfoDouble (Symbol (), SYMBOL_MARGIN_INITIAL) * Lots * SymbolInfoDouble (Symbol (), SYMBOL_MARGIN_LONG) & gt; AccountInfoDouble (ACCOUNT_MARGIN_SO_SO))) | (AccountInfoInteger (ACCOUNT_MARGIN_SO_MODE) == ACCOUNT_STOPOUT_MODE_PERCENT) & amp; () ((AccountInfoDouble (ACCOUNT_EQUITY) / (AccountInfoDouble (ACCOUNT_EQUITY) - (AccountInfoDouble (ACCOUNT_FREEMARGIN) - SymbolInfoDouble (Symbol (), SYMBOL_MARGIN_INITIAL) * Lots * SymbolInfoDouble (Symbol () , SYMBOL_MARGIN_LONG))) * 100 & gt; AccountInfoDouble (ACCOUNT_MARGIN_SO_SO))))


É bastante complexo em comparação com a versão MT4, mas verifica a mesma condição.


O registro com um corretor de Forex que oferece um nível de parada mais baixo também é uma boa opção :-).


Atualização 2016-11-01: Graças ao comentário de Alexander Wait # 8217, corrija as fórmulas para a verificação da margem da conta.


Se você tiver algum comentário, comentário ou dúvida sobre o MetaTrader OrderSend Error 134 ou Return Code 10019 no MT5 e as formas de tratá-lo, sinta-se à vontade para responder a esta postagem usando o formulário abaixo.


Posts Relacionados:


6 Responses to & # 8220; OrderSend Error 134 (Sem dinheiro suficiente) & # 8221;


obrigado por isso. I & # 8217; anotá-lo e adicioná-lo às minhas atualizações mt5. com os códigos de erro, quero dizer.


Boa dica. Desde que o corretor dos EUA diminuiu seu nível de alavancagem, minhas EAs ficaram com erro 134 ocasionalmente & # 8230; Nunca tentei programar para o MT5, espero que não seja muito diferente e # 8230; Obrigado mesmo assim.


Ótimo conselho sobre como corrigir o erro 134. Eu queria apenas salientar que o.


A seguinte fórmula para o MT4 não está realmente correta.


Deixe X = AccountFreeMarginCheck (Symbol (), Direction, Volume); então.


(X / AccountEquity ()) * 100) & gt; AccountStopoutLevel () está incorreto.


A fórmula correta é, na verdade, a seguinte:


(AccountEquity () / (AccountMargin ()) * 100 & gt; AccountStopoutLevel ()


Uma vez que AccountMargin () = AccountEquity () & # 8211; X, a seguinte fórmula é.


expressado em termos de margem livre na conta de negociação:


(AccountEquity () / (AccountEquity () & # 8211; X)) * 100 & gt; AccountStopoutLevel ()


1 de novembro de 2016 às 17h45.


Muito obrigado, Alexander! Você está completamente certo! Eu agora atualizei a postagem para listar a fórmula correta.


Oi pessoal é um novato que queria saber qual seria a configuração de depósito de 30 $ para o comércio.


29 de dezembro de 2017 às 6h10.


O tamanho da sua posição é limitado, dependendo do nível de margem requerida do seu corretor.


TomDownload.


O mais comum erro Metatrader 130 Forex que você poderia corrigir.


Trabalhar em seu computador pessoal nunca será suave em todos os momentos. Especialmente ao navegar na web, é muito possível que você encontre erros diferentes sobre os quais você não faz ideia. O que você deve saber é que o Metatrader Error 130 Forex é normal. Não há motivos para se preocupar, porque isso apenas diz que há algo que requer atenção ou fixação. Conhecer a principal causa de um erro específico é vital aqui para poder implementar a solução certa. Conhecer a raiz do problema irá ajudá-lo a evitar qualquer espalhamento de danos.


É possível que você possa encontrar este Metatrader Error 130 Forex se você tiver um driver com defeito ou um aplicativo incompatível, mas há muitos outros motivos além disso. Será ótimo se você estiver ciente de como resolver o problema sozinho. Isso é simplesmente porque nem sempre é que você tem todos os recursos para ter um novo sistema operacional ou reinstalar tudo. Este artigo irá oferecer-lhe um destaque dos erros típicos do computador e as formas de consertá-lo, você pode encontrá-lo abaixo.


Este é um Metatrader Error 130 Forex que você pode ter encontrado anteriormente. Independentemente do sistema operacional que seu PC possa ter, esse erro pode acontecer. A principal causa desse erro é a mudança de um software ou hardware em seu computador pessoal. Isso não é corrigido com um simples ESC ou Ctrl + Alt + Del. Pense em reiniciar seu PC fazendo uso do Modo de segurança, mas somente depois de separar os dispositivos ligados a ele e desinstalar o mais novo software. Você pode fazer isso depois de reiniciar seu computador pessoal.


Memória virtual insuficiente.


Se o seu espaço RAM for insuficiente, você pode encontrar esse erro. Isso também pode ocorrer quando seu aplicativo está tirando ou vazando muita memória. Você pode simplesmente aumentar o tamanho do seu PageFile se você acha que ainda pode trabalhar com seu espaço RAM. Alterando as configurações avançadas da guia, o Metatrader Error 133 permitirá que você faça isso. Tudo o que você precisa fazer é abrir o painel de controle e proceder ao sistema e segurança, ele irá levá-lo às configurações avançadas do sistema e começar a mudá-lo. Altere o tamanho do seu arquivo de página até 1,5 para o dobro da memória RAM & # 2013266066; s. No entanto, se você acredita que sua RAM não é boa, então você deve adicionar chips RAM. Certifique-se de ter um suprimento de RAM de um provedor confiável.


Os arquivos DLL são perdidos.


Há instâncias em que os arquivos necessários para executar certos programas não são encontrados em nenhum lugar, causando perda de arquivos DLL. A razão comum para esses erros é o vírus. Uma versão atualizada de antivírus e malwares será a melhor solução para esse tipo de erro. No entanto, se não for um vírus que cause o Metatrader Error 130 Forex, tudo o que você precisa fazer é baixar um arquivo do sistema da internet ou reinstalar o software que afetou. Incase tudo o que você precisa fazer é baixar um arquivo ou software, você deve garantir que você apenas obtenha de uma fonte respeitável. A taxa de sucesso que os arquivos baixados não é sempre 100%, então a falha às vezes pode ocorrer.


Como forma de economizar mais dinheiro, você precisa saber as melhores coisas para fazer quando o Metatrader Error 130 Forex existe no seu PC. Esses erros são incontáveis, mas o que foi mencionado anteriormente são aqueles que comumente são encontrados pelos usuários de PC. Muitas pessoas decidem imediatamente substituir seus computadores no momento em que aprendem que tem erros. Mas a melhor escolha que eles precisam considerar primeiro é corrigir o PC. Com isso, é crucial para cada usuário de PC pelo menos aprender o básico de solução de problemas de um computador para que eles saibam o que fazer no caso de enfrentarem o mesmo problema.


Blog Forex.


Experiência de negociação de Forex em primeira mão e informações sobre o mercado de câmbio que serão úteis para os comerciantes.


Inscreva-se para obter atualizações diárias diretamente na sua caixa de entrada de e-mail.


OrderSend Error 130 - O que fazer?


Os consultores especializados que trabalham em um corretor podem parar de trabalhar em outro; o problema com eles geralmente está em OrderSend Error 130. Se você vir o Erro 130 no Log de sua plataforma do MetaTrader quando seu consultor especialista deve abrir uma posição, isso significa que os níveis de stop-loss ou take-profit estão configurados para fechar ao preço atual do mercado. Na documentação MQL, este erro é chamado ERR_INVALID_STOPS (& laquo; Invalid stops & raquo;). Alguns corretores de Forex definem a distância mínima entre o preço atual e os níveis de stop-loss / take-profit para evitar escalar ou abusar dos atrasos das cotações. Esse não é um problema real para a maioria dos consultores especializados que não usam scalping. Para evitar que este erro ocorra, você precisa alterar o código do especialista.


Primeiro, você pode querer saber qual é o nível mínimo estabelecido no servidor MetaTrader do seu corretor. Adicionando esta linha de código, será emitido o escopo mínimo atual para o par de moedas do gráfico, onde você executará o EA:


Você não deve usar o nível stop-loss ou take-profit, que está mais próximo do MarketInfo (Symbol (), MODE_STOPLEVEL) para o preço atual do mercado. Se o seu EA calcular paradas e tirar lucros dinamicamente, é o que eu sugiro que você faça:


Declare uma variável global para o StopLevel mínimo; por exemplo.:


StopLevel = MarketInfo (Symbol (), MODE_STOPLEVEL) + MarketInfo (Symbol (), MODE_SPREAD);


Note-se que a adição de uma diferença de spread também é necessária. A próxima vez que seu stop-loss ou take-profit for calculado, basta verificá-los para não ser inferior a StopLevel:


se (StopLoss & lt; StopLevel) StopLoss = StopLevel; se (TakeProfit & lt; StopLevel) TakeProfit = StopLevel;


Isso deve ajudar na maioria dos casos. Pelo menos, para mim, esse tratamento do OrderSend Error 130 sempre funcionou.


Atualize 2011-12-15: Alguns corretores (ECN) não permitem que os consultores especializados estabeleçam o nível stop-loss ou take-profit na função OrderSend (), mesmo que seja maior que o MODE_STOPLEVEL. Nesse caso, você precisará alterar sua EA para enviar ordens sem SL e TP e depois usar a função OrderModify () para definir stop-loss e take-profit na posição aberta.


Se você tiver dúvidas ou sugestões sobre o problema OrderSend Error 130 com consultores especializados, sinta-se à vontade para responder usando o formulário abaixo.


Posts Relacionados:


70 Responses to & # 8220; OrderSend Error 130 - O que fazer? & # 8221;


16 de agosto de 2013 às 5:04 da tarde.


Eu continuo recebendo esse erro sem parar. A minha função orderend () é a seguinte:


currentOrder = OrderSend (moedas [i], OP_SELL, 0.1, Bid, 3, Bid + (MarketInfo (moedas [i], MODE_STOPLEVEL) + MarketInfo (moedas [i], MODE_SPREAD)) * 0.0001, Bid - (MarketInfo (moedas [i ], MODE_STOPLEVEL) + MarketInfo (moedas [i], MODE_SPREAD)) * 0,0001, & # 8221; Sell & # 8221 ;, BlueViolet);


As coisas na perda de parada e as áreas de lucro foram coisas que a internet me disse para fazer, mas ainda não funciona. Por favor ajude!


16 de agosto de 2013 às 18:04.


Talvez, você está tentando isso na conta ECN, onde é proibida a colocação de pedidos com SL e TP? Nesse caso, você deve enviar primeiro um pedido sem SL / TP e depois modificá-lo para adicionar SL / TP.


18 de agosto de 2013 às 11h27.


Você pode me dizer o que eu tenho para colocar no stoploss se eu quiser configurá-lo para 5 pips e aproveitar para dez pips para comprar e vender negócios? Obrigado por responder à publicação original.


19 de agosto de 2013 às 7:34 am.


& # 8220; Alguns corretores de Forex definem a distância mínima entre o preço atual e os níveis de stop-loss / take-profit para evitar escalar ou abusar dos atrasos das cotações. & # 8221;


Qual é o motivo do corretor para fazer isso se você pode parar os loos à mão?


31 de março de 2009 às 10:09 horas.


Porque é quase impossível abusar constantemente da baixa parada-perda manualmente. Os abusadores reais criam EAs que fazem isso.


Obrigado pela informação & # 8211; Mas eu tenho uma pergunta com a qual eu possa ajudar. Meu EA coloca ordens pendentes, com TP e SL colocados entre 25 e 50 pips de aberto. De vez em quando eu recebo o erro 130, presumo porque o SL está próximo do preço atual. Certamente, o erro só deve ocorrer quando o SL estiver muito próximo do preço de abertura, NÃO o preço atual em um comércio pendente. Ajustar o SL demais mudará a natureza do comércio # 8211; qualquer ideia para este. BTW estou usando o Alpari UK.


4 de abril de 2009 às 9h31.


Não tenho certeza, mas acredito que não é porque SL ou TP estão perto do preço atual, mas porque seu preço de abertura na ordem pendente é muito próximo da atualidade.


Outra questão atual trata da Execução do Mercado vs Execução Instantânea. Um é MM com execução instantânea e o outro não está lidando com a Execução do Mercado. A execução do mercado que é feita por STP e ECN não pode enviar TP e SL juntamente com a ordem. Você deve modificar a ordem e depois definir o TP e o SL.


17 de fevereiro de 2010, às 8h43.


Porque você acha isso?


2 de março de 2010 às 12:57 pm.


Como posso fazer isso. Você pode ajudar passo a passo?


Muito obrigado pelo código.


Isso conserta meu problema.


Eu tento usar o EA na conta de demonstração e funciona bem. Mas, quando eu uso isso na conta real, sempre recebo erros de ordem 130.


Motivos! me ajude a saber por quê?


1 de setembro de 2011 às 21h21.


Qual configuração você usa?


1 de setembro de 2011 às 21h23.


Eu uso configurações de defeito para ambas as contas 2. Alguma coisa errada aqui?


1 de setembro de 2011 às 21h25.


Estou usando phoenix v56_03, por favor! Ajude-me.


1 de setembro de 2011 às 21h38.


Você baixou Phonex a partir daqui:


ou de outro lugar?


2 de setembro de 2011 às 3:47 da manhã.


Ninguém pode me ajudar com este problema :(


Sim ! Estou baixando sua fênix compartilhada e uso em GBPUSD.


Na conta de demonstração, não há problema, mas na conta real é problema.


2 de setembro de 2011 às 8:34 am.


O símbolo é chamado & # 8220; GBPUSD & # 8221; no MT4 do seu corretor? Você tem certeza de que não há símbolos extras, como # # 8220; # GBPUSD & # 8221; ou & # 8220; xGBPUSD & # 8221 ;?


2 de setembro de 2011 às 16h03.


Muito obrigado, corrigi esse promlem, agora que a EA funciona bem: D.


2 de setembro de 2011 às 18:24.


E como você fez isso?


juan david Responder:


29 de novembro de 2011 às 11:56 da tarde.


Estou tendo o mesmo problema com a Phoenix (formulário baixado aqui) e estou executando configurações padrão com os pares recomendados.


Eu tenho uma conta de demonstração 1000.


desde já, obrigado.


30 de novembro de 2011 às 9:55 da manhã.


Você tentou a solução proposta? Seu corretor permite configurar SL e TP em posições em ordem aberta?


Eu tenho um EA com SL definido para 650 (65 pips) e TP definido para 800 (80 pips), mas ainda estou recebendo erro 130 na execução. Funciona bem no Strategy Tester. O arquivo de log é o seguinte:


9:00:10 MACross GBPUSDm, H1: Alerta: cruzamento de MA - & gt; VENDA GBPUSDm.


09:00:10 MACross GBPUSDm, H1: cruzamento MA: Erro ao abrir a ordem VENDA: 130.


09:00:10 MACross GBPUSDm, H1: Licitação: 1.558 SL: 1.5645 TP: 1.55.


O código para isso é:


Você tem alguma idéia sobre como resolver isso?


15 de dezembro de 2011 às 14h04.


Se você estiver negociando na conta ECN, você pode configurar o SL ou o TP na abertura da posição, você deve fazer isso depois que o pedido for executado.


Não tenho certeza do que é uma conta ECN, mas eu sei para a ordem do mercado, não é possível definir o SL / TP na abertura, mas eu tenho outros EAs que funcionam bem fazendo isso.


15 de dezembro de 2011 às 15h24.


Se você tiver certeza de que outros EA estão definindo SL & # 038; TP em OrderSend () e não receba o erro OrderSend 130 nesta mesma conta, então minha única sugestão seria aplicar NormalizeDouble () aos seus níveis de stop-loss e take-profit. Por exemplo.:


OrderSend (Symbol (), OP_SELL, Lots, CurrPrice, 3, NormalizeDouble (CurrPrice + sLoss, Digits), NormalizeDouble (CurrPrice-tProf, Digits), "MA cross SELL", MAGICMA, 0, Vermelho);


Obrigado. Vou tentar isso.


As condições foram apenas atendidas, mas a EA não executou. Mesmo erro 130. Eu irei tentar uma abordagem diferente. Isso é para sua ajuda.


16 de dezembro de 2011 às 9:00 da tarde.


Por favor, avise-nos se você encontrar a solução.


Eu tenho EA que me dá 130 ERROR enquanto Execute Order.


Como você disse que o ECN Broker não permite colocar SL / TP enquanto o Order Execute.


Então, eu preciso de ajuda para o programa Chane EA, como esta primeira ordem de envio, depois de modificá-la com SL e TP. Também como ocultar SL / TP como FAPTURBO EA.


Por favor, eu preciso da sua ajuda.


Você pode contatar o suporte Fapturbo com este pedido.


Nome da EA: cm_martini.


trabalhou em outro corretor, mas não pode trabalhar no corretor da exatidão, você pode me ajudar a modificar essa EA. envie EA modificada para o meu email: almunpdamyahoo. co. id.


19 de julho de 2012 às 7:09 da manhã.


Se você colocar um link de download aqui, eu posso olhar para ele.


Eu tenho EA, isso funciona muito bem no par EUR / USD, mas quando estou tentando colocá-lo no S & amp; P ou Nasdaq, ele me dá um erro 130. Quando estou executando backtest, ele está funcionando de forma excelente.


Ao tentar trocar demonstração, sempre me dê erros e não envie meus pedidos. qualquer ideia? eu não entendi onde colocar esta linha: & # 8221; Imprimir (MarketInfo (Symbol (), MODE_STOPLEVEL)); & # 8221; para verificar.


Obrigado pela ajuda.


6 de novembro de 2012 às 8:28 da tarde.


Você precisa colocá-lo em qualquer lugar na função init () do código-fonte do EA & # 8217; (código. mq4). Se você não tiver o arquivo. mq4 e tiver apenas. ex4, então não é possível adicionar nada ao seu EA ou alterá-lo para corrigir o erro aparente.


6 de novembro de 2012 às 21:18.


Eu tenho o arquivo. mq4. eu coloquei aqui:


mas onde deveria me escrever quais os níveis de parada mínimos?


depois de fazer o que devo fazer?


e por que o teste de volta está funcionando bem, mas a demonstração ao vivo não é?


Muito obrigado. Menino.


6 de novembro de 2012 às 9:59 da tarde.


Ele deve imprimir o valor na guia de especialistas.


desculpe meu amigo, eu não sei onde é que eu não consigo encontrá-lo. De qualquer forma, qualquer explicação por que está funcionando no teste de volta e não na demo ao vivo?


Existe alguma chance porque ele envia a parada de venda + tp + sl ao mesmo tempo? talvez ele deve colocar o tp e sl logo após a parada de venda ser preenchida?


7 de novembro de 2012 às 9h43.


Aqui está a guia Especialista:


Sim, pode ser para que o TP / SL deve ser definido separadamente depois que o pedido já está aberto. Mas antes você disse que você tentou na demonstração em tempo real do EUR / USD e funcionou.


Bem, nesta guia, ele não me mostra o nível de parada apenas me escrevendo o erro.


No EURUSD, a EA funciona muito bem nas nasdaq e s & amp; p, me mostra o erro durante a negociação de demonstração ao vivo. Mas quando estou de volta, o teste funciona bem.


7 de novembro de 2012 às 16:26.


Você compilou a EA depois de ter adicionado essa linha de código à função init ()?


Tem certeza de que não imprime nada quando você anexa o EA a um gráfico?


O que é compilado?


7 de novembro de 2012 às 7:04 da tarde.


Quando você aplica alguma alteração ao código EA & # 8217; s, você precisa pressionar o botão Compilar (F7).


Veja este tutorial para obter mais informações:


Minha EA trabalha no testador de estratégia, mas não funciona na conta ao vivo (teste). Recebo uma ordemSend () 130.


8 de abril de 2013 às 11:59 da manhã.


Você troca na conta ECN e envia pedidos com SL / TP sobre eles?


9 de abril de 2013 às 1:42 da manhã.


Sim, estou tentando fazer scalping e meu corretor o permite, porque permitiria no teste de estratégia e não na conta ao vivo.


9 de abril de 2013 às 7:14 am.


Não tem nada a ver com permitir ou desautorizar scalping. Se seu corretor usa a execução ECN, sua EA deve definir SL / TP depois de abrir uma posição.


O Strategy Tester usa a execução não-ECN.


10 de abril de 2013 às 6h36.


Eu vejo que isso faz sentido, você sabia se Finfx é um corretor da ECN?


Muito obrigado por sua ajuda :)


10 de abril de 2013 às 8h05.


Tanto quanto eu sei, o FinFX oferece contas ECN e não ECN.


Minha EA criou o Erro 130 no FinFx ECN acc.


e eu não sei como consertar isso.


Posso enviar-lhe o meu EA mql4, para corrigir?


Agradeço antecipadamente.


12 de abril de 2013 às 8h50.


Você pode enviar seu EA para algum site de compartilhamento de arquivos e publicar o link de download aqui. Embora eu não possa prometer-lhe que vou consertá-lo.


12 de abril de 2013 às 9:01 da manhã.


Eu envio EA, este é um link:


12 de abril de 2013 às 10h11.


Sim, a EA aplica SL e TP diretamente na abertura da posição. Pode ser corrigido removendo SL / TP dos procedimentos de abertura de posição e transferi-lo para chamadas OrderModify () após as posições serem abertas.


Infelizmente, este EA é um código descompilado e é um trabalho infame fazer sentido de qualquer coisa lá. É melhor entrar em contato com seu autor pedindo para torná-lo amigável ECN.


Eu executei o EA e continuo mostrando Ordersend Error 130 e Ordermodify error 130. Existe um problema no seguinte que você pode conselhos?


11 de julho de 2014 às 2:46 da manhã.


Não consigo ver isso do que você postou. Você leu essa postagem no blog? Explica que o preço de stop-loss não deve estar mais próximo do preço de abertura que o corretor definido STOPLEVEL. Verifique se a sua EA segue esta regra.


Pode ser um atraso muito pequeno é a causa do erro 130?


Como é que o deslizamento é calcolado?


por exemplo. O deslizamento é 3. O que é 3?


por exemplo. preço 1.1111 + 3 = 1.1114 é permitido?


ou 1.11111 + 3 = 1.11114 é permitido?


29 de janeiro de 2015 às 8:48 da tarde.


Se 3 pips são normais ou fracionados depende da implementação de EA específica, mas OrderSend Error 130 não tem nada a ver com o deslizamento, mas sim com a taxa de SL, TP ou o preço aberto de uma ordem pendente.


Parabéns pela explicação do erro 130. E parabéns por ajudar e esclarecer os neófitos de EA.


Gostei muito da simplicidade da explicação.


Eu sempre consegui erro de pedidos 130.


É muito lucrativo scalper mq4.


você pode corrigir esse erro de envio de ordem.


16 de agosto de 2016 às 13h05.


Oi, o cálculo & # 8230; (StopLevel = MarketInfo (Symbol (), MODE_STOPLEVEL) + MarketInfo (Symbol (), MODE_SPREAD);) & # 8230; ainda é válido para um corretor de 5 dígitos? Ou o valor de StopLevel precisa ser dividido por 10?


8 de outubro de 2016 às 6:01 da manhã.


Ainda é verdade mesmo para corretores de 5 dígitos.


Meu problema é que o bilhete todos os dias é -1. ticket = OrderSend (& # 8230; ..)


25 de outubro de 2016 às 18h38.


Tente verificar o erro usando GetLastError ().


Oi, tenho o problema de 130 para todas as transações enviando meu código, alguém pode me ajudar por favor.


9 de janeiro de 2017 às 11h17.


Em primeiro lugar, 200 pips podem não ser suficientes & # 8211; você deve realmente compará-lo com SymbolInfoInteger (Symbol (), SYMBOL_TRADE_STOPS_LEVEL).


Então, há uma grande falha nesta função & # 8211; ele troca em um símbolo Symb dado através do argumento da função # 8217; s. No entanto, ele usa chamadas para Digits e Point para normalização. Digits e Point usam os parâmetros do instrumento de negociação atual, portanto, se você ligar a compra (& # 8220; EURUSD & # 8221 ;, 13123123) quando esta EA estiver anexada ao USD / JPY, você obterá valores completamente errados.


O que é OrderSend Error 130?


Os consultores especializados que trabalham em um corretor podem parar de trabalhar em outro; o problema com eles geralmente está em OrderSend Error 130. Se você vir o Erro 130 no Log de sua plataforma do MetaTrader quando seu consultor especialista deve abrir uma posição, isso significa que os níveis de stop-loss ou take-profit estão configurados para fechar ao preço atual do mercado. Na documentação do MQL, este erro é chamado ERR_INVALID_STOPS ("Paradas inválidas"). Alguns corretores de Forex definem a distância mínima entre o preço atual e os níveis de stop-loss / take-profit para evitar escalar ou abusar dos atrasos das cotações. Esse não é um problema real para a maioria dos consultores especializados que não usam scalping. Para evitar que esse erro ocorra, você precisa alterar o código do especialista.


Primeiro, você pode querer saber qual é o nível mínimo estabelecido no servidor MetaTrader do seu corretor. Adicionando esta linha de código, será emitido o escopo mínimo atual para o par de moedas do gráfico, onde você executará o EA:


Você não deve usar o nível stop-loss ou take-profit, que está mais próximo do MarketInfo (Symbol (), MODE_STOPLEVEL) para o preço atual do mercado. Se o seu EA calcular paradas e tirar lucros dinamicamente, é o que eu sugiro que você faça:


Declare uma variável global para o StopLevel mínimo; por exemplo.:


Na função init () do seu consultor especialista, defina o StopLevel mínimo:


StopLevel = MarketInfo (Symbol (), MODE_STOPLEVEL) + MarketInfo (Symbol (), MODE_SPREAD);


Note-se que a adição de uma diferença de spread também é necessária.


A próxima vez que seu stop-loss ou take-profit for calculado, basta verificá-los para não ser inferior a StopLevel:


se (StopLoss & lt; StopLevel) StopLoss = StopLevel;


se (TakeProfit & lt; StopLevel) TakeProfit = StopLevel;


Não se esqueça de atualizar as taxas de mercado atuais com RefreshRates () antes de adicionar os níveis stop-loss / take-profit às taxas reais do mercado.


Isso deve ajudar na maioria dos casos. Pelo menos, para mim, esse tratamento do OrderSend Error 130 sempre funcionou.


Artigos de negociação forex.


Obter sinal de Forex.


Acte de programação MT4 / MT5.


Copyright © 2017 HongDi science technology development co., Ltd.


Como vencer o Ordersend Error 130 no MetaTrader 4.


Pela demanda popular, estratégias comprovadas sobre como vencer o pesadelo de todos os comerciantes algorítmicos & # 8217; # 8217; Erro 130.


De onde vem esse erro? O 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 mais & # 8230;


Para começar, uma definição formal do nosso amigo, Documentação MQL4:


Isso é certo! Isso é tudo o que você obtém do MetaQuotes. E o resto & # 8230; Vai saber!


Ordersend O erro 130 é mencionado brevemente em outras seções da documentação. No entanto, não há um guia completo para o que # 8220; Invalid Stops & # 8221; 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 este artigo. Deixe-se passar por isso juntos!


O assassino silencioso.


Então, & # 8230; você lançou seu consultor especialista e # 8230; nada acontece. Não COMPRAR pedidos, sem encomendas, sem pedidos pendentes, nem mesmo mensagens de erro nos logs & # 8230 ;. Apenas silêncio. Você decide esperar algumas horas / dias / semanas, e nada realmente muda & # 8211; as tabelas vão para cima e para baixo, mas você não vê nenhum lucro. Isso pode continuar para sempre # 8230;


A verdadeira razão é simples & # 8211; Você realmente está recebendo ERR_INVALID_STOPS (qual é o termo técnico correto para o problema), mas você não pode vê-lo. Isso é porque 130 é um assassino silencioso. Um assassino de sangue frio do seu cérebro e calma interior 🙂


Não há como extrair esse erro por meio de logs de consultores especializados 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 o OrderSend () retorna e verificando se ele é menor do que zero. Se sim, então é um sinal do MetaTrader 4 que nos diz 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 registro EA & # 8217; s em vez de exibi-la 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 / ou o TakeProfit que você solicitou não foram possíveis 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 LIMITE, VENDENDO STOP ou LIMIT DE VENDA), as paradas inválidas significam que (1) houve problemas com o SL / TP (o mesmo que acima) OU (2) o problema foi com o preço de entrada que você especificou para a própria ordem.


Como podemos ver, o problema é sempre com um (ou muitos) dos preços que seu Forex Robot especificou em sua solicitação ao servidor de comércio. Agora que conhecemos o nosso inimigo # 8211; Deixe-o vencer!


1) StopLoss & amp; TakeProfit são preços.


Existem várias causas possíveis de ERR_INVALID_STOPS e uma das mais frequentes entre iniciantes é especificar o StopLoss e TakeProfit em pips em vez de níveis de preços reais. Como isso:


Esta pessoa tentou definir um StopLoss de 20 pips e um TakeProfit de 40 pips. Big NO-NO & # 8230; .. A maneira correta e única de especificar seu SL e TP é através dos níveis de preços:


A propósito, assumimos que o preço atual do ASK é 1.1606 e o ​​preço atual do BID é 1.1605 (ou seja, 1 pip spread).


2) 4 dígitos versus 5 dígitos.


Outra razão pela qual você poderia obter ERR_INVALID_STOPS é se você estiver configurando os parâmetros de entrada de sua EA em Pips (pontos de 4 dígitos) quando o Robot está antecipando pontos de 5 dígitos. Vamos ver um exemplo:


Este código funcionará bem em um corretor de 4 dígitos, no entanto, falhará em um corretor de 5 dígitos. O motivo é que, em um corretor de 4 dígitos, Point () equivale a 0.0001, enquanto que em um ponto de correção de 5 dígitos (igual a 0,00001).


Basicamente, sem ajustes adicionais, em um corretor de 5 dígitos, a EA tentará configurar o StopLoss e TakeProfit em apenas 2 e 4 pips longe do preço da Oferta, respectivamente!


Por isso, no caso de um corretor de 5 dígitos, você deve aumentar os seus parâmetros StopLoss e TakeProfit dez vezes. Como isso:


No entanto, tenha cuidado! Alguns EA & # 8217; s 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 os insumos em 10 pode realmente levar a uma performance errônea.


Note: I plan on posting a separate article where we will discuss how to create our own modules to detect the number of digits after the decimal.


3) ECN brokers.


ECN accounts have their own specifics. One of them is – when trading through a ECN broker you will not be able to set a StopLoss and/or TakeProfit with your Market Order (BUY or SELL). If you try to do this – you will get Error 130.


However, of course, you do need to set a StopLoss (and maybe TakeProfit) for your order, and this must be done as soon as possible after the order has been executed. Try this code:


You can add this function to your code (at the very end) and then use it instead of OrderSend() in your main code. This function adds an extra step in the process of sending a Market Order.


First, it send the request to execute a market order stripping out the StopLoss and TakeProfit. Next, it modifies the newly opened market order by adding the desired SL and TP.


There is, of course, a risk that the order will be executed, but the modification will fail. However, in that case the function will promptly notify the trader that the StopLoss and TakeProfit have not been set.


Feel free to modify this function to suit your needs and trading style.


4) Stop-Levels.


Stop-Levels are a mechanism for brokers to protect themselves from certain volatility and liquidity related risks. In simple terms, you will not be able to set your StopLoss or TakeProfit OR any pending order closer than a predetermined number of Pips to the current market price.


To find out what the Stop Level is for a specific currency pair you need to press CTRL+U on your keyboard, select the desired currency pair and click the “Properties” button as shown on the illustration below:


In this example the Stop Level for AUDUSD is 3 Pips. This means that you will not be able to set the StopLoss for your order closer than 3 Pips to the price at which the order will be opened.


This also means that any pending order will have to be set at least 3 Pips away from the current market price.


If you Robot tries to break these rules and set a StopLoss / TakeProfit or Pending Order within the Stop Level range, then it will get Error 130 “Invalid Stops”. So just be mindful of the Stop Level of the currency where your EA’s are trading – don’t specify excessively small StopLoss and TakeProfit parameters.


It is also worth noting that more exotic currency pairs can have much more significant Stop Levels. Fore example, for AUDNZD the Stop Level with the same broker as in the above example is 20 Pips. For GBPSEK (British Pound vs Swedish Krone) – it’s 100 Pips.


5) Normalization of doubles.


With some brokers you will find that for an unknown reason the Ask and Bid prices are passed onto the trader with additional negligible digits after the decimal. Por exemplo:


Instead of 1.1606 the broker would give you 1.160600001.


Now this phenomenon has no effect on manual trading, moreover since the MT4 terminal is hardwired to display a certain number of digits after the decimal point (either 4 or 5) – you will not be able to notice any difference at all!


However, these ‘negligible’ digits after the decimal can have a dramatic effect on Expert Advisors causing……… that’s right! Our old friend, OrderSend Error 130!


Here’s a strategy that I personally use to protect my Robots from this issue:


This neat little trick allows you to normalize (in simple terms – Round) any prices that you are inputting into the OrderSend() function. This way you cut off all ‘negligible’ digits after the decimal point.


Conclusão.


Today we saw that there may be multiple (at least 5) causes to error 130. Though this is quite a few, the underlying issues are all trivial and can be corrected in a matter of minutes.


Therefore, Error 130 should not be feared! If you have encountered this culprit, it’s just a matter of going through the list above, finding the situation that applies to you and applying the prescribed solution.


Hope you found this article useful!


Let me know if you have any questions by using the comments section below.


COMEÇAR COM A ACADEMIA DE NEGOCIAÇÃO FOREX.


I'm a Forex Trader, a Data Scientist, an Entrepreneur, an Online Coach. Essas são minhas principais ocupações. I've been into Forex Trading since 2007 and, as they say, I've seen the good, the bad, and the ugly. I've survived the GFC and learned a lot along the way. Today I want to share all my knowledge and insights with you.


Thanks Kirill , These informations helped me to solve pending entry price error .


A qualquer momento! Happy to help.


so I understand that you cannot set a SL and TP to your market order when trading with an ECN Broker.


Can you maybe explain why? What is the reason that you cannot do it?


And why can you do it with the rest of the brokers (Market Makers)?


In market execution (ECN) you are not guaranteed a certain price at which your order will be filled. Your request will be executed at the next available price, which can be 10 pips away or even 100 pips away from what you specified. That’s the main reason why the SL and TP cannot be set right away.


In instant execution, you are able to set the SL and TP right away because you are able to control the maximum slippage. If the price is too far away from what you want the order will not be executed.


Espero que isto ajude,


yes it has definitely helped.


Thank you for your answer and the link to the article.


Things are clear to me know.


Can you maybe also recommend a good broker which offers Market Execution?


As far as I understand Dealing Desk Brokers usually manipulate the price, so they are more dangerous than ECN Brokers which offer market execution.


I’m glad that I could help out! Here’s my review of Forex Brokers:


RoboForex have a good ECN solution. Also, I am in the process of reassessing this list, so changes will come soon (probably May). In the meantime, feel free to join the discussions at the ForexBoat Forum:


It just launched last week, so can’t promise you will get a reply quickly. But with time people will share their experiences.


Is the SimpleSystem v8.9 able to handle the Error 130 and contain all the codes mentioned above?


Thank you Kirill for your post. It appears that my issue is the ECN broker. I tried your script but my Mt4 seems not to recognize the”MarketOrderSend”.Any advice?


Categorias.


Curso de negociação algorítmica (1) Curso: Forex Trading for Beginners (6) Curso: MQL4 para iniciantes completos (48) Curso: Testador de estratégia para iniciantes (11) FOREX (92) Estratégia Forex (92) Forex Trading para iniciantes (75) Forex VPS (1) Análise Fundamental (3) Entrevistas (1) Diversas (4) MQL4 (2) Análise Técnica (14)


Postagem recente.


Tags populares.


COMEÇAR COM A ACADEMIA DE NEGOCIAÇÃO FOREX.


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 nenhuma 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 tais informações. Você deve procurar um conselho financeiro independente 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 regulamento local. Forexboat Pty Ltd não está registrado com qualquer regulador dos EUA, incluindo a National Futures Association (& # 8220; NFA & # 8221;) e Commodity Futures Trading Commission (& # 8220; CFTC & # 8221;); portanto, produtos e serviços oferecidos neste site não são destinado a residentes dos Estados Unidos.

No comments:

Post a Comment