[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 381
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
Esto es de la ayuda, pero ¿es posible usar NULL como símbolo para "vigilar" sólo el instrumento en el que se está ejecutando el EA?
Así, por ejemplo:
Parece que NULL no funcionará.
Pero Symbol() funcionará =)
Buenas tardes. Tengo la siguiente pregunta. Ellibro MQL4que se encuentra en MQL4.community, en la sección "Programas MQL simples ", contiene un ejemplo de tradingexpert.mq4 con el siguiente contenido (ver archivo adjunto). En el bloque 1-2 se declaran las variables externas extern double StopLoss =200 y extern double TakeProfit =39. El bloque 8-9 llama a las funciones New_Stop(StopLoss) y New_Stop(TakeProfit) para calcular los parámetros SL y TP. Hay una descripción de la función en el bloque 11-12.
Pregunta: El parámetro formal de la función New_Stop tiene tipo int(int Parametr), mientras que los parámetros pasados en la llamada a la función New_Stop(StopLoss)(New_Stop(TakeProfit)) tienen tipo double... En el libro MQL4, que se encuentra en MQL4.community en la sección "Language Basics", subsección "Functions", "Function Properties" dice "El número, el tipo y el orden de los parámetros pasados en una llamada a la función deben coincidir con el número, el tipo y el orden de los parámetros formales pasados en la descripción de la función (la excepción es una llamada a la función que tenga parámetros por defecto - véase Llamada a la función y Descripción de la función y operador de retorno. ¿Cómo explicar esta contradicción: según esto último, al declarar las variables StopLoss y TakeProfit, debería haber declarado el tipo int, no double(el compilador no ha generado ningún error)?
Para no ensuciar el foro, gracias de antemano por la respuesta.
Hola, puedes darme una pista... He buscado en medio internet, y la información varía
La esencia del Asesor Experto es abrir posiciones en diferentes instrumentos. "En la vida real, funciona y muestra los precios actuales, pero no puedo pasarlo por el historial... La función devuelve cero.
Quiero mostrar la cotización actual de dos divisas EURUSD y EURCHF, por ejemplo.
Estoy llamando a la cotización actual con esta función (estoy siguiendo el historial cuando el gráfico EURUSD está activo):
MarketInfo("EURUSD",MODE_BID) ---> obtener el precio actual
MarketInfo("EURCHF ",MODE_BID) ---> devuelve cero
He encontrado en este foro que MarketInfo no funciona en el historial, utiliza "iClose".
Pero cuando llamo a la cita utilizando el
iClose("EURUSD",PERIOD_M1,0) ---> Obtengo el precio actual
iClose("EURCHF",PERIOD_M1,0) ---> devuelve cero
¿Cómo puedo obtener las cotizaciones actuales de los diferentes instrumentos en el probador de estrategias? Gracias
El probador de MT4 no es multidivisa. En otras palabras, sólo se pueden probar los EA de una sola moneda.
El probador de MT4 no es multidivisa. En otras palabras, sólo se pueden probar los EA de una sola moneda.
gracias
gracias
Más concretamente, haz la prueba con una herramienta y podrás utilizar otras para el análisis.
O eso parece:
Buenas tardes. Tengo la siguiente pregunta. Ellibro MQL4que se encuentra en MQL4.community, en la sección "Programas MQL simples ", contiene un ejemplo de tradingexpert.mq4 con el siguiente contenido (ver archivo adjunto). En el bloque 1-2 se declaran las variables externas extern double StopLoss =200 y extern double TakeProfit =39. El bloque 8-9 llama a las funciones New_Stop(StopLoss) y New_Stop(TakeProfit) para calcular los parámetros SL y TP. Hay una descripción de la función en el bloque 11-12.
Pregunta: El parámetro formal de la función New_Stop tiene tipo int(int Parametr), mientras que los parámetros pasados en la llamada a la función New_Stop(StopLoss)(New_Stop(TakeProfit)) tienen tipo double... En el libro MQL4, que se encuentra en MQL4.community en el capítulo "Language Fundamentals" en la sección "Functions", subsección "Function Properties" dice "El número, el tipo y el orden de los parámetros pasados en una llamada a la función deben coincidir con el número, el tipo y el orden de los parámetros formales pasados en la descripción de la función (la excepción es una llamada a la función que tenga parámetros por defecto - véase Llamada a la función y Descripción de la función y operador de retorno. ¿Cómo explicar esta contradicción: según esto último, al declarar las variables StopLoss y TakeProfit, debería haber declarado el tipo int, no double(el compilador no ha generado ningún error)?
Gracias de antemano por la respuesta, para no ensuciar el foro.
Los parámetros externos (extern double StopLoss =200; extern double TakeProfit =39; ), en principio, deberían ser de tipo entero (más exactamente, según la idea del autor - es un valor en puntos). Al llamar a la función, se utiliza la conversión de tipo implícita. El tipo de punto flotante se convierte en tipo entero con pérdida de precisión. En este caso no importa: el tamaño de la parada y el beneficio como se pretende se establece en pips - es siempre entero.
En mi opinión, el código de ejemplo está mal escrito.
Usar el valor absoluto de las constantes es un estilo muy malo y equivocado, con nombres mnemónicos.
La peor implementación de la enumeración de órdenes: es difícil pensar en una más "retrasada". Parece ser deliberadamente lento: cálculos extra, llamadas a funciones innecesarias - la operación más cara en términos de tiempo, y en cada iteración del bucle. Y esto a pesar de que el número de pedidos no cambia dentro del bucle.