Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
RefreshRates();
должен обновлять данные, но он обновляет данные о состояние рынки, а вот выделять тики...
и еще в коде ты как-то странно написал, последний тик у тебя может записаться в любой из элементов массива с индексами от 0 до 5, при этом в следующей глобальной итерации последние данные будут сначало сравниваться с элементом имеющим индекс 0
double last_price; //здесь будем хранить последнюю известную цену RefreshRates(); last_price=MarketInfo(sSymbol,MODE_ASK); if ( !CompareDoubles_m(LastAsk[0],last_price,Digits) ) { //вот здесь можно уже снммать показания времени по маркет инфо или другим способом for (k=5; k>0; k--) { LastAsk[k]=LastAsk[k-1]; } LastAsk[0]=last_price; handle=FileOpen(FilePath,FILE_WRITE); if(handle>0) { FileWrite(handle, sDate, sSymbol, MarketInfo(sSymbol,MODE_BID), MarketInfo(sSymbol,MODE_ASK), AccountCompany(), AccountBalance(), AccountEquity(),IsTradeAllowed()); FileClose(handle); } else { Print("Ошибка открытия файла"); } } //+--------------------------------------------------------------------------------------------------------------------------------------------------+ //| right comparison of 2 doubles | //+--------------------------------------------------------------------------------------------------------------------------------------------------+ bool CompareDoubles_m(double number1,double number2,int dig) { if(NormalizeDouble(number1-number2,dig)==0) return(true); else return(false); }