Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 665

 
crear
nikitasa1997:

Buenos días, queridos usuarios del foro, por favor, ayuden a un novato. He hecho un indicador personalizado, abajo hay un fragmento de código con más de 1000 líneas como en el código original, por eso no he pegado todo el código.

El programa '+' - es demasiado complejo. Da este error.

He leído los hilos del foro, este error se produce cuando la función es demasiado larga. ¿Cómo puedo dividir una función en varias subfunciones? Por favor, déjame un ejemplo de mi código.


crear el archivo filter.mq4 con esta función y guardarlo en \MQL4\Include\.


y luego llamarlo desde el indicador #include <filter.mq4>

si la variable respuesta está en el indicador, no es necesario declararla, sólo utilizarla cuando sea necesario.

 
evillive:
crear

crear el archivo filter.mq4 con esta función y guardarlo en \MQL4\Include


luego llamar desde el indicador #include <filter.mq4>

si la variable respuesta está en el indicador, no es necesario declararla, sólo utilizarla cuando sea necesario.



Muchas gracias).
 
Chiripaha:

Con el rabillo del ojo, miré las soluciones que le ofrecieron antes otros. Es posible que tenga restricciones de permisos al cargar las plantillas. Esto se refleja en la descripción de ChartApplyTemplate(). Pero esto es sólo una opción. O algo parecido. Así, cuando se carga a través de la visualización, se conservan todos los permisos, pero cuando se hace mediante programación, se restringen.

Cita de la descripción de la función:

Al guardar la plantilla, también se recuerdan los derechos de los programas que se ejecutan en el gráfico: el derecho a comerciar y el derecho a utilizar la DLL. Por razones de seguridad, estos derechos pueden estar restringidos cuando la plantilla se aplica al gráfico:

Los derechos de uso de trading y DLL no pueden ser incrementados cuando se lanza un EA aplicando una plantilla mediante la función ChartApplyTemplate().

Si el programa mql4 que llama a ChartApplyTemplate() no tiene derechos para operar, el EA cargado utilizando la plantilla tampoco tendrá derechos para operar, independientemente de la configuración de la plantilla.

Si el programa mql4, que llama a ChartApplyTemplate(), tiene derechos de negociación, pero la configuración de la plantilla no, entonces el EA, cargado por medio de una plantilla, no tendrá derechos de negociación.


Intenté apagarlos y encenderlos. Cambié la plantilla, tanto con un gráfico simple con indicadores como con un EA ya cargado. pero el resultado es el mismo: en el probador sin visualización el EA no hace nada, con visualización - todo como estaba previsto)) No sé ... probablemente, los desarrolladores deberían realmente escribir o idear algo más sin plantillas.

 

He aquí una pregunta:

Supongamos que tenemos un servidor de búsqueda de texto completo que tiene una caché para los resultados de las consultas. Necesitamos calcular la eficiencia de la caché (tamaño máximo de la caché y porcentaje de aciertos) para un tiempo de caché determinado.

Datos de entrada

El programa introduce un archivo de texto con las consultas recibidas por el servidor, con la hora y la cadena de búsqueda, así como el tiempo de retención de la caché en segundos.

Datos de salida

Tras su ejecución, el programa debe arrojar los siguientes valores: el número de consultas procesadas, el número de consultas únicas, el tamaño máximo de la caché (en número de registros), la probabilidad de entrar en la caché.



No entiendo qué significa "tamaño máximo de la caché (en número de registros)", ¿cómo se calcula?

 
Buenos días señores, tengo una pregunta muy importante, ¿es posible configurar el robot para que no opere a determinadas horas, si es así como se puede hacer?
 
¿Cuánto aumenta el indicador de volumen estándar de forex cuando el precio cambia en un tick (en 1 o 2)?
 
Mavellol:
Buenos días señores, tengo una pregunta muy importante, ¿es posible configurar el robot para que no opere a determinadas horas, si es así, cómo se puede hacer?


Necesito implementar tal posibilidad en mi Asesor Experto.
 

Hola a todos.

Por favor, ayúdenme con MarketInfo(Symbol(),MODE_MARGINREQUIRED)

double One_Lot =MarketInfo(Symbol(),MODE_MARGINREQUIRED);
la variable One_Lot contendrá el valor de un lote para la moneda actual.
Ejemplo de cálculo de lote para EURUSD (Precio=1.3606):
tamaño de contrato estándar (1 lote) = 100000
si compramos 100000 EUR tenemos que pagar 100000*1.3606=136060$
tenemos un apalancamiento = 100, por lo que pagaremos Un_Lote=136060/100=1360.6$.

(He entendido que todos estos cálculos hacen MarketInfo(Symbol(),MODE_MARGINREQUIRED) y nuestro One_Lot=1360.6)

pero el resultado es diferente en el guión:

double Precio = Oferta;
Imprimir ("Precio =",Precio);

double One_Lot = MarketInfo ( Symb, MODE_MARGINREQUIRED ) ; // el coste de un lote
Print ("One_Lot =",One_Lot);

en la salida

17:10:30 informar EURUSD,H1: Precio =1.3606

17:10:30 informar EURUSD,H1: One_Lot =1600.0

¿Dónde está mi error?

 
¿Quién es Symb y cómo se define en el código? Al llamar directamente a One_Lot =MarketInfo(Symbol(),MODE_MARGINREQUIRED), funciona bien.
 
evillive:
¿Quién es Symb y cómo se define en el código? Al llamar a One_Lot =MarketInfo(Symbol(),MODE_MARGINREQUIRED) funciona bien.

Gracias por responder.

En mi guión.

Symb = Símbolo ( );

Lo he probado como tú - el resultado es el mismo One_Lot =1600.0

¿Cuál es su resultado?