OrdersTotal () gt0 y OrderSelect (0.) Hace que el EA sea incompatible con todos los demás, incluyendo el comercio manual. Si el OrderSelect falla, también lo hace todo. Siempre probar códigos de retorno Si el OrderClose / OrderDelete falla tiene un bucle infinito. Siempre pruebe los códigos de retorno y los errores de impresión. ¿Por qué utilizar la función MarketInfo llamada en lugar de simplemente pedir o el más simple OrderClosePrice () Una vez que se elimina el último pedido, ¿qué es OrderType () ¿Qué es OrderTicket, no has seleccionado nada.¿Qué se supone que están haciendo. Ellos son llamados de Funciones que devuelven int pero esto devolverá true o false. Y ni siquiera utilizar el valor de retorno de todos modos. // ¿qué es el punto OrderSend int OrderSend (símbolo de cadena // símbolo int cmd // operación doble volumen // volumen doble precio // precio int deslizamiento // deslizamiento doble stoploss // stop loss doble takeprofit. / Take profit string commentNULL // comentario int magic0. // número mágico datetime expiration0. // pendiente de caducidad del pedido color arrowcolorclrNONE // color) en Symbol for trading. En Tipo de operación. Puede ser cualquiera de la enumeración de Operaciones Comerciales. En Número de lotes. En Desplazamiento máximo del precio para órdenes de compra o venta. En el nivel Stop loss. En Tome el nivel de beneficio. En el texto del comentario de la orden. La última parte del comentario puede ser cambiada por el servidor. En el número mágico de la orden. Puede utilizarse como identificador definido por el usuario. En el tiempo de caducidad del pedido (sólo para órdenes pendientes). En color de la flecha de apertura en la carta. Si el parámetro falta o si la flecha de apertura del valor CLRNONE no está dibujada en el gráfico. Devuelve el número del ticket asignado al pedido por el servidor comercial o -1 si falla. Para obtener información de error adicional, uno tiene que llamar a la función GetLastError (). En la apertura de una orden de mercado (OPSELL u OPBUY), sólo los últimos precios de la oferta (para la venta) o Ask (para la compra) se puede utilizar como precio abierto. Si se realiza la operación con una seguridad diferente a la actual, se debe utilizar la función MarketInfo () con el parámetro MODEBID o MODEASK para obtener las cotizaciones más recientes de esta seguridad. No se puede aplicar el precio calculado o no normalizado. Si no ha habido el precio abierto solicitado en el hilo de precios o no se ha normalizado de acuerdo con la cantidad de dígitos después del punto decimal, se generará el error 129 (ERRINVALIDPRICE). Si el precio abierto solicitado está completamente desactualizado, el error 138 (ERRREQUOTE) se generará independientemente en el parámetro slippage. Si el precio solicitado está desfasado, pero presente en el hilo, el pedido se abrirá al precio actual y sólo si el precio actual se encuentra dentro del rango de desviación de precios. Los niveles de StopLoss y TakeProfit no pueden estar demasiado cerca del mercado. La distancia mínima de los niveles de parada en puntos puede obtenerse utilizando la función MarketInfo () con el parámetro MODESTOPLEVEL. En el caso de niveles de parada erróneos o no normalizados, se generará el error 130 (ERRINVALIDSTOPS). Un valor cero de MODESTOPLEVEL significa ausencia de restricciones sobre la distancia mínima para Stop Loss / Take Profit o el hecho de que un servidor comercial utiliza mecanismos externos para el control de nivel dinámico, que no pueden traducirse en el terminal cliente. En el segundo caso, GetLastError () puede devolver el error 130, porque MODESTOPLEVEL es realmente quotfloatingquot aquí. En la colocación de una orden pendiente, el precio abierto no puede estar demasiado cerca del mercado. La distancia mínima del precio pendiente del mercado actual en puntos se puede obtener utilizando la función MarketInfo () con el parámetro MODESTOPLEVEL. En caso de precio abierto falso de una orden pendiente, se generará el error 130 (ERRINVALIDSTOPS). La aplicación del tiempo de caducidad del pedido pendiente puede desactivarse en algunos servidores comerciales. En este caso, cuando se especifica un valor distinto de cero en el parámetro expiration, se generará el error 147 (ERRTRADEEXPIRATIONDENIED). En algunos servidores comerciales, la cantidad total de órdenes abiertas y pendientes puede ser limitada. Si se ha excedido este límite, no se abrirá ninguna orden nueva (o no se colocará ninguna orden pendiente) y el servidor comercial devolverá el error 148 (ERRTRADETOOMANYORDERS). // ------------------------------------------------ ------------------ // Función de inicio del programa de guiones // ------------------------ ------------------------------------------ void OnStart () // - - obtener el nivel mínimo de parada doble minstoplevel MarketInfo (Symbol (), MODESTOPLEVEL) Imprimir (quotMinimum Stop Levelquot, minstoplevel, quot pointsquot) precio doble Ask // --- calculado SL y TP precios deben ser normalizados doble stoploss NormalizeDouble (Bid - minstoplevel Point (Dígitos) doble toma NormalizeDouble (Oferta minstoplevel Punto Dígitos) // --- poner el orden de mercado para comprar 1 lote int ticket OrderSend (Símbolo (), OPBUY, 1, precio, 3, stoploss, takeprofit, quotMy orderquot, 16384, 0, clrGreen) if (ticketlt0) Imprimir (quotOrderSend falló con el error quot. GetLastError ()) else Imprimir (quotOrderSend colocado con éxitoquot) // --- 1. Cuando adjuntamos nuestro asesor experto y ejecutamos el Strategy Tester, los resultados no Mostrar en el gráfico activo. Tenemos que hacer clic en el botón quotopen chartquot en el tester de estrategia para abrir el gráfico que muestra los resultados, y el quotsmiley facequot también se ha ido. ¿Qué estamos haciendo la prueba equivocada funciona con gráfico virtual no activo. Botón quotopen chartquot abre este gráfico virtual con todas las flechas. Puede hacer doble clic en alguna línea de resultado y ver la flecha apropiada 2. Seguimos recibiendo un mensaje quotinvalid pricequot aprender sobre forex. Abrir la compra y cerrar la venta con preguntar. La venta abierta y la compra cercana que usa la oferta -3 pips para el slippage 3. Conseguimos porciones de error 138 - Requote. lo mismo que arriba. Oferta difiere de pedir en pips de propagación. El precio no válido puede diferir del precio correcto en pips de propagación también. Pero el servidor no sabe que usted utiliza wittingly precio no válido y dice quotprice se cambia, amigo, requotequot (la prueba asume la ejecución inmediata) Sobre esto, he funcionado a muchos expertos en el probador y tengo algunas ediciones. Al igual que Benna, en la revista me sale precio quotinvalid en OrderSendquot. Sin embargo, tengo todas mis órdenes de compra para comprar en pedir y vender órdenes para vender en la licitación, ¿cómo puedo posiblemente tratando de introducir un precio no válido? Este problema es estrictamente en probador de estrategia y no en prueba de demostración. Tengo un otro problema también que abriré otro hilo para.
No comments:
Post a Comment