Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
En Alpari no se pueden colocar stops inmediatamente durante la ejecución del mercado, primero hay que abrir una posición y luego modificarla
Метатестер пилит диск HDD
Versión 527.
Si miras en el monitor del proceso sigue y sigue con esta tontería.
No hay actividad en la red, no está conectado a la nube. El terminal y el metatester no están funcionando. No se está modificando ningún archivo.
No hay información sobre los nombres de los archivos en la captura de pantalla anterior.
Adjunte un registro más detallado en forma de texto.
En MQL4 se podía crear una orden con stops de inmediato, pero en MQL5 no es posible - hay que establecer los stops después de la creación de la orden.
¿Soy lento (por favor, dame un ejemplo de código) o es mi intención?
También puede crear una orden con un stop y un beneficio.
Usted tiene en su solicitud
reqest.sl=SL;
reqest.tp=TP;
Esto es un error. Los niveles de SL y TP deben establecerse a una distancia de los precios de mercado, por lo que estas líneas deben tener un aspecto similar al siguiente
para una posición de compra:
request.sl = SymbolInfoDouble(Symbol(),SYMBOL_BID) - SL * SymbolInfoDouble(Symbol(),SYMBOL_POINT);
request.tp = SymbolInfoDouble(Symbol(),SYMBOL_ASK) + TP * SymbolInfoDouble(Symbol(),SYMBOL_POINT);
invertir para una posición de venta
request.sl = SymbolInfoDouble(Symbol(),SYMBOL_ASK) + SL * SymbolInfoDouble(Symbol(),SYMBOL_POINT);
request.tp = SymbolInfoDouble(Symbol(),SYMBOL_BID) - TP * SymbolInfoDouble(Symbol(),SYMBOL_POINT);
Espero no equivocarme en ningún sitio...Por favor, aclare: en Alpari, ¿es imposible colocar una orden con stops con un solo comando OrderSend? ¿O nos referimos a que antes de fijar los stops de una orden existente, tenemos que llamar a PositionSelect?
Puedes, ¿por qué no?
¿En qué modo se realiza el pedido?
Puedes hacerlo con un stop y un beneficio.
Usted tiene en su consulta
reqest.sl=SL;
reqest.tp=TP;
Esto es un error. Los niveles de SL y TP deben establecerse a una distancia de los precios de mercado, por lo que estas líneas deben tener este aspecto:
Por supuesto, el SL y el TP se definen como el suyo. Además, escribí más arriba que si sólo agrego
m_request.action = TRADE_ACTION_SLTP;
OrderSend(m_request, m_result);
entonces las paradas se establecerán con éxito en el SL y el TP especificados, lo que no ocurrirá si no se definen correctamente.
Puedes, ¿por qué no?
¿En qué modo se realiza el pedido?
MqlTradeResult m_result;
m_request.action = TRADE_ACTION_DEAL;
m_request.symbol = Symbol();
m_request.type = ORDER_TYPE_BUY;
m_request.price = Precio; // calculado de antemano y verdadero :)
m_request.sl = SL; // ya está calculado y es correcto :)
m_request.tp = TP; // calculado de antemano y verdadero :)
m_request.volume = Vol;
m_request.type_filling = ORDER_FILLING_FOK;
m_request.deviation = 10;
m_request.type_time = 0;
m_request.expiration = 0;
m_request.magic = 0;
m_request.comment = "";
OrderSend(m_request, m_result);
Por favor, aclárense: ¿en Alpari no se puede colocar una orden con stops utilizando un solo comando OrderSend? ¿O se trata de llamar a PositionSelect antes de fijar los stops de una orden existente?
Exactamente. Con las paradas sólo se puede hacer en modo instantáneo
Tipos de ejecución
El terminal cliente dispone de cuatro modos de ejecución de órdenes:
En esta modalidad, la ejecución de una orden de mercado se realiza al precio ofrecido al corredor. Al enviar una solicitud de ejecución, el terminal sustituye automáticamente el precio actual de la orden. Si el corredor acepta los precios, la orden se ejecutará. Si el corredor no acepta el precio solicitado, entonces se produce la llamada "Requote" - el corredor devuelve los precios a los que se puede ejecutar la orden.
En este modo, la orden de mercado se ejecuta al precio recibido previamente del corredor. Antes de enviar una orden de mercado, se solicitan los precios de ejecución al corredor. Una vez recibida, la ejecución de la orden a ese precio puede ser confirmada o rechazada.
En este modo de ejecución de órdenes de mercado, la decisión sobre el precio de ejecución la toma el corredor sin ninguna aprobación adicional del operador. El envío de una orden de mercado en esta modalidad implica un acuerdo anticipado con el precio al que se ejecutará.
Al pulsar el botón "Vender por mercado" o "Comprar por mercado", se creará una orden para que el corredor ejecute una operación de venta o de compra, respectivamente, al precio definido por el corredor.
En este modo, las operaciones comerciales realizadas en el terminal del cliente se transfieren a un sistema comercial externo (bolsa). Lasoperaciones se ejecutan a los precios de las ofertas actuales del mercado.
El modo de ejecución de cada símbolo es seleccionado por su empresa de corretaje.
Todo está escrito en la ayuda del terminal. Pero nadie lo lee.
Para conocer el tipo de ejecución hay que solicitar la propiedad con la función SymbolInfoInteger() con el identificador SYMBOL_TRADE_EXEMODE
SYMBOL_TRADE_EXEMODE
Modo de comercio
ENUM_SYMBOL_TRADE_EXECUTION
ENUM_SYMBOL_TRADE_EXECUTION
Identificador
Descripción
SOLICITUD_DE_EJECUCIÓN_DE_SÍMBOLO
Comercio por encargo
SÍMBOLO_COMERCIO_EJECUCIÓN_INSTANTE
Comerciar a precios de streaming
SÍMBOLO_COMERCIO_EJECUCIÓN_MERCADO
Ejecución_mercado_de_ejecución
INTERCAMBIO_DE_SÍMBOLOS_DE_EJECUCIÓN
Ejecución del intercambio
Muchas gracias, ahora lo entiendo.
Y leí la ayuda, lo que no encontré fue mi descuido + la falta de elaboración de referencias cruzadas o algo así en la ayuda:)
Al probar el Asesor de Cirujanos https://www.mql5.com/ru/code/611
con una modificación de
[cita].
Para empezar a probar, en la línea 84 sustituya:
double Limit=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_LIMIT);
por
double Limit= 5;
[/quote]
En una cuenta de demostración normal, cuando la pestaña Comercio de la sección Herramientas está activa, la vista del terminal cambia al final de la prueba.
En una cuenta demo, este es el lío:
Sigue reiniciando al principio.
Y en el XAUUSD, presionas F9 y luego
aunque no se puede hacer doble clic en la ventana de órdenes en la "visión general del mercado".
P.D. Sé que no se puede operar con el XAUUSD).