Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 257

 
Glina:


так стало после советника какогото нипомню даже какого


Окропите компьютер святой водой.
 
gyfto:

Окропите компьютер святой водой.

я вот серьёзно спрашиваю. мне ни до шуток. хочу сову поставить голову сломаешь с настройками теперь
 
Glina:

у меня два счёта нат одном евродоллар 1.3469 а на втором где был советник теперь 1.36690
Я ничего не понял из сути вашей проблемы. Вы переключаетесь между разными счетами в одном терминале?
 
artmedia70:
Я ничего не понял из сути вашей проблемы. Вы переключаетесь между разными счетами в одном терминале?


терминалов тоже два но на одном поменялись 4 на 5 знаков.
 
gyfto:

mzk_3om6u, с DOM-структурами легче всего работать в IE10 через VBScript/JScript, запускать wsf-скрипты можно через WinExec(). Вы пытаетесь конвертнуть тэги. Зачем? Можно спокойно работать через InnerText, в конце скрипта делаете запись в файл, в индюке файл принимаете. Вот пример:


Ну так проблема ведь не в сохранении данных, и даже не в поиске тегов, всё банально и просто, хочется в МТ4 делать поиск по кириллице, но при сохранении странички из интернета любая кириллица переходит в другую кодировку.
 
mzk_3om6u:

Ну так проблема ведь не в сохранении данных, и даже не в поиске тегов, всё банально и просто, хочется в МТ4 делать поиск по кириллице, но при сохранении странички из интернета любая кириллица переходит в другую кодировку.


На выходных попробую распарсить ваш сайт, посмотрим что можно сделать. Раньше не выйдет, терминал занят.

 
Glina:

терминалов тоже два но на одном поменялись 4 на 5 знаков.
Извините, но я растерял свои сенсорные способности.
 
gyfto:


На выходных попробую распарсить ваш сайт, посмотрим что можно сделать. Раньше не выйдет, терминал занят.


Да там ничего интересного, просто МТ4 не видит специальные символы типа: №, §, ©, ‰, ×
 
mzk_3om6u:

Да там ничего интересного, просто МТ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);
 
gyfto:

Специально выбрал только ячейки с кириллицей - читает. Остальные возьмите перебором j в getElementsByTagName("TD").Item(j), либо, что более продуманно, самостоятельно отберите в Хроме, какие колонки читать. Записывайте как csv, не забывайте конкатенировать с разделителем, и вперёд.

experts/files/trx_rowa.vbs

MQL4


Я всё же не понимаю, что куда вставлять, и как написан скрипт тоже не особо ясно:(

что за trx_rowa.vbs и какое отношение к МТ4?:)