pivomoe: ¿Puedes decirme cómo hacer una pausa de 1 milisegundo? Sleep(1) no es una opción porque hace una pausa de 0 a 50 milisegundos más o menos. Cuando se llama con el parámetro 1.
En la documentación está escrito, que en relación con los matices técnicos para recibir una pausa de menos de 16-18 milisegundos no es real. Esto está relacionado con el hardware, el sistema operativo, etc.
BlackTomcat: En la documentación está escrito que, debido a matices técnicos, no es realista conseguir una pausa de menos de 16-18 milisegundos. Esto está relacionado con el hardware, el sistema operativo, etc.
Tengo alrededor de 1, a veces 2,3, dependiendo de la carga.
Aliaksandr Hryshyn: Tengo alrededor de 1, a veces 2,3, dependiendo de la carga de trabajo.
? google: winds system timer, para preguntas o malentendidos por qué menos de 16ms no es posible, en resumen - winds no es un sistema en tiempo real, sólo el temporizador de winds está disponible para el software
? google: winds system timer, para preguntas o malentendidos por qué menos de 16ms no es posible, en resumen - winds no es un sistema en tiempo real, sólo el temporizador de winds está disponible para el software
16 es mucho, pero soportable. Pueden ser más de 50.
Una vez más, el viento no es un sistema en tiempo real, no hay suficientes recursos OS, su temporizador se retrasará, pero todavía se ejecutará, el uso de intervalos de tiempo lógico, yo no uso menos de 100 ms, y por lo general el uso de 400 ms, incluso para una llamada dll con gráficos y procesamiento de clics casillas de verificación 400 ms no se nota en absoluto, marcó 500 ms - sí es ya visible que no hay respuesta
En mi opinión, no esperaría que un temporizador garantizara menos de 100 ms.
[in] Любые значения, разделенные запятыми. Для разделения выводимой информации на несколько строк можно использовать символ перевода строки "\n" либо "\r\n". Количество параметров не может превышать 64. Массивы нельзя передавать в функцию Alert(). Массивы должны выводиться поэлементно. Данные типа double выводятся с 8 десятичными цифрами после...
Buenas tardes. Por favor, aconséjenme o facilítenme un enlace. Cómo organizar un indicador que muestre los cambios de saldo como un gráfico de velas en una ventana separada. He hecho lo más sencillo, el indicador copia los cambios de precio, pero ahora cómo sustituir los cambios de precio por los cambios de saldo, es decir, sustituir las matrices que utiliza el indicador.
Si tienes alguna idea, por favor compártela, te agradeceré incluso una descripción general del algoritmo, me falta experiencia, no sé por dónde empezar.
//+------------------------------------------------------------------+//| iBalans_Logic.mq5 |//| Sergei Voicehovskii |//| |//+------------------------------------------------------------------+#property copyright"Sergei Voicehovskii"#property link""#property version"1.00"//------------------------------------------------------------------#property indicator_separate_window#property indicator_buffers6#property indicator_plots1#property indicator_label1"iBalans_Logic"#property indicator_type1DRAW_COLOR_CANDLES#property indicator_color1clrGray,clrDodgerBlue,clrSandyBrown//--- indicator buffers//--- индикаторный буферdouble opn[],hi[],lo[],cls[],clr[],lot[],type[];
//------------------------------------------------------------------// Custom indicator initialization function// Функция инициализации пользовательского индикатора//------------------------------------------------------------------intOnInit()
{
SetIndexBuffer(0,opn,INDICATOR_DATA);
SetIndexBuffer(1,hi,INDICATOR_DATA);
SetIndexBuffer(2,lo,INDICATOR_DATA);
SetIndexBuffer(3,cls,INDICATOR_DATA);
SetIndexBuffer(4,clr,INDICATOR_COLOR_INDEX);
SetIndexBuffer(5,lot,INDICATOR_CALCULATIONS);
SetIndexBuffer(6,type,INDICATOR_CALCULATIONS);
IndicatorSetString(INDICATOR_SHORTNAME,"iBalans_Logic ("")");
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Custom indicator iteration function //| Функция итерации пользовательского индикатора |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
//---Comment("-------------------------",
"\n rates_total = ",rates_total,
"\n prev_calculated = ",prev_calculated,
"\n ---------------------- "
);
//---int i=(int)MathMax(prev_calculated-1,0);
for(;i<rates_total && !_StopFlag; i++)
{
opn[i] = open[i];
cls[i] = close[i];
hi[i] = high[i];
lo[i] = low[i];
clr[i] = (cls[i]>opn[i])?1:(cls[i]<opn[i])?2:0;
}
//--- return value of prev_calculated for next call//--- возвращаемое значение соответствует моменту prev_calculated для следующего вызоваreturn(rates_total);
}
//+------------------------------------------------------------------+
¿Puedes decirme cómo hacer una pausa de 1 milisegundo? Sleep(1) no es una opción porque hace una pausa de 0 a 50 milisegundos más o menos. Cuando se llama con el parámetro 1.
En la documentación está escrito que, debido a matices técnicos, no es realista conseguir una pausa de menos de 16-18 milisegundos. Esto está relacionado con el hardware, el sistema operativo, etc.
Tengo alrededor de 1, a veces 2,3, dependiendo de la carga de trabajo.
? google: winds system timer, para preguntas o malentendidos por qué menos de 16ms no es posible, en resumen - winds no es un sistema en tiempo real, sólo el temporizador de winds está disponible para el software
? google: winds system timer, para preguntas o malentendidos por qué menos de 16ms no es posible, en resumen - winds no es un sistema en tiempo real, sólo el temporizador de winds está disponible para el software
16 es mucho, pero soportable. A veces más de 50.
Una vez más, el viento no es un sistema en tiempo real, no hay suficientes recursos OS, su temporizador se retrasará, pero todavía se ejecutará, el uso de intervalos de tiempo lógico, yo no uso menos de 100 ms, y por lo general el uso de 400 ms, incluso para una llamada dll con gráficos y procesamiento de clics casillas de verificación 400 ms no se nota en absoluto, marcó 500 ms - sí es ya visible que no hay respuesta
En mi opinión, no esperaría que un temporizador garantizara menos de 100 ms.
¿Pueden decirme cómo mostrar un mensaje de información en la pantalla sin esperar a que se pulse el botón OK?
Por supuesto, existe la función MessageBox, pero ésta espera una reacción y detiene la ejecución del programa.
¿Pueden decirme cómo mostrar un mensaje de información en la pantalla sin esperar a que se pulse el botón OK?
Por supuesto, existe la función MessageBox, pero ésta espera una reacción y detiene la ejecución del programa.
Sí Alerta, creo. Sólo asegúrese de leer el último párrafo.
https://www.mql5.com/ru/docs/common/alert
Sí Alerta, creo. Sólo asegúrese de leer el último párrafo.
https://www.mql5.com/ru/docs/common/alert
Gracias. Justo lo que necesito.
Buenas tardes. Por favor, aconséjenme o facilítenme un enlace. Cómo organizar un indicador que muestre los cambios de saldo como un gráfico de velas en una ventana separada. He hecho lo más sencillo, el indicador copia los cambios de precio, pero ahora cómo sustituir los cambios de precio por los cambios de saldo, es decir, sustituir las matrices que utiliza el indicador.
Si tienes alguna idea, por favor compártela, te agradeceré incluso una descripción general del algoritmo, me falta experiencia, no sé por dónde empezar.
https://charts.mql5.com/22/192/eurusd-m1-alpari-international-2.png