Friday 12 January 2018

Erro forex mql4 130


Erro 130 - parada inválida. Por que ERRNOERROR 0 Nenhum erro retornado. ERROSO 1 Nenhum erro retornado, mas o resultado é desconhecido. ERROOMMONERROR 2 Erro comum. ERRINVALIDTRADEPARAMETERS 3 Parâmetros comerciais inválidos. ERREERVERBUSY 4 O servidor comercial está ocupado. ERROLDVERSION 5 Versão antiga do terminal do cliente. ERRNOCONNECTION 6 Nenhuma conexão com o servidor de comércio. ERRNOTENOUGHRIGHTS 7 Não há direitos suficientes. REQUISITOS DE REALIZAÇÃO 8 Pedidos muito frequentes. ERRMALFUNCTIONALTRADE 9 Operação de operação incorreta. ERRACCOUNTDISABLED 64 Conta desativada. ERRINVALIDACCOUNT 65 Conta inválida. ERRADECIMENTO 128 Tempo limite comercial. ERRINVALIDPRICE 129 Preço inválido. ERRINVALIDSTOPS 130 Paradas inválidas. ERRINVALIDTRADEVOLUME 131 Volume de comércio inválido. ERRO MÁQUINAS 132 O mercado está fechado. ERRTRADEDIZABLED 133 O comércio está desativado. ERRONTO NÃO MENCIONADO 134 Pouco dinheiro. ERRPRICECHANGED 135 Preço alterado. ERROFFQUOTES 136 Off quotes. ERRBROKERBUSY 137 O corretor está ocupado. ERRREQUOTE 138 Requote. ERRORDERLOCKED 139 A ordem está bloqueada. ERRLONGPOSITIONSONLYALLOWED 140 Apenas posições longas permitidas. DEMANDOS DE ERROMARIAS 141 Demais pedidos. ERRTRADEMODIFYDENIED 145 Modificação negada por ordem muito próxima ao mercado. ERRTRADECONTEXTBUSY 146 O contexto comercial está ocupado. ERRTRADEEXPIRATIONDENIED 147 Expirações são negadas pelo corretor. ERRTRADETOOMANYORDERS 148 A quantidade de ordens abertas e pendentes atingiu o limite estabelecido pelo corretor. StopLossLevel NormalizeDouble (Low, Digits) CalcStopLossPips (MathAbs (Bid StopLossLevel)) pp se (UseTakeProfit) TakeProfitLevel NormalizeDouble (Bid - TakeProfitSell Point, Digits) else TakeProfitLevel 0.0 Print (Sell Stoploss: DoubleToStr (StopLossLevel, Digits)) Imprimir (TP: DoubleToStr (TakeProfitLevel, Digits)) Print (Bid:, DoubleToStr (Bid, Digits)) OrderSend (Symbol (), OPSELL, lotsForOrder, NormalizeDouble (Bid, Digits), Slippage, NormalizeDouble (Bid (CalcStopLossPips Point), Digits) NormalizeDouble (TakeProfitLevel, Digits), Sell (InternalMagicNumber), InternalMagicNumber, 0, DeepPink) int OrderSend (símbolo de seqüência simbolo int cmd. Operação duplo volume volume duplo preço preço inc deslizamento deslizamento duplo stoploss stop loss double takeprofit. Comportamento de cadeia de lucroNULL. Comente int magic0. Número mágico data-prazo expiração0. Pendente pendente cor cor arrowcolorclrNONE) em Símbolo para negociação. 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 houver o preço aberto solicitado na faixa de preço ou não tiver sido 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-deslizamento. 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 não-zero é especificado no parâmetro de expiração, o erro 147 (ERRTRADEEXPIRATIONDENIED) será gerado. Em alguns servidores comerciais, 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 () --- obter 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) --- Coloque o pedido de mercado para comprar 1 lot int ticket OrderSend (Símbolo (), OPBUY, 1, preço, 3, stoploss, takeprofit, quotMy orderquot, 16384,0, clrGreen) if (ticketlt0) Imprimir (quotOrderSend falhou) Com erro. GetLastError ()) else Imprimir (quotOrderSend colocado exitosamente) --- Variáveis ​​regulares extern double LotSize 0.1 extern double LotIncrement 0.1 extern double TakeProfitPip 10 extern double StopLossPip 21 se (Lotes 0) se (Multiplicador) se (M Ultiplier 1) Lots NormalizeDouble (LotSize, 2) else Lots NormalizeDouble (LotSize, 2) double xTp 0 se (TakeProfitPip0) xTp Ask (TakeProfitPipPoint) OrderSend (Symbol (), OPBUY, Lots, Ask, Slippage, Bid (StopLossPipPoint), Ask (TakeProfitPipPoint), TradeComment, Reference, Green) Erro GetLastError () if (Erro 0) Write (quotError opening BUY order: quot ErrorDescription (Error) quot (Cquot Error quot) Pergunte: quot Ask quot Slippage: quot Slippage) else TickPrice Close0 TradeAllowed false if (Lots 0) if (Multiplicador) if (Multiplier 1) Lots NormalizeDouble (LotSize, 2) else Lots NormalizeDouble (LotSize, 2) double xTp 0 se (TakeProfitPip0) xTp Bid - (TakeProfitPipPoint) OrderSend (Symbol (), OPSELL, Lots, Bid, Slippage, Bid (StopLossPipPoint), Bid - (TakeProfitPipPoint), TradeComment, Referência, Vermelho) resOrderSend (Symbol (), OPSELL, LotsOptimized (), Bid, 3, Bid (StopLossPoint), Bid - (TakeProfitPoint ), QuotSellquot, MAGICMA, 0, Vermelho) Erro GetLastError () se (Erro 0) Escrever (quotError opening VENDER ordem: Quot ErrorDescription (Error) quot (Quota de erro do Dquot) Lance: quot Bid quot Slippage: quot Slippage) else TickPrice Close0 TradeAllowed false Eu acredito que posso confirmar isso por exemplo. Alpari Micro Account (deve ser uma conta quotlivequot), você deve fazer OrderSend com zero SL e TP e, em seguida, imediatamente, modifique a ordem com o SL e TP necessários para que ele funcione. Eu faço um OrderSelect diretamente depois para que eu possa usar OrderOpenPrice () como o preço aberto na lista de parâmetros OrderModify. Isso é o que eu mudei no meu código e parece funcionar agora. Eu acho que eu tive o mesmo problema com o comerciante do Eixo, então talvez eu o tente novamente há algum tempo. A única coisa que fiz foi certificar-se de que, quando enviei o OrderSend, havia um número mágico não zero sobre ele. Boa sorte a todos.

No comments:

Post a Comment