Preguntas de los principiantes MQL4 MT4 MetaTrader 4 - página 23
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
Sí, gracias, todo arreglado, sin errores. Se ralentiza, sí, mucho. ¿Aconsejarías qué dirección tomar para optimizarlo o habrá que reescribirlo todo?
Se crean y borran demasiados objetos en cada tick, debería limitarse de alguna manera, por ejemplo, no se borran todos los objetos, sino sólo los dibujados en las últimas 1-2 barras.
Yo, por ejemplo, en un caso similar, en lugar deObjectsDeleteAll() en start() usé dicha función:
{
for(int i=ObjectsTotal()-1;i>=0;i--)
{
string name=ObjectName(i);
if(StringFind(name,"Shadows.",0)>-1)
{
datetime crtm=(datetime)ObjectGetInteger(0,name,OBJPROP_CREATETIME);
if(crtm>=iTime(Symbol(),0,1))
if(!ObjectDelete(name)) Print("ObjectDelete error# ",_LastError);
}
}
}
¿Podríais decirme si es posible gestionar el permiso de negociación de este EA desde el mismo?
¿es decir, utilizar la variable MQL_TRADE_ALLOWED?
Por ejemplo, si el diferencial es grande, entonces prohíbe el comercio (pero no para el asesor experto)
Sólo que no sé cómo configurar esta variable. La asignación directa de 1 o 0 no funciona.¿Podríais decirme si es posible gestionar el permiso de negociación de este EA desde el mismo?
¿es decir, utilizar la variable MQL_TRADE_ALLOWED?
Por ejemplo, si el spread es grande, entonces prohíbe el comercio (pero no para el EA)
Sólo que no sé cómo configurar esta variable. No puedo ponerlo directamente a 1 o 0.Este estado
https://www.mql5.com/ru/docs/runtime/tradepermission
Pero es posible controlarlo.
Sólo hay que hacer un algoritmo del programa.
En cualquier punto del algoritmo y bajo cualquier condición, puede salir del programa con el comando
Hola! Soy nuevo en este difícil negocio y me enfrento constantemente a nuevos obstáculos. Estoy tratando de escribir un EA, pero no puedo resolver el problema con el marco de tiempo del indicador que mi EA utiliza para entrar. La esencia del problema es la siguiente: De acuerdo con las condiciones, necesito que en el marco de tiempo de 15 minutos en el indicador de la línea de señal estocástica estaba por debajo del nivel de 20. Exactamente a los 15 minutos. ¡TF! De hecho, resulta que la línea de señal cruza el nivel 20 en otros marcos de tiempo (1; 5; 30 min.) y mi Asesor Experto funciona falsamente. Necesito filtrar todos los marcos temporales y dejar sólo el de 15 minutos. Que EA no ha considerado los cruces en otros TFs. Le agradecería su ayuda.
Muéstrame un fragmento de código sobre cómo lees la señal del indicador en tu Asesor Experto
Pero es posible controlarlo.
Sólo hay que hacer un algoritmo del programa.
En cualquier punto del algoritmo y bajo cualquier condición, puede salir del programa con el comando
entonces el programa dejará de ejecutarse, pero necesito que continúe.
Supongo que tendría que poner un montón de condiciones.
entonces el programa dejará de ejecutarse, pero necesito que continúe
Supongo que tendré que hacer un montón de condiciones.
¿Qué podemos hacer si el diferencial ha subido? Si tienes que continuar, ¿qué tiene que ver la difusión?
(c)entonces prohíbe el comercio (pero no detiene el EA)= Si prohíbe el comercio, ¿cómo va a seguir funcionando? ¿Qué sentido tiene?
entonces el programa dejará de ejecutarse, pero necesito que continúe
Supongo que tendré que hacer un montón de condiciones.
Así es, es un programa).