Wednesday, November 23, 2016

Forex Ordersend Error 130

Recibo un mensaje de error al intentar abrir una posición larga: OrderSend Error 130 Error al abrir larga Orden: 130 Aquí está el código, el cual fue modificado a partir de un asesor experto que puede abrir operaciones sin error. Así que no estoy seguro de por qué estoy recibiendo este error. si (BarCloseltBollingerLower ampamp trendlt0) // Precio de cierre es inferior a la línea superior de Bollinger // si (trendlt0) // tendencia es hacia abajo ticketOrderSend (Símbolo (), OPBUY, Lotes, Ask, 3, Ask-TrailingStop, 0, quotCounter Tendencia : Long orden Placedquot, 16384,0, verde) // fin largo Abrir si (ticketgt0) si (OrderSelect (billete, SELECTBYTICKET, MODETRADES)) Imprimir (orden quotBUY abrió quot, OrderOpenPrice (.)) else impresión (quotError apertura orden de largo . quot, retorno GetLastError ()) return (0) (0) Verifica el valor de parada es correcta, y si sigue siendo un problema, normalizada. Imprimir (quot ---------------------------------- valor de parada es quot, Ask-TrailingStop) ticketOrderSend (Símbolo ( ), OPBUY, Lotes, Pregunta, 3, Ask-TrailingStop, 0, quotCounter Tendencia: largo orden Placedquot, 16384,0, verde) // Abra orden de largo su preguntan podría decir 1.340 en el EUR / USD por ejemplo. ¿Cuál es el valor de su TrailingStop. Debe ser algo así como 0,0010 o 0,0020 0,0011 o 0,133 o o etecetera. Usted está tratando de restar 0.0001s y no enteros tales como 10, 20, 11, etc. Si quieres TrailingStop sea un número entero que un usuario introduce, como 10 por ejemplo, entonces usted tiene que hacer es 0,0010 por primera vez en el fin de restar desde Pregunta. Usted puede hacer esto por lo siguiente: TrailingStop Point. El punto en el EURUSD 0,0001. Así que es posible que desee cambiar su código a la siguiente: ASK (TrailingStop Point), que es el mismo que Ask-TrailingStop Point. A continuación se muestra el código de uno de mis guiones, para que pueda ver cómo se puede hacer esto. OrderSend (Símbolo (), OPBUY, dLotSize, Pregunta, 3, Pregunta -. StoplossPoint Pregunta TakeprofitPoint, strOrderComment, MAGICID, 0, Verde) // Abrir Comprar Orden Esperanza esta works. Can alguien me ayuda con este error que estoy enviando una Orden usando 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 son 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. I han creado un EA, que funciona bien para mí, pero he tratado de cambiar un poco, pero no puede llegar a hacer que funcione. Todo lo que quiero que haga es abrir una compra con una parada final. El problema es, la parada final es diferente para cada comercio (que depende del máximo de la vela actual). Siempre da ordermodify de error 130, lo que significa que la pérdida de la parada está demasiado cerca. Eso no es posible, la causa que el comercio diario y la pérdida de la parada es siempre al menos 100 pips. Supongo que el problema podría ser que de alguna manera siempre se calcula el límite de pérdidas 0, causar la parada final se calcula siempre justo después de la operación se coloca y se inicia la función ordermodify después de eso. Pero traté de poner el trailing stop 150, por ejemplo, y todavía me da ese error (pero esta vez sólo a veces). Si alguien puede ayudar, estaría muy contento. Thx aquí está el código (no lo es todo, que no tendría encaja aquí) Yo creo que hay que normalizar las expresiones quot Bid - TrailingStop Pointquot y quot Pregunta TrailingStop Pointquot porque TrailingStop es doble. Roger: Yo creo que hay que normalizar las expresiones quot Bid - TrailingStop Pointquot y quot Pregunta TrailingStop Pointquot porque TrailingStop es doble. el problema tiene que estar en otro lugar. pero gracias de todos modos -) Así, puso operador de impresión: impresión (quotBid - quot, Puja, TrailingStop quot - quot, TrailingStop, quot OrderStopLoss - quot, OrderStopLoss (), Bid quot - TrailingStop Point - quot, DoubleToStr (Bid - TrailingStop Point , 6)) el problema tiene que estar en otro lugar. pero gracias de todos modos -) Es difícil estar seguro, porque usted dice usted no ha publicado la totalidad del código. Sin embargo, por lo visto, tampoco un TrailingStop variable estática o global. Su declarada en la sección quotbullishquot. Por lo tanto, su valor será conseguir fijado en el momento de realizar un pedido, pero suele persistir después de eso. En llamadas posteriores para iniciar (), cuando una orden se modifica, la variable TrailingStop debe contener cero. Por lo tanto, la llamada a OrderModify () tratará de establecer la parada en Preguntar 0 Puntos de la subasta o 0 Puntos. Trate de poner un deslizamiento distinto de cero y comprobar que los 100 puntos es lo que piensa y no de 10 puntos en una plataforma de lugar 5 decimales. Imprimir los valores del comercio justo después de ver que son valores poco fiables tal indicador está volviendo correctas veces. Difícil estar seguro, porque usted dice usted no ha publicado la totalidad del código. Sin embargo, por lo visto, tampoco un TrailingStop variable estática o global. Su declarada en la sección quotbullishquot. Por lo tanto, su valor será conseguir fijado en el momento de realizar un pedido, pero suele persistir después de eso. En llamadas posteriores para iniciar (), cuando una orden se modifica, la variable TrailingStop debe contener cero. Por lo tanto, la llamada a OrderModify () tratará de establecer la parada en Preguntar 0 Puntos de la subasta o 0 Puntos. EXACTAMENTE. Eso es lo que he pensado, pero no veo ninguna manera, la forma de resolverlo. Por desgracia, no he estado programando desde hace mucho tiempo. Así que ya ves qué modo alguno, la forma de mantener el valor de TrailingStop para la siguiente repetición del programa supongo que sería empujar un poco hacia adelante con esta EA. Y gracias a todos por sus respuestas lo tanto, poner operador de impresión: impresión (quotBid - quot, Puja, TrailingStop quot - quot, TrailingStop, quot OrderStopLoss - quot, OrderStopLoss (), Bid quot - TrailingStop Point - quot, DoubleToStr (Bid - TrailingStop punto, 6)) 2009.05.18 22:31:51 1999.05.17 08:54 Rady EURUSD, Daily: Puja - 1,0674 TrailingStop - 0 OrderStopLoss - 1,1087 Bid-TrailingstopPoint - 1.067400 parada final es igual a 0. Esto confirma JJCS puesto. Así que ¿Cómo se mantiene el valor de la TrailingStop para otro programa de ejecución que estaba pensando en dar ese valor en la compra de entradas orden o número mágico, pero estoy seguro de que hay mejores maneras, la forma de hacerlo. Y este es el resto del código. Trate de poner un deslizamiento distinto de cero y comprobar que los 100 puntos es lo que piensa y no de 10 puntos en una plataforma de lugar 5 decimales. Imprimir los valores del comercio justo después de ver que son valores poco fiables tal indicador está volviendo correctas veces. 2009.05.18 22:50:02 02/01/2005 00:00 Rady EURUSD, diario, se abre 2 comprar dejar de 0.20 EURUSD a 1.3071 SL: 1.2963 TP: 1.3382 bien 2009.05.18 22:50:02 02/01/2005 00:00 EURUSD Rady , diario: TS-108 Esta parte debe estar bien. trailing stop es realmente 108 puntos. Trailing stop es igual a 0. Esto confirma JJCS puesto. Así que ¿Cómo se mantiene el valor de la TrailingStop para otro programa de ejecución que estaba pensando en dar ese valor en la compra de entradas orden o número mágico, pero estoy seguro de que hay mejores maneras, la forma de hacerlo. Trate de declarar como TrailingStop estática doble en vez de simplemente doble. Eso debería sobrevivir todo lo que no se vuelve a cargar de la EA. Para hacer frente a reinicios, usted necesitará para poner el valor en una variable global (GlobalVariableSet), o en un objeto de texto en el gráfico, o almacenarlo en un OrderSend file. OrderSend int (símbolo de cadena. // Símbolo int cmd. // Operación volumen doble. // volumen doble precio. // int precio de deslizamiento. // deslizamiento doble stoploss. // pérdida de la parada doble takeprofit. // tomar ganancias cadena commentNULL. // comentario int magic0. // 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 fallado con el error quot GetLastError (.)) else impresión (quotOrderSend coloca successfullyquot) // --- fijación de error 130 - MT4 Estas no son soluciones al problema. Entiendo cuál es el problema, no sé cómo el código que para resolverlo. Me sale error 130 debido al hecho de que mi precio abierto en mi stop de compra es cerrar a mi precio actual. Si el precio sigue subiendo nunca se llenan. Lo que estoy preguntando ¿hay una manera de aumentar el precio de apertura por la cantidad de X cuando esto sucede hasta que se llena Los dos enlaces y cientos de esos 62000 enlaces contener la solución, pero que me está diciendo ellos no. ¿Cómo es que Él te está diciendo la solución. Es justo ante sus ojos. Problema parece ser que necesitas a alguien para hacer el trabajo para usted. Buena suerte, pero eso no es la manera de aprender cómo codificar. Una sugerencia para usted: Con el fin de evitar que el error 130 para su pedido buystop, haga lo siguiente: a) obtener la Stoplevel de su corredor b) comparar el precio de mercado (Ask) Stoplevel a su BuyStop-precio calculado. si los precios de mercado Stoplevel gt BuyStop-precio, fijado BuyStop-precio de mercado al precio Stoplevel Buffer-x, entonces el OrderSend funcionará sin error al obtener 130 Buffer-x es a determinar por sí mismo y cuando se aplica debe estar en puntos, no en pips. Usuario desde el año 2016 Abr Estado: Junior Member 1 Mensaje Hola tengo este ea codificado proporciona a continuación, cualquiera que me ayude respecto a este error ruidosa 130 stopsgt ltinvalid // -------------------- ---------------------------------------------- // soubra2003v2. 0.mq4 // Derechos de autor 2016, soubra2003 // www. mql5 / en / usuarios / soubra2003 // ---------------------------- -------------------------------------- propiedad de derechos de autor quotCopyright 2016, propiedad soubra2003v2.0quot enlace quotwww. onesoubraquot versión de la descripción del inmueble propiedad quot2.00quot quot - Esta EA operará de la siguiente descripción: descripción de la propiedad quot quot 1) Comprar condición: La orden pendiente se configurará como un mayor precio del anterior. Distancia vela por la descripción de la propiedad user. quot quot 2) Vender condición: La orden pendiente se establece como precio más bajo del anterior. Vela - Distancia por la descripción de la propiedad user. quot quot 3) Actualizaciones de compra / venta a la espera de órdenes será por lo general con cada nueva vela open. quot descripción de la propiedad quot 4) ¿Cuál es nuevo: Stop dinámico, Break Even Money amplificador propiedad Management. quot estricta incluir la participación ltstdlib. mqhgt quot cadena SEP3 --------------------- Ajustes dinero Mgmt ------------------ --- quot // Opciones MM gtgtgtgtgtgtgtgt de entrada MM bool false // La administración del dinero de entrada doble CalcAmount 100 // Importe para la entrada de Vehículos Lote doble CalcLot 0,01 // Tamaño de Vehículos Lote Cantidad cada entrada doble Tamaño de terreno 0,10 // Tamaño del lote (fijo) de entrada cadena Sep1 quot --------------------- --------------------- Ajustes Trading quot // Opciones de comercio gtgtgtgtgtgtgtgt entrada doble orderdistance 10 // Distancia (Después de Prev. de alta amplificador A continuación Prev. bajo) extern doble buystoploss 50 // Comprar Stop Loss extern doble sellstoploss 50 // Sell Stop Loss extern doble buytakeprofit 100 // Comprar Take Profit extern doble selltakeprofit 100 // Vender Take Profit de entrada int deslizamiento 5 de entrada quot cadena sep2 --------------------- Punto de Equilibrio amp T. Detener -------- ------------- quot // punto de equilibrio amp T. La entrada de paro gtgtgtgtgtgtgtgt punto de equilibrio bool true // Punto de Equilibrio entrada de estado doble BreakEvenStart 5.0 // punto de equilibrio entrada de inicio doble BreakEvenValue 1.0 // Valor Punto de Equilibrio bool entrada TrailingStop cierto // Stop dinámico de entrada de estado doble TrailingStopVal 10,0 // Stop dinámico Valor entrada de cadena sep4 quot --------------------- Otros Ajustes ----- ---------------- quot // Otra de las opciones gtgtgtgtgtgtgtgt cadena de entrada tradescommentquotsoubra2003Version 2.0quot // Operaciones Comentario de color de entrada buyarrowcolor clrBlue // Comprar color de flecha de color de entrada sellarrowcolor clrRed // Venta de entrada color de flecha el color deletearrowcolor clrYellow // Borrar color de entrada modifyarrowcolor Orden Pendiente color de flecha clrWhite // Modificado Orden color de flecha --- // int slippage5 int int buymagicnumber821454145 sellmagicnumber192545451 doble tradepointPoint doble prevcdlhigh doble prevcdllow doble buyprice doble sellprice int int buyticketno sellticketno Un montón de hojas dobles StopSprdLevel MarketInfo (Símbolo (), MODESTOPLEVEL) MarketInfo (Símbolo (), MODESPREAD) doble BrokerMinLot MarketInfo (Símbolo (), MODEMINLOT) doble BrokerMaxLot MarketInfo (Símbolo (), MODEMAXLOT) prevcdlhigh High1 prevcdllow LOW1 buypriceprevcdlhighorderdistancetradepoint sellpriceprevcdllow-orderdistancetradepoint si (buystoplossgt0) buystoplossbuyprice-buystoplosstradepoint otra cosa buystoplossNULL si (buytakeprofitgt0) buytakeprofitbuypricebuytakeprofittradepoint demás buytakeprofitNULL si (sellstoplossgt0) sellstoplosssellpricesellstoplosstradepoint demás sellstoplossNULL si (selltakeprofitgt0) selltakeprofitsellprice-selltakeprofittradepoint demás selltakeprofitNULL si (NewBar ()) CloseAll () RefreshRates CloseAll () si (buycounter ()) () int tktbuy OrderSend ( símbolo (), OPBUYSTOP, Lotes, buyprice, deslizamiento, buystoploss, buytakeprofit, tradescomment, buymagicnumber, NULL, buyarrowcolor) si (tktbuylt0) Imprimir (quotOrder con error: quot, ErrorDescription (GetLastError ())) else impresión (quotOrder coloca successfullyquot ) si (sellcounter ()) RefreshRates () int tktsell OrderSend (Símbolo (), OPSELLSTOP, Lotes, sellprice, deslizamiento, sellstoploss, selltakeprofit, tradescomment, sellmagicnumber, NULL, sellarrowcolor) si (tktselllt0) Imprimir (quotOrder con error: quot , ErrorDescription (GetLastError ())) else impresión (quotOrder coloca successfullyquot) comentarios (quot vela anterior alta quot, NormalizeDouble (prevcdlhigh, dígitos), quot Pendiente Comprar orden debe ser quot, NormalizeDouble (buyprice, dígitos), quotnquot, quot vela anterior bajo quot, NormalizeDouble (prevcdllow, dígitos), quot Pendiente Vender orden debe ser quot, NormalizeDouble (sellprice, dígitos), quotnquot, quot ---------------------- -------------------------- quot, quotnquot, quot Gestión de dinero Estado: quot, MM, quotnquot, quot punto de equilibrio de estado: quot, el punto de equilibrio, quotnquot, quot Stop dinámico Estado: quot, TrailingStop, quotnquot, quot ------------------------------------ ------------ quot, quotnquot, Broker quot quot Stop Out, AccountStopoutLevel (), quotnquot, quot Broker nivel de Stop quot, StopSprdLevel, quotnquot, quot Broker Max Lote quot mascotas, BrokerMaxLot, quotnquot, quot Broker Min Lote mascotas quot, BrokerMinLot) // // --- BuyTrailingStop () for (int cnt10 cnt1ltOrdersTotal () CNT1) int ticketselectOrderSelect (CNT1, SELECTBYPOS) si (OrderStopLoss () NULL ampamp OrderType () ltOPSELL ampamp OrderSymbol () Símbolo () ampamp OrderMagicNumber () buymagicnumber) si (OrderType () OPBUY) si (TrailingStop ampamp TrailingStopValgt0) RefreshRates () bool ticketmodify OrderModify (OrderTicket (), OrderOpenPrice (), OrderStopLoss () (TrailingStopValtradepoint), OrderTakeProfit (), 0, modifyarrowcolor ) si (ticketmodify) Imprimir (quotTStop: Orden no puede ser modificado. quot, ErrorDescription (GetLastError ())) else impresión (quotTrailing Detener Done. quot) // SellTrailingStop () for (int cnt20 cnt2ltOrdersTotal () CNT2) int ticketselectOrderSelect (CNT2, SELECTBYPOS) si (OrderStopLoss () NULL ampamp OrderType () ltOPSELL ampamp OrderSymbol () Símbolo () ampamp OrderMagicNumber () sellmagicnumber) si (OrderType () OPSELL) si (TrailingStop ampamp TrailingStopValgt0) RefreshRates () int ticketmodify OrderModify (OrderTicket (), OrderOpenPrice (), OrderStopLoss () - (TrailingStopValtradepoint), OrderTakeProfit (), 0, modifyarrowcolor) si (ticketmodify) Imprimir (quotTStop:. El orden no puede ser modificado quot, ErrorDescription (GetLastError ())) else impresión (quotTrailing Detener Done. quot) // BuyBreakEven () for (int CNT3 0 CNT3 lt OrdersTotal () CNT3) int ticketselect OrderSelect (CNT3, SELECTBYPOS) si (OrderType () lt OPSELL ampamp OrderSymbol () Símbolo () ampamp OrderMagicNumber () buymagicnumber) si (OrderType () OPBUY) si (BreakEvenStart gt 0 ampamp equilibrio) RefreshRates ( ) int ticketmodify OrderModify (OrderTicket (), OrderOpenPrice (), OrderOpenPrice () (BreakEvenValuetradepoint), OrderTakeProfit (), 0, modifyarrowcolor) si (ticketmodify) Imprimir (quotBreak Incluso: Orden no puede ser modificado, quot, ErrorDescription (GetLastError ()) ) else impresión (quotBreak incluso llegar a estar Successfuly. quot) // SellBreakEven () for (int cnt4 0 cnt4 lt OrdersTotal () cnt4) int ticketselect OrderSelect (cnt4, SELECTBYPOS) si (OrderType () lt OPSELL ampamp OrderSymbol () Símbolo () ampamp OrderMagicNumber () sellmagicnumber) si (OrderType () OPSELL) si (BreakEvenStart gt 0 ampamp equilibrio) RefreshRates () int ticketmodify OrderModify (OrderTicket (), OrderOpenPrice (), OrderOpenPrice () - (BreakEvenValue TradePoint), OrderTakeProfit (), 0 , modifyarrowcolor) si (ticketmodify) Imprimir (quotBreak Incluso: Orden no puede ser modificado, quot, ErrorDescription (GetLastError ())) else impresión (quotBreak incluso llegar a estar Successfuly. quot) // ------------ -------------------------------------------------- ---- // // función CloseAll Experto --------------------------------------- --------------------------- vacío CloseAll () para (iltOrdersTotal i0 int () i) int selectOrderSelect (i, SELECTBYPOS, MODETRADES) si (OrderSymbol () Símbolo ()) si (OrderType () OPBUYSTOP OrderType () OPSELLSTOP) si (OrderMagicNumber () buymagicnumber OrderMagicNumber () sellmagicnumber) bool deleteOrderDelete (OrderTicket (), deletearrowcolor) si (eliminar) Imprimir (quotOrder no pudo ser eliminado , yerra la descripción: quot, ErrorDescription (GetLastError ())) else impresión (quotOrder ha sido Removed. quot)


No comments:

Post a Comment