Tuesday, November 15, 2016

Forex Mql4 Error 130

Alguien me puede ayudar con este error que estoy enviando una Orden mediante este comando: Ticket OrderSend (Símbolo (), OPBUY, 1, Pregunta, 3, 30, 30, quotBuyOrderquot, 0, 0, Verde) quiero comprar 1 lote y establecer StopLoss y TakeProfit a 30 pips y estoy receivingthe de error 130 - paradas no válidos. Tengo cuenta de demostración AlpariUK y estoy tratando de que el par EURUSD con el followingMarketInfo: MODEPOINT - gt 0,0001 MODEDIGITS - gt 4 MODESPREAD - gt 2 MODESTOPLEVEL - gt 2 MODELOTSIZE - gt 100000 MODETICKVALUE - gt 10 MODETICKSIZE - gt 0,0001 MODEMINLOT - gt 0,01 MODELOTSTEP - gt 0,01 MODEMAXLOT - gt 99999 Gracias por cualquier ayuda Im que consigue el mismo error con los siguientes fragmentos de código. Yo simplemente no puedo ver por qué mi código se comporta de esta manera, pero tal vez usted o algún otro modo conectado persona puede ser capaz de detectar lo que se perdió Ive. Aquí está el fragmento de código que produce. y aquí está el resultado de la traza que muestra las entradas al error y el código de error en sí mismo. Alguna idea de lo que he ya ha recibido mal aquí Im que consigue el mismo error con los siguientes fragmentos de código. Yo simplemente no puedo ver por qué mi código se comporta de esta manera, pero tal vez usted o algún otro modo conectado persona puede ser capaz de detectar lo que se perdió Ive. Aquí está el fragmento de código que produce. y aquí está el resultado de la traza que muestra las entradas al error y el código de error en sí mismo. Alguna idea de lo que he ya ha recibido mal aquí Busque NormalizeDouble () en el Buscar Documentación para NormalizeDouble () en la documentación que parece poco probable que sea la respuesta. No es como si los precios se especifican para 6 o 7 cifras (y mi experiencia personal es que esto no importa de todos modos - redondea los precios según sea necesario el corredor). Vale la pena teniendo en cuenta que los theres un nuevo-ish motivo del error 130, que (creo) ha llegado a existir ya que los mensajes originales sobre este tema en 2008. Si el agente utiliza algo así como el puente de Boston Technologies, a continuación, los s / L y T / P tienen que ser colocados por separado de una orden de mercado, y (creo) se obtiene el error 130 si se intenta hacer lo s / l y t / p como parte de la orden del mercado. En otras palabras, tratar de colocar sólo la orden de compra por sí mismo primero, y luego hacer un OrderModify () para poner en el s / l y t / p. Eso parece poco probable que sea la respuesta. No es como si los precios se especifican para 6 o 7 cifras (y mi experiencia personal es que esto no importa de todos modos - redondea los precios según sea necesario el corredor). Vale la pena teniendo en cuenta que los theres un nuevo-ish motivo del error 130, que (creo) ha llegado a existir ya que los mensajes originales sobre este tema en 2008. Si el agente utiliza algo así como el puente de Boston Technologies, a continuación, los s / L y T / P tienen que ser colocados por separado de una orden de mercado, y (creo) se obtiene el error 130 si se intenta hacer lo s / l y t / p como parte de la orden del mercado. En otras palabras, tratar de colocar sólo la orden de compra por sí mismo primero, y luego hacer un OrderModify () para poner en el s / l y t / p. // las variables regulares extern doble Tamaño de terreno 0,1 extern doble LotIncrement 0,1 extern doble TakeProfitPip 10 extern doble StopLossPip 21 si (Lotes 0) // si (multiplicador) si (1) Comercio al multiplicador NormalizeDouble (Tamaño de terreno, 2) otro montón NormalizeDouble (Tamaño de terreno, 2 ) doble xtp 0 si (TakeProfitPip0) xtp Pregunta (TakeProfitPipPoint) OrderSend (Símbolo (), OPBUY, Lotes, para hacer, deslizamiento, Oferta (StopLossPipPoint), Ask (TakeProfitPipPoint), TradeComment, de referencia, verde) Error GetLastError () si (Error 0) Escribir (quotError apertura orden de compra: ErrorDescription quot (error) quot (Cquot quot error) Pregunta: Pregunta quot quot deslizamiento: quot deslizamiento) otra cosa TickPrice CLOSE0 TradeAllowed falso si (Lotes 0) // si (multiplicador) si (1 Multiplicador Lotes NormalizeDouble) (Tamaño de terreno, 2) Lotes demás NormalizeDouble (Tamaño de terreno, 2) doble xtp 0 si (TakeProfitPip0) xtp bid (TakeProfitPipPoint) OrderSend (Símbolo (), OPSELL, Lotes, Puja, deslizamiento, Oferta (StopLossPipPoint), BID - (TakeProfitPipPoint), TradeComment, de referencia, rojo) // resOrderSend (Símbolo (), OPSELL, LotsOptimized (), Bid, 3, Oferta (StopLossPoint), bid (TakeProfitPoint), quotSellquot, MAGICMA, 0, rojo) Error GetLastError ( ) si (Error 0) Escribir (apertura quotError orden de VENTA: quot ErrorDescription (error) quot (dquot quot error) de la subasta: la subasta quot quot deslizamiento: quot deslizamiento) otra cosa TickPrice CLOSE0 TradeAllowed falsa creo que puedo confirmar que para, por ejemplo. Alpari Cuenta Micro (tiene que ser una cuenta quotlivequot), que tiene que ver con cero OrderSend SL y TP y luego inmediatamente después, modificar el orden con el SL y TP requerido para conseguir que funcione. Hago un OrderSelect inmediatamente después para que pueda utilizar OrderOpenPrice () como el precio de apertura en la lista de parámetros OrderModify. Eso es lo que ha cambiado en mi código y parece que funciona ahora. Creo que tenía el mismo problema con el eje comerciante así que tal vez Ill probarlo allí de nuevo en algún momento. La única otra cosa que hice fue asegurarse de que cuando envié el OrderSend, había un número mágico no es cero en él. Buena suerte a all. Error 130 - parada válido. ¿Por ERRNOERROR 0 devuelve ningún error. ERRNORESULT 1 devuelve ningún error, pero el resultado es desconocido. ERRCOMMONERROR 2 Error común. ERRINVALIDTRADEPARAMETERS 3 parámetros comerciales no son válidos. ERRSERVERBUSY 4 servidor Comercio está ocupado. Versión 5 ERROLDVERSION antiguo de la terminal del cliente. ERRNOCONNECTION 6 No hay conexión con el servidor de comercio. ERRNOTENOUGHRIGHTS 7 No hay suficientes derechos. ERRTOOFREQUENTREQUESTS 8 peticiones demasiado frecuentes. ERRMALFUNCTIONALTRADE 9 operación de comercio disfuncional. ERRACCOUNTDISABLED 64 Cuenta deshabilitada. ERRINVALIDACCOUNT 65 de cuenta no válido. ERRTRADETIMEOUT 128 de tiempo de espera del Comercio. ERRINVALIDPRICE 129 Precio incorrecto. ERRINVALIDSTOPS 130 paradas no válidos. ERRINVALIDTRADEVOLUME 131 volumen de comercio no es válido. ERRMARKETCLOSED 132 mercado está cerrado. ERRTRADEDISABLED 133 Comercio está desactivado. ERRNOTENOUGHMONEY 134 No hay suficiente dinero. ERRPRICECHANGED 135 Precio cambió. ERROFFQUOTES 136 Fuera de cuota. ERRBROKERBUSY 137 Broker está ocupado. ERRREQUOTE 138 Requote. ERRORDERLOCKED 139 Orden está bloqueado. ERRLONGPOSITIONSONLYALLOWED 140 posiciones largas sólo se permite. ERRTOOMANYREQUESTS 141 Demasiadas solicitudes. ERRTRADEMODIFYDENIED 145 Modificación negó porque el orden demasiado cerca del mercado. contexto ERRTRADECONTEXTBUSY 146 Comercio está ocupado. ERRTRADEEXPIRATIONDENIED 147 Vencimientos son negadas por corredor. ERRTRADETOOMANYORDERS 148 La cantidad de órdenes abiertas y pendientes ha alcanzado el límite establecido por el corredor. StopLossLevel NormalizeDouble (bajo, Dígitos) CalcStopLossPips (MathAbs (Bid StopLossLevel)) / pp si (UseTakeProfit) TakeProfitLevel NormalizeDouble (Bid - TakeProfitSell Point, Dígitos) otra cosa TakeProfitLevel 0.0 Imprimir (Sell StopLoss:, DoubleToStr (StopLossLevel, Dígitos)) Imprimir (TP :, DoubleToStr (TakeProfitLevel, dígitos)) Imprimir (subasta:, DoubleToStr (Bid, dígitos)) OrderSend (Símbolo (), OPSELL, lotsForOrder, NormalizeDouble (Bid, dígitos), deslizamiento, NormalizeDouble (Oferta (CalcStopLossPips Point), dígitos) , NormalizeDouble (TakeProfitLevel, dígitos), China (InternalMagicNumber), InternalMagicNumber, 0, Rosa profundo) OrderSend int OrderSend (símbolo de cadena. // símbolo int cmd. // doble operación de volumen. // volumen doble precio. // int precio de deslizamiento. // deslizamiento doble stoploss. // pérdida de la parada doble takeprofit. // tomar ganancias cadena commentNULL. // magic0 comentario int. // número mágico de fecha y hora expiration0. // pendientes de vencimiento orden de los colores arrowcolorclrNONE // color) en el símbolo para el comercio. en el tipo de operación. Puede ser cualquiera de la operación de enumeración Comercio. en Número de lotes. en el deslizamiento máximo precio de compra o venta de órdenes. en el nivel de stop loss. en el nivel de Take Profit. en la Orden de comentario de texto. La última parte del comentario puede ser cambiado por servidor. en la Orden número mágico. Se puede utilizar como identificador definido por el usuario. en el tiempo de caducidad de pedido (para la espera de órdenes solamente). en color de la flecha de apertura en el gráfico. Si el parámetro no está presente o tiene CLRNONE abertura valor flecha no está dibujado en el gráfico. Devuelve el número del ticket asignado a la orden por parte del servidor de comercio o -1 si falla. Para obtener información adicional del error, hay que llamar a la función GetLastError (). A la apertura de una orden de mercado (o OPSELL OPBUY), sólo los últimos precios de la subasta (para la venta) o preguntar (para comprar) se pueden utilizar como precio de apertura. Si la operación se realiza con una seguridad diferente de la actual, la función MarketInfo () debe ser utilizado con MODEBID o parámetro MODEASK de las últimas cotizaciones para que se obtenga esta seguridad. Calculado o precio unnormalized no se puede aplicar. Si no ha habido el precio de apertura solicitada en el hilo del precio o no se ha normalizado de acuerdo a la cantidad de dígitos después del punto decimal, se generará el error 129 (ERRINVALIDPRICE). Si el precio de apertura solicitada es totalmente fuera de fecha, el error 138 (ERRREQUOTE) se generará de forma independiente en el parámetro de deslizamiento. Si el precio solicitado no está actualizado, pero presente en el hilo, se abrirá el pedido al precio actual y sólo si el precio actual se encuentra dentro de la gama de precio-deslizamiento. Stoploss niveles y TakeProfit no pueden estar demasiado cerca del mercado. La distancia mínima de los niveles de parada en los puntos se puede obtener usando la función MarketInfo () con el parámetro MODESTOPLEVEL. En el caso de niveles de parada erróneas o no normalizadas, se generará el error 130 (ERRINVALIDSTOPS). Un valor cero de MODESTOPLEVEL significa o bien la ausencia de toda restricción a la distancia mínima de Stop Loss / Take Profit o el hecho de que un servidor de comercio utiliza algunos mecanismos externos para el control del nivel dinámico, que no se pueden traducir en el terminal del cliente. En el segundo caso, GetLastError () puede devolver error 130, ya que es en realidad MODESTOPLEVEL quotfloatingquot aquí. En la colocación de un pedido pendiente, el precio de apertura no puede ser demasiado cerca del mercado. La distancia mínima del precio pendiente del mercado actual una en puntos se puede obtener usando la función MarketInfo () con el parámetro MODESTOPLEVEL. En caso de precio abierto falsa de un pedido pendiente, se generará el error 130 (ERRINVALIDSTOPS). La aplicación de la espera del turno de caducidad fin se puede desactivar en algunos servidores comerciales. En este caso, cuando se especifica un valor distinto de cero en el parámetro de caducidad, se generará el error 147 (ERRTRADEEXPIRATIONDENIED). En algunos servidores comerciales, la cantidad total de las órdenes abiertas y pendientes puede ser limitado. Si se ha excedido este límite, se abrirá ningún nuevo orden (o se colocará ningún pedido pendiente) y el servidor devolverá el comercio de error 148 (ERRTRADETOOMANYORDERS). // ------------------------------------------------ ------------------ // Guión función de inicio del programa // ------------------------ ------------------------------------------ vacío OnStart () // - - obtener mínimo nivel de parada doble minstoplevel MarketInfo (Símbolo (), MODESTOPLEVEL) Imprimir (quotMinimum Detener Levelquot, minstoplevel, pointsquot quot) precio de doble Pide // --- calculada SL y TP precios deben ser normalizada doble stoploss NormalizeDouble (Bid - minstoplevel Point . Los dígitos) doble takeprofit NormalizeDouble (Bid minstoplevel Point. dígitos) // --- orden del lugar de mercado para comprar 1 lote OrderSend billete int (Símbolo (), OPBUY, 1, precio, 3, stoploss, takeprofit, quotMy orderquot, 16384, 0, clrGreen) si (ticketlt0) Imprimir (quotOrderSend falló con el quot de error. GetLastError ()) else impresión (quotOrderSend coloca successfullyquot) // --- Forex Blog de error OrderSend 130 ¿Qué hay que hacer 6 de octubre de, 2008 (actualizado el 23 de abril , 2013) por Andriy Moraru los asesores expertos que trabajan en un corredor puede dejar de trabajar en otro problema con ellos a menudo se encuentra en OrderSend Error 130. Si aparece un error 130 en el registro de su plataforma MetaTrader cuando su asesor de expertos debe ser la apertura de una posición, entonces eso significa que el stop-loss o tomar de lucro niveles se establecen para cerrar al precio de mercado actual. En la documentación MQL este error se llama ERRINVALIDSTOPS (laquoInvalid stopsraquo). Algunos corredor de la divisa establece la distancia mínima entre el precio actual y los niveles de stop-loss / take-profit, para evitar la reventa o abusar de los retrasos de la cotización. That146s no es un problema para la mayoría de los asesores expertos que el uso don146t scalping. Para evitar este error, es necesario cambiar el código expert146s. En primer lugar, es posible que desee saber what146s la stoplevel mínimo se establece en el servidor de MetaTrader broker146s. La adición de esta línea de salida de código voluntad del stoplevel mínimo actual para el par de divisas de la carta, donde se ejecuta la EA: Imprimir (MarketInfo (Símbolo (), MODESTOPLEVEL)) Usted shouldn146t a utilizar stop-loss o el nivel de tener fines de lucro, la cual están más cerca que MarketInfo (Símbolo (), MODESTOPLEVEL) al precio de mercado actual. Si su EA calcula las paradas y los despegues con ganancias de forma dinámica, esto es lo que sugiero que hagas: Declarar una variable global para el StopLevel mínimo por ejemplo: int StopLevel En la función init () de su asesor de expertos definen el StopLevel mínimo: StopLevel MarketInfo ( símbolo (), MODESTOPLEVEL) MarketInfo (símbolo (), MODESPREAD) Tenga en cuenta, que la adición de una diferencia difusión también es necesaria. La próxima vez que se calcula su tope de pérdida o tomar de lucro, sólo les compruebe que no será inferior a StopLevel: si (StopLoss lt StopLevel) StopLoss StopLevel si (TakeProfit lt StopLevel) TakeProfit StopLevel Don146t se olvide de actualizar los precios actuales del mercado con RefreshRates () antes de la adición de los niveles del stop-loss / take fines de lucro para las tasas reales del mercado. Eso debería ayudar en la mayoría de los casos. Al menos, para mí como el manejo del error OrderSend 130 siempre ha trabajado. Actualizar 2011-12-15: Algunos corredores (Las más ECN) don8217t permiten asesores expertos para establecer el stop-loss o tomar de lucro nivel en la función OrderSend (), incluso si it8217s mayor que su MODESTOPLEVEL. En este caso, you8217ll tener que cambiar su EA para enviar órdenes sin SL y TP y luego usar la función () para establecer OrderModify stop-loss y take-beneficio en la posición abierta. Si tienes alguna pregunta o sugerencia respecto a OrderSend Error 130 problema con asesores expertos, por favor no dude en responder utilizando el siguiente formulario. Mensajes relacionados: 64 Las respuestas a 8220OrderSend Error 130 Lo que a Do8221 Khan Responder: 16 de de agosto de 2013 a las 17:04 me siguen dando este error sin parar. mi función OrderSend () es la siguiente: currentOrder OrderSend (currenciesi, OPSELL, 0,1, Puja, 3, Oferta (MarketInfo (currenciesi, MODESTOPLEVEL) MarketInfo (currenciesi, MODESPREAD)) 0,0001, bid (MarketInfo (currenciesi, MODESTOPLEVEL) MarketInfo ( currenciesi, MODESPREAD)) 0.0001,8221Sell8221, Blueviolet) las cosas en la pérdida de la parada y tomar áreas de beneficio eran cosas que el Internet me dijo que hiciera, pero sin embargo, todavía no funciona. Por favor, ayuda Tal vez, usted está tratando de que en la cuenta ECN, donde hacer pedidos a SL y TP está prohibido en ese caso, usted tiene que enviar primero una orden sin SL / TP y luego modificarlo para añadir SL / TP. Responder Khan: August 18th, 2013 a 23:27 ¿Puede usted decirme lo que tengo que poner en stoploss si quiero ponerlo a 5 puntos. y takeprofit a diez pips para ambas compras y ventas contratadas Gracias por responder a la publicación original. Comprar oficios: Pregunta 8211 5 Point Pregunta operaciones de venta de 10 puntos: Valor mínimo de 5 puntos Pregunta 8211 corredor de 10 puntas 8220Some Forex establece la distancia mínima entre el precio actual y los niveles de stop-loss / take fines de lucro para impedir la reventa o abusar de los retrasos de la cotización. 8221 ¿Cuál es la razón de intermediario para hacer eso si se puede detener con la mano loos Debido it8217s casi imposible abusan constantemente el stop-loss baja manualmente. abusadores reales crean EA que hacen eso. Hola, Gracias por la informacion 8211 pero tengo una pregunta que espero que pueda ayudar. Mis lugares EA órdenes pendientes, con TP y SL colocan entre 25 y 50 pips desde abierta. De vez en cuando me siento de error 130, supongo que debido a que el SL está cerca de precios actual. Sin duda, el error sólo debería ocurrir cuando SL es demasiado cerca del precio de apertura, no el precio actual de un comercio pendiente. el ajuste de la SL demasiado va a cambiar la naturaleza del comercio 8211 alguna idea para éste. Por cierto estoy usando Alpari UK. Gracias Richard no estoy seguro pero creo que no porque it8217s SL o TP están cerca del precio actual, pero debido a que su precio de apertura en la orden pendiente es demasiado cerca de la actual. Otra cuestión actuales se ocupa de Mercado vs Ejecución Ejecución Instantánea. Uno de ellos es MM con la ejecución inmediata y la otra es que no se trata de ejecución de mercado. Ejecución del mercado que se realiza por STP y ECN no puede enviar TP y SL junto con la orden. Tiene que modificar el orden y luego ponga el TP y SL. ¿Por qué piensa así que Marcos Respuesta: 2ª marzo 2010 a las 24:57 puede ser demasiado pequeño deslizamiento es la causa del error 130 ¿Cómo se deslizamiento calcolated por ejemplo, el deslizamiento es 3. ¿Cuál es 3, por ejemplo, precio de 1,1111 3 1,1114 es permitido o 1.11111 3 1.11114 se permite que sea 3 puntos son normales o fraccionada, depende de la implementación particular de EA, pero OrderSend error 130 no tiene nada que ver con el deslizamiento, sino más bien con la tasa de SL, TP o un order8217s pendientes abierto precio. Parabns pela explicao hacer erro 130. E parabns por ajudar e esclarecer os nefitos de EA. Gostei muito da simplicidade da explicao. i Allways dieron OrderSend de error 130 que es muy rentable mq4 revendedor puede usted por favor solucionar este fin enviar error que puedo enviar por correo youUsing la mql4 función mql4 OrderModify por completo principiantes Tutorial Parte 19 82208221Note que en este curso de iniciación no vamos a estar trabajando con órdenes pendientes. Si usted quiere aprender acerca de los pedidos pendientes (como la exención del límite, Sell Limit, Compra-Stop y Sell Stop) y luego miro a mi curso prima algorítmica Para Success.82218221 Me exactamente Nees esta parte, ¿cómo puedo comprar este curso prima Actualmente estoy trabajando en el comercio algorítmico Por supuesto éxito. ¿Hay alguna temas específicos que me gustaría cubrir en relación con Compra / Venta-Limit y compra / venta-Stop órdenes Hola Kirill necesito tal cosa: en primer lugar voy a abrir una venta o compra de pedido (ejecución en el mercado) permite decir con TP10 pepitas y pepitas SL20, entonces necesito un experto para realizar un algoritmo de esta manera: al igual que abrí mi primer pedido manualmente el experto debe abrir una. Para parar justo en el medio de primer orden y su SL, por ejemplo, si mi primera orden fue comprar, TP10, SL20, el experto debe abrir una orden pendiente de 10 pips por debajo de la primera posición en forma de stop de venta con TP igual a la primera para SL, SLTP de primer orden. cuando la segunda orden fue ejecutada el experto debe repetir el primer orden con la misma forma y tp sl pero en de por parada. y este proceso continuará hasta las todas las órdenes se ven afectados por el mercado


No comments:

Post a Comment