Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1240

 

Buenas tardes.

Tengo un extraño problema.

Terminal MT4. Hay alrededor de 15 indicadores en cada gráfico (estándar y propios). En algunos casos, si intento eliminar un indicador a través de la lista de indicadores (Ctrl + i), el terminal se cuelga. Al mismo tiempo, si se intenta eliminar el mismo indicador pulsando el botón derecho del ratón sobre la línea o flecha dibujada por el indicador a través del buffer y seleccionando la opción de menú "Eliminar indicador" - se elimina al instante y sin problemas. Lo más molesto es que el problema es flotante: a veces un indicador se cuelga al borrar, a veces otro.... el mismo indicador cuelga el terminal, a veces no.

A este respecto, tengo dos preguntas:

1) ¿qué puede estar relacionado con los cuelgues del terminal cuando se borra un indicador a través de la lista de indicadores?

2) ¿cuál es la diferencia entre los dos métodos de eliminación de indicadores que he descrito anteriormente?

 
satorifx:

Tengo un extraño problema

Intente ejecutar primero los siete indicadores juntos, si no hay problemas, luego los 8 restantes por separado. Si hay problemas, vuelva a dividirlos por la mitad. De esta forma se encontrarán uno o dos culpables. Si no se encuentra nada, elimine uno a la vez de 15. El método de la caja negra de prueba y error funcionará si tiene la habilidad y la paciencia.
 
El manejador de eventos de MT5, CHARTEVENT_CUSTOM OnChartEvent () sabe que maneja múltiples hilos.

¿Puede crear una lógica a prueba de hilos dentro del manejador OnChartEvent ()?

¿Se puede escribir código orientado a hilos en MQL5?
 
Por favor, aconséjeme. Si llamo a un indicador personalizado a través de iCustom en un Asesor Experto, ¿cómo puedo hacer que los parámetros de entrada de este indicador se muestren en el Asesor Experto? Tengo el código fuente del indicador. ¿Es siquiera complicado?
 
Sayberix:
Por favor, aconséjeme. Si llamo a un indicador personalizado a través de iCustom en un Asesor Experto, ¿cómo puedo hacer que muestre sus parámetros de entrada en el Asesor Experto? Tengo el código fuente del indicador. ¿Es incluso difícil?

Escriba en el orden de enumeración de las propiedades como en el indicador

doubleiCustom(
símbolo de cadena,// nombre del símbolo
inttimeframe,// marco temporal
nombre de la cadena,// carpeta indicadora/nombre_de_usuario
... // lista de los parámetros de entrada del indicador
intmode,// fuente de datos
intdesplazamiento // desplazamiento
);


Abrir "Parámetros de entrada" en el indicador y copiarlos a su vez con los valores requeridos

Asegúrate de mirar el tipo de la variable, y si es una cadena, ponla entre comillas, no podemos saltarnos nada:

double val=iCustom(NULL,0,"SampleInd","",240,3,"",clrNONE,clrNONE,1,0);
 
Buenas tardes, ¿por qué se producen estos artefactos? ¿No debería cerrarse el código de cierre de emergencia en el primer cruce? No se han producido errores de cierre.
if(MathAbs(Ima-Ima2) <= c && OrdersTotal() != 0)
        {
         OrderSelect(ticket, SELECT_BY_TICKET);
         int a = OrderType();
         RefreshRates();
         if(a == 0)
           {
            OrderClose(ticket, lots, Bid, 20, clrBlack);
           }
         if(a == 1)
           {
            OrderClose(ticket, lots, Ask, 20, clrBlack);
           }
         ticket = 0;
}
Archivos adjuntos:
test.png  22 kb
 
¿Funcionarán aquí los RefreshRates?

En la función OrderSend tenemos una cena, pero la cena se estableció antes del ciclo.


double cena=Ask;

for (int i=0; i<=10; i++)
   {
   RefreshRates();
   int t=OrderSend(OrderSymbol(),OP_BUY,0.1,cena,10,0,0); 
   if (t!=-1) break;
   }
 
igrok333:
¿Funcionarán aquí los RefreshRates?

En la función OrderSend tenemos una cena, pero la cena se estableció antes del ciclo.


no lo hará

 
Igor Makanu:

no lo hará

tomó el precio antes, cuando el asc era todavía viejo,
y luego sólo refreshrates cambió el asc, ¿verdad?
 
Lo has adivinado. La variable cena es independiente de RefreshRates.
Razón de la queja: