Foma_N:
В описании для функции double ObjectGetValueByShift( string name, int shift) сказано:
"Для получения информации об ошибке необходимо вызвать функцию GetLastError()."
Примера вызова нет. Как же вызвать GetLastError() для double функции?
Точно так же как и для любой другой. Тип возвращаемого внешней функцией значения (в Вашем случае double ObjectGetValueByShift( string name, int shift) ) роли не играет. Как это нет примера ? Смотрите хелп для самой функція GetLastError() :
int GetLastError( ) Функция возвращает код последней ошибки, после чего значение специальной переменной last_error, в которой хранится код последней ошибки обнуляется. Так что последующий вызов GetLastError() вернет значение 0. Пример: int err; int handle=FileOpen("somefile.dat", FILE_READ|FILE_BIN); if(handle<1) { err=GetLastError(); Print("error(",err,"): ",ErrorDescription(err)); return(0); }
примеров - очень много.
err=GetLastError(); if (pa==0 && pb==0) Message("Проверьте в Обзоре рынка наличие символа "+sy); // Вывод сообщения об ошибке Print("Error(",err,") opening position: ",ErrorDescription(err),", try ",it); Print("Ask=",pa," Bid=",pb," sy=",sy," ll=",ll," op=",GetNameOP(op), " pp=",pp," sl=",sl," tp=",tp," mn=",mn); // Блокировка работы советника if (err==2 || err==64 || err==65 || err==133) { gbDisabled=True; break; } // Длительная пауза if (err==4 || err==131 || err==132) { Sleep(1000*300); break; } if (err==128 || err==142 || err==143) { Sleep(1000*66.666); if (ExistPositions(sy, op, mn, ot)) { if (UseSound) PlaySound(NameFileSound); break; } } if (err==140 || err==148 || err==4110 || err==4111) break; if (err==141) Sleep(1000*100); if (err==145) Sleep(1000*17); if (err==146) while (IsTradeContextBusy()) Sleep(1000*11); if (err!=135) Sleep(1000*7.7);
http://www.google.com.by/search?as_q=GetLastError%28+codebase&hl=ru&client=firefox&rls=org.mozilla%3Aru%3Aofficial&num=10&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&as_epq=&as_oq=&as_eq=&lr=&cr=&as_ft=i&as_filetype=&as_qdr=all&as_occt=any&as_dt=i&as_sitesearch=mql4.com&as_rights=&safe=images
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В описании для функции double ObjectGetValueByShift( string name, int shift) сказано:
"Для получения информации об ошибке необходимо вызвать функцию GetLastError()."
Примера вызова нет. Как же вызвать GetLastError() для double функции?