//+------------------------------------------------------------------+ //| yz_Gev_Dividend.mq5 | //| Copyright 2020,YuraZ | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2020,YuraZ" #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnStart() { int i_SymbolsTotal=SymbolsTotal(true); // false - Все символы , true – только символы в MarketWatch for(int i=0; iСервис->Настройки, вкладка "Советники"): //--- обнуляем код последней ошибки ResetLastError(); //--- загрузка html-страницы с Yahoo Finance int res=WebRequest("GET",url,cookie,NULL,500,post,0,result,headers); if(res==-1) { Print("Ошибка в WebRequest. Код ошибки =",GetLastError()); //--- возможно, URL отсутствует в списке, выводим сообщение о необходимости его добавления MessageBox("Необходимо добавить адрес '"+url+"' в список разрешенных URL во вкладке 'Советники'","Ошибка",MB_ICONINFORMATION); } else { if(res==200) { // Распарсим результат // найти дивиденды // // // // // // // // // // //
11.54% 2.14% 0.79
текущая доходностьдоля от прибылииндекс DSI
string strPars = CharArrayToString(result,0,-1); string Div; int iPos1 = StringFind(strPars,"",0); // Найдем начало таблицы дивидендов if(iPos1 !=0) { strPars = StringSubstr(strPars, iPos1, 500); iPos1 = StringFind(strPars,"",0); // найдем strPars = StringSubstr(strPars, iPos1+1, 500); iPos1 = StringFind(strPars,"",0); // найдем завершение пример ---}}}} >11.54% Div = StringSubstr(strPars,iPos1+1,iPos2 - 1 - iPos1) ; // вырезаем дивиденды printf("[%s] [%s]",sSymbol, Div); } ////--- успешная загрузка //// PrintFormat("Файл успешно загружен, размер %d байт.",ArraySize(result)); ////PrintFormat("Заголовки сервера: %s",headers); ////--- сохраняем данные в файл //int filehandle=FileOpen("yz_Div_"+sSymbol+".htm",FILE_WRITE|FILE_BIN); //if(filehandle!=INVALID_HANDLE) // { // //--- сохраняем содержимое массива result[] в файл // FileWriteArray(filehandle,result,0,ArraySize(result)); // //--- закрываем файл // FileClose(filehandle); // } //else // { // Print("Ошибка в FileOpen. Код ошибки =",GetLastError()); // } } else { //PrintFormat("Ошибка загрузки '%s', код %d",url,res); } } } //+------------------------------------------------------------------+
",0); // Нахдим ограничитель цвета int iPos2 = StringFind(strPars,"