Ha percibido la diferencia entre un comando sincrónico y uno asincrónico.
¿Podría proporcionar una lista de funciones asíncronas?
Si he entendido bien, las funciones Object y Chart (¿cuáles otras?) son todas asíncronas. Entonces no está muy claro por qué ChartGet funciona más rápido que ChartXY.
Ha percibido la diferencia entre un comando sincrónico y uno asincrónico.
Sí...
Pero las observaciones muestran que estas funciones son bastante sincrónicas en su asincronía. :)
Bien, formularé mi pregunta de forma diferente para los desarrolladores: ¿Existe la oportunidad (o el deseo) de cambiar estas funciones asíncronas por otras síncronas?
¿Podría proporcionar una lista de funciones asíncronas?
Si he entendido bien, las funciones Object y Chart (¿cuáles otras?) son todas asíncronas. Entonces no está muy claro por qué ChartGet funciona más rápido que ChartXY.
También son terriblemente lentos, es que el punto de mi algoritmo "rápido" es calcular una oportunidad para no llamar a las funciones de los gráficos y prescindir de ellos. Y en cuanto se "agarra" el gráfico en mi ejemplo y se empieza a mover de izquierda a derecha, se pierde toda la velocidad porque las funciones del gráfico empiezan a aplicarse debido a la ocurrencia del evento
Hola, he empezado a estudiar MQL5 desdehttps://www.mql5.com/ru/articles/100. He lanzado el código y he recibido el error 4756. El error no ha mejorado después de mirar la documentación. Bien, he pensado que voy a empezar con funciones sencillas (Alerta/Impresión...). Una de las funciones más importantes es OrderSend. Empecé a buscar en el foro/documentación sobre cómo utilizar OrderSend. Encontré este artículohttps://www.mql5.com/ru/docs/constants/tradingconstants/enum_trade_request_actions y encontré el código para abrir una posición de compra. Tengo el error 4756 y el retcódigo 10030. He entendido que 10030 - es la propiedad OrderSend, pero no he entendido cómo se debe utilizar esta propiedad (he mirado el código de otra persona) y para qué se utiliza principalmente. Entonces abríhttps://www.mql5.com/ru/docs/trading/ordersend, copié el código, lo lancé, todo está bien, funcionó. Pero sigo sin entender por qué aparece el error 4756 y cómo deshacerse de él, así como del 10030.
Miré el código entre
voidOnTick(){
//--- объявление и инициализация запроса и результатаMqlTradeRequest request={0};
MqlTradeResult result={0};
//--- параметры запроса
request.action =TRADE_ACTION_DEAL; // тип торговой операции
request.symbol =Symbol(); // символ
request.volume =0.1; // объем в 0.1 лот
request.type =ORDER_TYPE_BUY; // тип ордера
request.price =SymbolInfoDouble(Symbol(),SYMBOL_ASK); // цена для открытия
request.deviation=5; // допустимое отклонение от цены
request.magic =EXPERT_MAGIC; // MagicNumber ордера//--- отправка запросаif(!OrderSend(request,result))
PrintFormat("OrderSend error %d",GetLastError()); // если отправить запрос не удалось, вывести код ошибкиAlert(GetLastError());
//--- информация об операцииPrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
}
y esta otra.
uint SendRandomPendingOrder(longconst magic_number)
{
//--- готовим запрос MqlTradeRequest request={0};
request.action=TRADE_ACTION_PENDING; // установка отложенного ордера
request.magic=magic_number; // ORDER_MAGIC
request.symbol=_Symbol; // инструмент
request.volume=0.1; // объем в 0.1 лот
request.sl=0; // Stop Loss не указан
request.tp=0; // Take Profit не указан //--- сформируем тип ордера
request.type=GetRandomType(); // тип ордера //---сформируем цену для отложенного ордера
request.price=GetRandomPrice(request.type); // цена для открытия //--- отправим торговый приказ MqlTradeResult result={0};
OrderSend(request,result);
//--- выведем в лог ответ сервера Print(__FUNCTION__,":",result.comment);
if(result.retcode==10016) Print(result.bid,result.ask,result.price);
//--- вернем код ответа торгового сервера return result.retcode;
}
Me parecen casi idénticos, no veo dónde aparecen esos errores (4756 y 10030). Por favor, señale con el dedo y explique.
Hola! He empezado a estudiar MQL5 desdehttps://www.mql5.com/ru/articles/100. He lanzado el código y he recibido el error 4756. Así que he pensado en empezar por la más sencilla (Alerta/Impresión...). Una de las funciones más importantes es OrderSend. Empecé a buscar en el foro/documentación sobre cómo utilizar OrderSend. Encontré este artículohttps://www.mql5.com/ru/docs/constants/tradingconstants/enum_trade_request_actions y encontré el código para abrir una posición de compra. Tengo el error 4756 y el retcódigo 10030. He entendido que 10030 - es la propiedad OrderSend, pero no he entendido cómo se debe utilizar esta propiedad (he mirado el código de otra persona) y para qué se utiliza principalmente. Entonces abríhttps://www.mql5.com/ru/docs/trading/ordersend, copié el código, lo ejecuté y funcionó bien. Pero sigo sin entender por qué aparece el error 4756 y cómo deshacerse de él, así como del 10030.
Miré el código entre
y esta otra.
Me parecen casi idénticos, no veo dónde aparecen esos errores (4756 y 10030). Por favor, señale con el dedo y explique
Utilice la clase de comercio de CTrade: así se garantiza que cometa el menor número de errores posible.
Ejemplo de envío de una orden de apertura de compra:
Поиск выполняется с учетом морфологии и без учета регистра. Все буквы, независимо от того, как они введены, будут рассматриваться как строчные. По умолчанию наш поиск показывает страницы...
En el probador de MT5, el objeto "Campo de entrada" OBJ_EDIT no permite editar un valor en él. ¿Está diseñado así o es un error?
En los terminales y en el probador de MT4 es editable, pero en el probador de MT5 no lo es, el valor introducido en él programáticamente al crear el objeto desaparece.
Ha percibido la diferencia entre un comando sincrónico y uno asincrónico.
¿Podría proporcionar una lista de funciones asíncronas?
Si he entendido bien, las funciones Object y Chart (¿cuáles otras?) son todas asíncronas. Entonces no está muy claro por qué ChartGet funciona más rápido que ChartXY.
Ha percibido la diferencia entre un comando sincrónico y uno asincrónico.
¿Podría proporcionar una lista de funciones asíncronas?
Si he entendido bien, las funciones Object y Chart (¿cuáles otras?) son todas asíncronas. Entonces no está muy claro por qué ChartGet funciona más rápido que ChartXY.
CHARTEVENT_CHART_CHANGEHola, he empezado a estudiar MQL5 desdehttps://www.mql5.com/ru/articles/100. He lanzado el código y he recibido el error 4756. El error no ha mejorado después de mirar la documentación. Bien, he pensado que voy a empezar con funciones sencillas (Alerta/Impresión...). Una de las funciones más importantes es OrderSend. Empecé a buscar en el foro/documentación sobre cómo utilizar OrderSend. Encontré este artículohttps://www.mql5.com/ru/docs/constants/tradingconstants/enum_trade_request_actions y encontré el código para abrir una posición de compra. Tengo el error 4756 y el retcódigo 10030. He entendido que 10030 - es la propiedad OrderSend, pero no he entendido cómo se debe utilizar esta propiedad (he mirado el código de otra persona) y para qué se utiliza principalmente. Entonces abríhttps://www.mql5.com/ru/docs/trading/ordersend, copié el código, lo lancé, todo está bien, funcionó.
Pero sigo sin entender por qué aparece el error 4756 y cómo deshacerse de él, así como del 10030.
Miré el código entre
y esta otra.
Me parecen casi idénticos, no veo dónde aparecen esos errores (4756 y 10030). Por favor, señale con el dedo y explique.
Hola! He empezado a estudiar MQL5 desdehttps://www.mql5.com/ru/articles/100. He lanzado el código y he recibido el error 4756. Así que he pensado en empezar por la más sencilla (Alerta/Impresión...). Una de las funciones más importantes es OrderSend. Empecé a buscar en el foro/documentación sobre cómo utilizar OrderSend. Encontré este artículohttps://www.mql5.com/ru/docs/constants/tradingconstants/enum_trade_request_actions y encontré el código para abrir una posición de compra. Tengo el error 4756 y el retcódigo 10030. He entendido que 10030 - es la propiedad OrderSend, pero no he entendido cómo se debe utilizar esta propiedad (he mirado el código de otra persona) y para qué se utiliza principalmente. Entonces abríhttps://www.mql5.com/ru/docs/trading/ordersend, copié el código, lo ejecuté y funcionó bien.
Pero sigo sin entender por qué aparece el error 4756 y cómo deshacerse de él, así como del 10030.
Miré el código entre
y esta otra.
Me parecen casi idénticos, no veo dónde aparecen esos errores (4756 y 10030). Por favor, señale con el dedo y explique
Utilice la clase de comercio de CTrade: así se garantiza que cometa el menor número de errores posible.
Ejemplo de envío de una orden de apertura de compra:
Utilice la clase de comercio de CTrade para asegurarse de cometer el menor número de errores posible.
Ejemplo de envío de una orden de compra:
CTrade: ¿es una clase universal? Es decir, ¿puede sustituir a cualquier otro código?
CTrade: ¿es una clase universal? Entonces, ¿es posible sustituir cualquier otro código por éste?
CTrade se suministra con el terminal en laBiblioteca Estándar->Clases de Comercio->CTrade.
Me parecen casi idénticos, no veo dónde aparecen esos errores (4756 y 10030). Por favor, señale con el dedo y explique
https://www.mql5.com/ru/search#!keyword=Unsupported%20filling%20mode
Un ejemplo de kodobase
Hay varias formas de introducir el código en ME
En el probador de MT5, el objeto "Campo de entrada" OBJ_EDIT no permite editar un valor en él. ¿Está diseñado así o es un error?
En los terminales y en el probador de MT4 es editable, pero en el probador de MT5 no lo es, el valor introducido en él programáticamente al crear el objeto desaparece.