Ошибки, баги, вопросы - страница 1751
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
нет. эта фишка выводит окно сверху. но не проверяет на предмет окна в топе
https://www.mql5.com/ru/forum/42833#comment_1493908
тут
в справке еще не изменили, полтора года не срок :))
https://www.mql5.com/ru/forum/42833#comment_1493908
Это совсем не то. Чарт может быть не в топе, но быть видим. А может быть в топе, но быть невидим.
Рисовать на чарте имеет или не имеет смысл только в том случае, если известно, виден он или нет.
Это совсем не то. Чарт может быть не в топе, но быть видим. А может быть в топе, но быть невидим.
Рисовать на чарте имеет или не имеет смысл только в том случае, если известно, виден он или нет.
Это совсем не то. Чарт может быть не в топе, но быть видим. А может быть в топе, но быть невидим.
Рисовать на чарте имеет или не имеет смысл только в том случае, если известно, виден он или нет.
Там можно координаты и ширину чартов достать, плюс их z-очередность - все окна чартов принадлежат одному WMIClient.
Это попробуйте
WinApi вам в помощь.
Там можно координаты и ширину чартов достать, плюс их z-очередность - все окна чартов принадлежат одному WMIClient.
Вызываю скриптом данные периода. Начиная с часовых непонятные цифры получаются. Или так и должно быть?
{
Print("Period()=",Period());
}
2016.11.01 16:55:58.840 период (EURUSD,M30) Period()=30
2016.11.01 16:55:46.950 период (EURUSD,M1) Period()=1
Вызываю скриптом данные периода. Начиная с часовых непонятные цифры получаются. Или так и должно быть?
{
Print("Period()=",Period());
}
2016.11.01 16:55:58.840 период (EURUSD,M30) Period()=30
2016.11.01 16:55:46.950 период (EURUSD,M1) Period()=1
Правильный ли подход к измерению времени выполнения полного круга в текущем индикаторном потоке?
#property indicator_buffers 0
#property indicator_plots 0
sinput int Amount = 100; // Количество циклов
void OnInit( void )
{
EventSetMillisecondTimer(1);
}
ulong ArrayMean( const ulong &Array[] )
{
const int Size = ArraySize(Array);
ulong Sum = 0;
for (int i = 0; i < Size; i++)
Sum += Array[i];
return((Size > 0) ? Sum / Size : 0);
}
ulong ArrayMin( const ulong &Array[] )
{
return(Array[ArrayMinimum(Array)]);
}
ulong ArrayMax( const ulong &Array[] )
{
return(Array[ArrayMaximum(Array)]);
}
#define TOSTRING(A) #A + " = " + (string)(Array##A(Cycles)) + " mcs. "
void CycleComment( void )
{
static ulong Cycles[];
static const int Size = ArrayResize(Cycles, Amount);
static ulong PrevTime = GetMicrosecondCount();
static int i = 0;
Cycles[i] = GetMicrosecondCount() - PrevTime;
i++;
i %= Size;
Comment(TOSTRING(Mean) + TOSTRING(Min) + TOSTRING(Max));
PrevTime = GetMicrosecondCount();
}
void OnTimer( void )
{
CycleComment();
}
int OnCalculate( const int rates_total, const int prev_calculated, const int begin, const double& price[] )
{
return(rates_total);
}
Что-то у меня много получается на пустом чарте (без индикаторов) - в среднем 15 мс, минимум 5 мс. Почему так?