Errores, fallos, preguntas - página 1801
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Es sencillamente inmoral presentar una queja sobre los servidores de demostración, especialmente los que no están respaldados por un corredor :-)
Y el servidor MQ debería ser una especie de "punto de referencia", en el que los desarrolladores de algo podrían y deberían probar sus tecnologías.
Varias llamadas a SymbolSelect harán que el terminal se cuelgue.
{
bool Res = false;
for (int i = SymbolsTotal(MarketWatch) - 1; (i >= 0) && (!Res); i--)
Res = (Symb == SymbolName(i, MarketWatch));
return(Res);
}
bool SymbolOnOff( const string Symb )
{
return(SymbolSelect(Symb, !SymbolExist(Symb)));
}
void OnStart()
{
for (int i = SymbolsTotal(false) - 1; i >= 0; i--)
{
const string Symb = SymbolName(i, false);
if (SymbolOnOff(Symb))
SymbolOnOff(Symb);
}
}
No he visto ninguna mención en la Ayuda, que si un símbolo no está en el Market Watch, entonces no hay datos sobre él. Tuvo que hacerlo a mano.
Valor devuelto
Valor de tipo doble. En caso de una ejecución fallida, la información sobre el error se puede obtener con GetLastError():
Sí. Hay una mención a
Gracias, mencionado indirectamente.
Dígame, si añado un símbolo a Market Watch a través de SymbolSelect, ¿cómo sé que la oferta y la demanda por símbolo están disponibles -SymbolIsSynchronized?
SymbolIsSynchronized - parece ser costoso para este propósito, porque también plantea la cuestión de la sincronización de la historia M1.
SymbolIsSynchronized nunca se convierte en verdadero en algunos caracteres.
Gracias, mencionado indirectamente.
Dígame, si añado un símbolo a Market Watch a través de SymbolSelect, ¿cómo sé que la oferta y la demanda por símbolo están disponibles - SymbolIsSynchronized?
SymbolIsSynchronized - parece ser costoso para este propósito, porque también plantea la cuestión de la sincronización de la historia M1.
SymbolIsSynchronized nunca se convierte en verdadero en algunos símbolos.
Si esto se hace desde el indicador, dará exactamente lo que hay, pero con una petición al centro de historia para la paginación. Entonces puede ser insoportable.
Si se hace desde el Asesor Experto o el script, entonces se pueden hacer varios ciclos de peticiones dentro de la función con la espera de la respuesta, y por regla general después de tal historia de llamadas se sincronizará
Si añado un símbolo a Market Watch a través de SymbolSelect, ¿cómo sé que la oferta y la demanda del símbolo están disponibles?
Inmediatamente después de SymbolSelect(true), pido los precios y son cero. Al mismo tiempo _LastError == 0, SymbolInfoTick == true.
¿Cómo sé que los precios del nuevo Símbolo para Marketwatch han sido entregados a Marketwatch?
Antes de comprobar el indicador de sincronización del historial, debe llamar a CopyRates(Symbol(),PERIOD_M1,0,1000,rates)
Si esto se hace desde el indicador, dará exactamente lo que hay, pero con una petición al centro de historia para la paginación. Entonces puede ser insoportable.
Si se hace desde un EA o un script, entonces se pueden hacer varios ciclos de peticiones dentro de la función esperando la respuesta y, por regla general, el historial se sincronizará después de dicha llamada