Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 258
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я всё же не понимаю, что куда вставлять, и как написан скрипт тоже не особо ясно:(
experts/files/trx_rowa.vbs
Это злобный, небритый, неизвестный науке троян. Дэвлалэ, у вас гугол на расстоянии мышки, разобраться в исходнике религия не позволяет? Поменяйте IE.visible = false на IE.visible = true, запустите и посмотрите. Скрипт парсит ваш календарь и записывает всё что на кириллице в текстовый файл. Откройте и гляньте, всё нормально читается.
experts/files/trx_rowa.vbs
Это злобный, небритый, неизвестный науке троян. Дэвлалэ, у вас гугол на расстоянии мышки, разобраться в исходнике религия не позволяет? Поменяйте IE.visible = false на IE.visible = true, запустите и посмотрите. Скрипт парсит ваш календарь и записывает всё что на кириллице в текстовый файл. Откройте и гляньте, всё нормально читается.
'On Error Resume Next Dim IE : Set IE = WSCript.CreateObject("InternetExplorer.Application") Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject") Dim fTxtName : fTxtName = Left(WSCript.ScriptFullName,len(WSCript.ScriptFullName)-3) & "txt" 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") 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") 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()я же серьёзно не понимаю, что это за текст куда его вставлять. Давайте сначала,
1. Я могу скачать сайт в файл.
2. Дальше варианты:
2а) Прогнать его через функцию перекодировки(не читаемые символы пропадут, и в журнале будет ошибка - которая раздражает), и парсить русские буквы(раздражают ошибки, в журнале, но на работу они не влияют).
2б) Оставить всё как есть, и немного помучатся с ключевыми словами(типа monday = "Понедельник"), и так же вытащить информацию.
2в) Написать функцию, которая переводит "Понедельник" в "Понедельник", и так же вытащить что надо.
Попробовал написать функцию, но что-то я явно не знаю про кодировки:) Вот что у меня вышло, ниже оригинал.
function win_utf8($in_text) { $output = ""; $other[1025] = "Ё"; $other[1105] = "ё"; $other[1028] = "Є"; $other[1108] = "є"; $other[1030] = "I"; $other[1110] = "i"; $other[1031] = "Ї"; $other[1111] = "ї"; for ($i = 0; $i < strlen($in_text); $i++){ if (ord($in_text{$i}) > 191) { $output.="&#".(ord($in_text{$i})+848).";"; }else { if (array_search($in_text{$i}, $other)===false){ $output.=$in_text{$i}; }else { $output.="&#".array_search($in_text{$i}, $other).";"; } } } return $output; }я же серьёзно не понимаю, что это за текст куда его вставлять.
Я там раскомментил, смотрите. Этот код копипастите в блокнот, блокнот сохраняете как trx_rowa.vbs (не txt), получаете vbs-скрипт. Переносите скрипт в экспертс-файлы. Можете сначала проверить, запустить, можете сразу писать его вызов с mql4-кода. Как вызывать, привёл. Он создаёт txt-файл с таким же названием, как и сам, и там вся ваша кириллица. Единственное, sleep у вас с индюка не вызовется, надо выкручиваться. Можно вот так:
но вряд ли будет работать. На форуме был таймер на WinAPI.
Я там раскомментил, смотрите. Этот код копипастите в блокнот, блокнот сохраняете как trx_rowa.vbs (не txt), получаете vbs-скрипт. Переносите скрипт в экспертс-файлы. Можете сначала проверить, запустить, можете сразу писать его вызов с mql4-кода. Как вызывать, привёл. Он создаёт txt-файл с таким же названием, как и сам, и там вся ваша кириллица.
я Вас понял! Спасибо за способ вытаскивания кириллицы, но основная задача - получить время\страну\важность, но важность там идёт как картинка, и её только на латинице можно поймать, а так сохраню себе альтернативный способ качать странички.
Спасибо:)
основная задача - получить время\страну\важность
Время - .getElementsByTagName("TD").item(0).InnerText
страна - .getElementsByTagName("TD").item(1).InnerText
важность - .getElementsByTagName("TD").item(2).InnerHTML, а там уже распознаёте какая цифра находится в строке /i/calendar/impact1.png
есть ли какое-то ограничение на использование индикаторов?
если я в советнике использую индикатор - то когда программа заканчивает тестирование - то индикатор отрисовывается.
если один и тот-же индикатор но с разными параметрами - то рисуется два.
я в советники хочу включить индюк с динамическими параметрами - советник начал работать крайне медленно а при остановке вместо графика показывает армагедец (30 подключеных индикаторов - столько может отобразить на графике).
вопрос в том что если он отображает только 30 - внутри скрипта понимает ли он остальные?
есть ли какое-то ограничение на использование индикаторов?
если я в советнике использую индикатор - то когда программа заканчивает тестирование - то индикатор отрисовывается.
если один и тот-же индикатор но с разными параметрами - то рисуется два.
я в советники хочу включить индюк с динамическими параметрами - советник начал работать крайне медленно а при остановке вместо графика показывает армагедец.
перенесите основную функцию индикатора в советник - и быстрее работать будет и отсутствие армагедца.
Перенос кода индикатора в код эксперта. Строение индикатора.
Перенос кода индикатора в код эксперта. Общие схемы строения эксперта и индикаторных функций
Перенос кода индикатора в код эксперта. Заключениеесть ли какое-то ограничение на использование индикаторов?
если я в советнике использую индикатор - то когда программа заканчивает тестирование - то индикатор отрисовывается.
если один и тот-же индикатор но с разными параметрами - то рисуется два.
я в советники хочу включить индюк с динамическими параметрами - советник начал работать крайне медленно а при остановке вместо графика показывает армагедец (30 подключеных индикаторов - столько может отобразить на графике).
вопрос в том что если он отображает только 30 - внутри скрипта понимает ли он остальные?
void HideTestIndicators( bool hide)
Функция выставляет флаг скрытия индикаторов, вызываемых экспертом. При открытии графика после тестирования индикаторы, помеченные флагом скрытия, не будут выведены на график тестирования. Перед каждым вызовом индикатор помечается текущим установленным флагом скрытия.Необходимо отметить, что на график тестирования могут быть выведены только те индикаторы, которые непосредственно вызываются из тестируемого эксперта.
Как правильно прописать для того,что бы найти процент просадки?
(DoubleToStr(AccountBalance(), 2) - DoubleToStr(AccountFreeMargin(), 2)) * 100