mzk_3om6u, с DOM-структурами легче всего работать в IE10 через VBScript/JScript, запускать wsf-скрипты можно через WinExec(). Вы пытаетесь конвертнуть тэги. Зачем? Можно спокойно работать через InnerText, в конце скрипта делаете запись в файл, в индюке файл принимаете. Вот пример:
Ну так проблема ведь не в сохранении данных, и даже не в поиске тегов, всё банально и просто, хочется в МТ4 делать поиск по кириллице, но при сохранении странички из интернета любая кириллица переходит в другую кодировку.
Ну так проблема ведь не в сохранении данных, и даже не в поиске тегов, всё банально и просто, хочется в МТ4 делать поиск по кириллице, но при сохранении странички из интернета любая кириллица переходит в другую кодировку.
На выходных попробую распарсить ваш сайт, посмотрим что можно сделать. Раньше не выйдет, терминал занят.
Специально выбрал только ячейки с кириллицей - читает. Остальные возьмите перебором j в getElementsByTagName("TD").Item(j), либо, что более продуманно, самостоятельно отберите в Хроме, какие колонки читать. Записывайте как csv, не забывайте конкатенировать с разделителем, и вперёд.
experts/files/trx_rowa.vbs
'On Error Resume Next
Dim IE : Set IE = WSCript.CreateObject("InternetExplorer.Application")' открываем IE
Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject")' получаем доступ к FSO
Dim fTxtName : fTxtName = Left(WSCript.ScriptFullName,len(WSCript.ScriptFullName)-3) & "txt"' чтобы писать в csv-файл, поменять txt на csv
Set TxtFile = objFSO.OpenTextFile(fTxtName, 2, True)'открываем файл для записи
IE.visible = false' браузер в фоновом режиме
IE.navigate "http://www.fxteam.ru/forex/economic-calendar/2013_49.html"' страница с календарём для парсинга
Do While IE.Busy' пока браузер не загрузится
WSCript.Sleep 500' ждём полсекунды
loop' в цикле
Do While IE.document.getElementsByClassName("tr1 rowa").Item(0).getElementsByTagName("TD").Item(4) is Nothing' пока этот элемент страницы не загрузится
WSCript.Sleep 500' будем ждать загрузки страницы
loop' в цикле
Set tr1_rowa = IE.document.getElementsByClassName("tr1 rowa")' получаем коллекцию таких DOM-элементов
For i = 0 to tr1_rowa.length - 1' перебираем её
TxtFile.WriteLine tr1_rowa.Item(i).getElementsByTagName("TD").Item(4).InnerText' записываем текстовое содержимое ячейки в файл
Next
Set tr0_rowa = IE.document.getElementsByClassName("tr0 rowa")' получаем коллекцию таких DOM-элементов
For i = 0 to tr0_rowa.length - 1' перебираем её
TxtFile.WriteLine tr0_rowa.Item(i).getElementsByTagName("TD").Item(4).InnerText' записываем текстовое содержимое ячейки в файл
Next
Set IE = Nothing' закрываем браузер
TxtFile.Close' закрываем файл
WSCript.Quit()' выключаем скрипт
MQL4
#import "kernel32.dll"int WinExec(string lpCmdLine, int uCmdShow);
#import//в старте (или где надо)
WinExec("cscript experts/files/trx_rowa.vbs", 2);
Sleep(60*1000);
hFile = FileOpen("trx_rowa.txt", FILE_READ|FILE_CSV);
while(!FileIsEnding(hFile)){
//обычный цикл чтения файла...
}
FileClose(hFile);
Специально выбрал только ячейки с кириллицей - читает. Остальные возьмите перебором j в getElementsByTagName("TD").Item(j), либо, что более продуманно, самостоятельно отберите в Хроме, какие колонки читать. Записывайте как csv, не забывайте конкатенировать с разделителем, и вперёд.
experts/files/trx_rowa.vbs
MQL4
Я всё же не понимаю, что куда вставлять, и как написан скрипт тоже не особо ясно:(
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
так стало после советника какогото нипомню даже какого
Окропите компьютер святой водой.
Окропите компьютер святой водой.
я вот серьёзно спрашиваю. мне ни до шуток. хочу сову поставить голову сломаешь с настройками теперь
у меня два счёта нат одном евродоллар 1.3469 а на втором где был советник теперь 1.36690
Я ничего не понял из сути вашей проблемы. Вы переключаетесь между разными счетами в одном терминале?
терминалов тоже два но на одном поменялись 4 на 5 знаков.
mzk_3om6u, с DOM-структурами легче всего работать в IE10 через VBScript/JScript, запускать wsf-скрипты можно через WinExec(). Вы пытаетесь конвертнуть тэги. Зачем? Можно спокойно работать через InnerText, в конце скрипта делаете запись в файл, в индюке файл принимаете. Вот пример:
Ну так проблема ведь не в сохранении данных, и даже не в поиске тегов, всё банально и просто, хочется в МТ4 делать поиск по кириллице, но при сохранении странички из интернета любая кириллица переходит в другую кодировку.
Ну так проблема ведь не в сохранении данных, и даже не в поиске тегов, всё банально и просто, хочется в МТ4 делать поиск по кириллице, но при сохранении странички из интернета любая кириллица переходит в другую кодировку.
На выходных попробую распарсить ваш сайт, посмотрим что можно сделать. Раньше не выйдет, терминал занят.
терминалов тоже два но на одном поменялись 4 на 5 знаков.
На выходных попробую распарсить ваш сайт, посмотрим что можно сделать. Раньше не выйдет, терминал занят.
Да там ничего интересного, просто МТ4 не видит специальные символы типа: №, §, ©, ‰, ×
Да там ничего интересного, просто МТ4 не видит специальные символы типа: №, §, ©, ‰, ×
Специально выбрал только ячейки с кириллицей - читает. Остальные возьмите перебором j в getElementsByTagName("TD").Item(j), либо, что более продуманно, самостоятельно отберите в Хроме, какие колонки читать. Записывайте как csv, не забывайте конкатенировать с разделителем, и вперёд.
experts/files/trx_rowa.vbs
'On Error Resume Next Dim IE : Set IE = WSCript.CreateObject("InternetExplorer.Application")' открываем IE Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject")' получаем доступ к FSO Dim fTxtName : fTxtName = Left(WSCript.ScriptFullName,len(WSCript.ScriptFullName)-3) & "txt"' чтобы писать в csv-файл, поменять txt на csv Set TxtFile = objFSO.OpenTextFile(fTxtName, 2, True)'открываем файл для записи IE.visible = false' браузер в фоновом режиме IE.navigate "http://www.fxteam.ru/forex/economic-calendar/2013_49.html"' страница с календарём для парсинга Do While IE.Busy' пока браузер не загрузится WSCript.Sleep 500' ждём полсекунды loop' в цикле Do While IE.document.getElementsByClassName("tr1 rowa").Item(0).getElementsByTagName("TD").Item(4) is Nothing' пока этот элемент страницы не загрузится WSCript.Sleep 500' будем ждать загрузки страницы loop' в цикле Set tr1_rowa = IE.document.getElementsByClassName("tr1 rowa")' получаем коллекцию таких DOM-элементов For i = 0 to tr1_rowa.length - 1' перебираем её TxtFile.WriteLine tr1_rowa.Item(i).getElementsByTagName("TD").Item(4).InnerText' записываем текстовое содержимое ячейки в файл Next Set tr0_rowa = IE.document.getElementsByClassName("tr0 rowa")' получаем коллекцию таких DOM-элементов For i = 0 to tr0_rowa.length - 1' перебираем её TxtFile.WriteLine tr0_rowa.Item(i).getElementsByTagName("TD").Item(4).InnerText' записываем текстовое содержимое ячейки в файл Next Set IE = Nothing' закрываем браузер TxtFile.Close' закрываем файл WSCript.Quit()' выключаем скриптMQL4
Специально выбрал только ячейки с кириллицей - читает. Остальные возьмите перебором j в getElementsByTagName("TD").Item(j), либо, что более продуманно, самостоятельно отберите в Хроме, какие колонки читать. Записывайте как csv, не забывайте конкатенировать с разделителем, и вперёд.
experts/files/trx_rowa.vbs
MQL4
Я всё же не понимаю, что куда вставлять, и как написан скрипт тоже не особо ясно:(
что за trx_rowa.vbs и какое отношение к МТ4?:)