Hola, no entiendo por qué no aparecen las paradas.
inputint StopLoss=499; // Stop Lossinputint TakeProfit=999; // Take Profitinputint EA_Magic=12345; // Magic Number советникаinputdouble Lot=0.1; // Количество лотов для торговлиintOnInit()
{
//--- Для работы с брокерами, использующими 5-ти значные котировки,//--- умножаем на 10 значения SL и TP
STP = StopLoss;
TKP = TakeProfit;
if(_Digits==5 || _Digits==3)
{
STP = STP*10;
TKP = TKP*10;
}
return(0);
}
voidOnTick()
{
//---MqlTick latest_price; // Будет использоваться для текущих котировокSymbolInfoTick(Symbol(),latest_price); // Получаем текущие ценыMqlTradeRequest mrequest; // Будет использоваться для отсылки торговых запросовMqlTradeResult mresult; // Будет использоваться для получения результатов выполнения торговых запросов
mrequest.action = TRADE_ACTION_DEAL; // немедленное исполнение
mrequest.price = NormalizeDouble(latest_price.ask,_Digits); // последняя цена ask
mrequest.sl = NormalizeDouble(latest_price.ask - STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble(latest_price.ask + TKP*_Point,_Digits); // Take Profit
mrequest.symbol = _Symbol; // символ
mrequest.volume = Lot; // количество лотов для торговли
mrequest.magic = EA_Magic; // Magic Number
mrequest.type = ORDER_TYPE_BUY; // ордер на покупку
mrequest.type_filling = ORDER_FILLING_FOK; // тип исполнения ордера - все или ничего
mrequest.deviation=100; // проскальзывание от текущей цены//--- отсылаем ордерOrderSend(mrequest,mresult);
Top2n: Hola, no puedo entender por qué no se colocan paradas?
En primer lugar, es necesario realizar una inicialización:
MqlTradeRequest mrequest={0}; // Будет использоваться для отсылки торговых запросовMqlTradeResult mresult={0}; // Будет использоваться для получения результатов выполнения торговых запросов
En segundo lugar, la capacidad de colocar sl y tp depende del modo de ejecución de órdenes de mercado establecido por el corredor. Busca cuántos de estos modos hay en el Manual y comprueba qué modo establece el corredor.
En primer lugar, es necesario realizar una inicialización:
En segundo lugar, la capacidad de colocar sl y tp depende del modo de ejecución de órdenes de mercado establecido por el corredor. Busque en el Manual cuántos modos de este tipo hay y compruebe qué modo establece el corredor.
He puesto a cero mediante ZeroMemory(mrequest);
No entiendo muy bien lo de los modos de ejecución de órdenes, alpari broker, creo que todo es estándar. Maldita tontería, no quiere y ya está. Ya he intentado usar sl y tp, muestra el precio actual + sl. ¡Supongo que está bien!
No entiendo muy bien los modos de ejecución de órdenes, alpari broker, creo que todo es estándar. Maldita sea, no funciona, no quiero hacerlo. Ya he intentado usar sl y tp, muestra el precio actual + sl. ¡Supongo que está bien!
Top2n No entiendo muy bien los modos de ejecución de las órdenes, soy corredor de alpari, creo que es todo estándar. No sé qué hacer con este tipo de broker, todavía no sé qué hacer con este tipo de forex. No sé qué hacer si intento volver al comentario sl y tp?
No sigo a Alpari, pero creo que todos los problemas de no fijar los niveles que mencionas estaban relacionados con Alpari. Intente colocar su orden en la cuenta demo de MQ y estará bien.
Los desarrolladores aún no han previsto la posibilidad de reflejar en los mensajes de registro la imposibilidad de establecer los niveles sl y tp en los modos de Ejecución de Mercado y Ejecución de Bolsa. Y no hay ninguna razón para hacerlo. El programador debe determinar el modo establecido por el corredor.
Yedelkin: Los desarrolladores aún no han previsto la posibilidad de reflejar en los mensajes de registro la imposibilidad de establecer los niveles sl y tp en los modos de Ejecución de Mercado y Ejecución de Bolsa. Y no es necesario. El programador debe determinar el modo establecido por el corredor.
De todos modos, no hay que adivinar, hay que analizar todos los errores y códigos de retorno. Es más fácil y rápido analizar qué hacer a continuación. ))
tol64: Todavía hay que analizar todos los errores y códigos de retorno para evitar conjeturas. Es más fácil y rápido saber qué hacer a continuación. ))
...Especialmente cuando se sabe que los "errores y códigos de retorno" simplemente no se proporcionan en este caso particular :) Sin duda, la pregunta en sí es correcta, pero en este caso concreto, no servirá de nada :/
Y sin "si"...
Hola, no entiendo por qué no aparecen las paradas.
En primer lugar, es necesario realizar una inicialización:
En segundo lugar, la capacidad de colocar sl y tp depende del modo de ejecución de órdenes de mercado establecido por el corredor. Busca cuántos de estos modos hay en el Manual y comprueba qué modo establece el corredor.
En primer lugar, es necesario realizar una inicialización:
En segundo lugar, la capacidad de colocar sl y tp depende del modo de ejecución de órdenes de mercado establecido por el corredor. Busque en el Manual cuántos modos de este tipo hay y compruebe qué modo establece el corredor.
He puesto a cero mediante ZeroMemory(mrequest);
No entiendo muy bien lo de los modos de ejecución de órdenes, alpari broker, creo que todo es estándar. Maldita tontería, no quiere y ya está. Ya he intentado usar sl y tp, muestra el precio actual + sl. ¡Supongo que está bien!
He puesto a cero mediante ZeroMemory(mrequest);
No entiendo muy bien los modos de ejecución de órdenes, alpari broker, creo que todo es estándar. Maldita sea, no funciona, no quiero hacerlo. Ya he intentado usar sl y tp, muestra el precio actual + sl. ¡Supongo que está bien!
No sigo a Alpari, pero creo que todos los problemas de no fijar los niveles que mencionas estaban relacionados con Alpari. Intente colocar su orden en la cuenta demo de MQ y estará bien.
Sobre los modos de ejecución de órdenes. Usted está utilizando la función https://www.mql5.com/ru/docs/trading/ordersend. Por favor, lea atentamente esta sección de la Guía: https://www.mql5.com/ru/docs/constants/structures/mqltraderequest y responda usted mismo a la pregunta: "¿cuántos modos de ejecución están disponibles para las órdenes de mercado?". Si no puede responder a esta pregunta, por favor, pregunte.
Los desarrolladores aún no han previsto la posibilidad de reflejar en los mensajes de registro la imposibilidad de establecer los niveles sl y tp en los modos de Ejecución de Mercado y Ejecución de Bolsa. Y no es necesario. El programador debe determinar el modo establecido por el corredor.