Некоторое время назад я выкладывал на форуме шаблон используя который можно добавить новостной фильтр в любой свой советник MQL4. Шаблон сделан без использования dll , по этому потом если вам будет нужно , можете добавлять свой советник в Маркет MQL5.com.
Шаблон берем здесь бесплатно — https://www.mql5.com/ru/code/16308. Он берет новости с Investing.com. Недавно попросили сделать версию еще и с выбором источника новостей — Investing.com или DailyFX , я его сделал и вставил клиенту в советник, но в публичный доступ пока не выкладывал.
Новостной фильтр можно настраивать по разному, к примеру :
- перед выходом сильных новостей — останавливать торговлю, с закрытием сделок или входом в хедж.
- после окончания новостей — выдержать паузу в торговле и дождаться пока рынок немного успокоится, и только тогда включить торговлю.
- можно наоборот — торговать только на новостях — к примеру имея трендовый советник — ждать сильных новостей и после их выхода если сформировался тренд — запускать советник.
- можно никак не влиять на торговлю, а отображать время выхода новостей, просто для своего собственного удобства.
Как его использовать решаете вы сами.
Для программиста не составит труда вставить в советника весь код. Для не программиста, могу посоветовать начинать учиться или обращайтесь ко мне — я помогу с данным действием за символическую плату.
Он уже вообще ни откуда не берет новости…
Раньше работал и брал новости только с http://ec.forexprostools.com
Потом перестал и от туда брать новости.
Поменял http на https и опять заработал.
Прошло какое-то время, обновился билд МТ4 и вот теперь опять не хочет брать новости…
Думаю проблема в этом участке кода :
//— save the data in the file
int filehandle=FileOpen(«news-log.html»,FILE_WRITE|FILE_BIN);
//— проверка ошибки
if(filehandle!=INVALID_HANDLE)
{
//—save the contents of the array result [] in file
FileWriteArray(filehandle,result,0,ArraySize(result));
//— close file
FileClose(filehandle);
int filehandle2=FileOpen(«news-log.html»,FILE_READ|FILE_BIN);
TXT=FileReadString(filehandle2,ArraySize(result));
FileClose(filehandle2);
}
else
{
Print(«Error in FileOpen. Error code =»,GetLastError());
}
да, источники данных поумирали за это время