pivomoe: Potete dirmi come fare una pausa di 1 millisecondo? Sleep(1) non è un'opzione perché fa una pausa da 0 a 50 millisecondi circa. Quando si chiama con il parametro 1.
Nella documentazione è scritto che, in relazione alle sfumature tecniche, ricevere una pausa inferiore a 16-18 millisecondi non è reale. Questo è legato all'hardware, al sistema operativo, ecc.
BlackTomcat: È scritto nella documentazione che a causa di sfumature tecniche non è realistico ottenere una pausa inferiore a 16-18 millisecondi. Questo è legato all'hardware, al sistema operativo, ecc.
Ne ho circa 1, a volte 2, 3, a seconda del carico.
Aliaksandr Hryshyn: Ne ho circa 1, a volte 2, 3, a seconda del carico di lavoro.
google: winds system timer, per domande o incomprensioni perché meno di 16ms non è possibile, in breve - winds non è un sistema in tempo reale, solo il timer da winds è disponibile al software
google: winds system timer, per domande o incomprensioni perché meno di 16ms non è possibile, in breve - winds non è un sistema in tempo reale, solo il timer da winds è disponibile al software
16 è molto, ma sopportabile. Può essere più di 50.
Ancora una volta, il vento non è un sistema in tempo reale, non abbastanza risorse OS, il vostro timer sarà ritardato ma sarà ancora eseguito, utilizzare intervalli di tempo logici, io non uso meno di 100 ms, e di solito uso 400 ms, anche per una chiamata dll con grafica e l'elaborazione clicca caselle di controllo 400 ms non è evidente a tutti, controllato 500 ms - sì è già visibile che nessuna risposta
imho, non mi aspetterei che meno di 100 ms siano garantiti da un timer
[in] Любые значения, разделенные запятыми. Для разделения выводимой информации на несколько строк можно использовать символ перевода строки "\n" либо "\r\n". Количество параметров не может превышать 64. Массивы нельзя передавать в функцию Alert(). Массивы должны выводиться поэлементно. Данные типа double выводятся с 8 десятичными цифрами после...
Buon pomeriggio. Per favore, consigliatemi o fornitemi un link. Come organizzare un indicatore che mostri i cambiamenti di equilibrio come un grafico a candele in una finestra separata. Ho fatto la cosa più semplice, l'indicatore copia le variazioni di prezzo, ma ora come sostituire le variazioni di prezzo con le variazioni del saldo, in altre parole, sostituire gli array utilizzati dall'indicatore.
Se avete qualche idea, per favore condividetela, vi sarò grato anche per una descrizione generale dell'algoritmo, non ho esperienza, non so da dove cominciare.
//+------------------------------------------------------------------+//| 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);
}
//+------------------------------------------------------------------+
Potete dirmi come fare una pausa di 1 millisecondo? Sleep(1) non è un'opzione perché fa una pausa da 0 a 50 millisecondi circa. Quando si chiama con il parametro 1.
È scritto nella documentazione che a causa di sfumature tecniche non è realistico ottenere una pausa inferiore a 16-18 millisecondi. Questo è legato all'hardware, al sistema operativo, ecc.
Ne ho circa 1, a volte 2, 3, a seconda del carico di lavoro.
google: winds system timer, per domande o incomprensioni perché meno di 16ms non è possibile, in breve - winds non è un sistema in tempo reale, solo il timer da winds è disponibile al software
google: winds system timer, per domande o incomprensioni perché meno di 16ms non è possibile, in breve - winds non è un sistema in tempo reale, solo il timer da winds è disponibile al software
16 è molto, ma sopportabile. A volte più di 50.
Ancora una volta, il vento non è un sistema in tempo reale, non abbastanza risorse OS, il vostro timer sarà ritardato ma sarà ancora eseguito, utilizzare intervalli di tempo logici, io non uso meno di 100 ms, e di solito uso 400 ms, anche per una chiamata dll con grafica e l'elaborazione clicca caselle di controllo 400 ms non è evidente a tutti, controllato 500 ms - sì è già visibile che nessuna risposta
imho, non mi aspetterei che meno di 100 ms siano garantiti da un timer
Potete dirmi come visualizzare un messaggio informativo sullo schermo senza aspettare che venga premuto il pulsante OK?
C'è naturalmente una funzione MessageBox, ma aspetta una reazione e ferma l'esecuzione del programma.
Potete dirmi come visualizzare un messaggio informativo sullo schermo senza aspettare che venga premuto il pulsante OK?
C'è naturalmente una funzione MessageBox, ma aspetta una reazione e ferma l'esecuzione del programma.
Sì Allarme, credo. Assicuratevi di leggere l'ultimo paragrafo.
https://www.mql5.com/ru/docs/common/alert
Sì Allarme, credo. Assicuratevi di leggere l'ultimo paragrafo.
https://www.mql5.com/ru/docs/common/alert
Grazie. Proprio quello di cui ho bisogno.
Buon pomeriggio. Per favore, consigliatemi o fornitemi un link. Come organizzare un indicatore che mostri i cambiamenti di equilibrio come un grafico a candele in una finestra separata. Ho fatto la cosa più semplice, l'indicatore copia le variazioni di prezzo, ma ora come sostituire le variazioni di prezzo con le variazioni del saldo, in altre parole, sostituire gli array utilizzati dall'indicatore.
Se avete qualche idea, per favore condividetela, vi sarò grato anche per una descrizione generale dell'algoritmo, non ho esperienza, non so da dove cominciare.
https://charts.mql5.com/22/192/eurusd-m1-alpari-international-2.png