'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()
我还是不明白该放些什么,而且剧本怎么写的也不是特别清楚 :(
专家/文件/trx_rowa.vbs
这是一个邪恶的、没有胡子的、不为科学所知的木马。Devlala,你有googol在鼠标的距离,难道你不能弄清源代码吗?将IE.visible = false改为IE.visible = true,运行它,看看。该脚本解析你的日历,并将所有内容以西里尔语写入一个文本文件中。打开看看,读起来还不错。
专家/文件/trx_rowa.vbs
这是一个邪恶的、没有胡子的、不为科学所知的木马。Devlala,你有googol在鼠标的距离,难道你不能弄清源代码吗?将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.进一步的选择。
2a) 通过重新编码功能运行(不可读的字符会消失,日志中会有一个错误--这很烦人),并解析俄罗斯字母(烦人的错误,在日志中,但它们不影响工作 )。
2b)让事情保持原样,用关键词制造一些麻烦(比如周一="РџЅ械ґ械 "ЊЅє"),并把信息弄出来。
2c) 写一个函数,将 "Monday "翻译成 "РџѕЅ迮ґ械 "ЊЅøє",并拉出需要的内容。
试图写一个函数,但我显然对编码不了解 :)这是我得到的东西,下面是原文。
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-script。将脚本转移到专家文件。你可以先检查它,运行它,或者你可以立即从mql4-code写出它的调用。给出了如何调用它的方法。它创建了一个与自己同名的txt文件,而你所有的西里尔语都在那里。唯一的问题是,睡眠 不会从你的诱导器中调用,你必须自己解决。你可以这样做。
但这不太可能奏效。论坛上有一个WinAPI计时器。
我在那里未加评论,看。这个代码你复制到记事本,记事本保存为trx_rowa.vbs(不是txt),得到vbs-script。将脚本转移到专家文件。你可以先检查它,运行它,或者你可以立即从mql4-code写出它的调用。给出了如何调用它的方法。它创建了一个与自己同名的txt文件,你所有的西里尔语都在那里。
我明白你的意思!感谢拉出西里尔文的方法,但主要任务是获得时间/国家/ 重要性,但重要性是以图片形式存在的,只能用拉丁文抓取,因此我将保留另一种下载页面的方法。
谢谢:)
主要目的是为了获得时间/国家/重要程度
时间 -.getElementsByTagName("TD").item(0).InnerText
country -.getElementsByTagName("TD").item(1).InnerText
重要性 -.getElementsByTagName("TD").item(2).InnerHTML,在那里你可以找到哪个数字在/i/calendar/impact1.png行中
对指标的使用是否有任何限制?
如果我在我的EA中使用一个指标,那么当程序完成测试后,指标就会被画出来。
如果我使用同一个指标,但参数不同 - 那么就会画出两个指标。
我想在我的EA中加入一个带有动态参数的指标--当我停止它时,它开始工作得很慢,当我停止它时,它显示的是大决战而不是图表(我有30个附加指标--这么多指标可以在图表上显示)。
问题是,如果它只显示30--它能理解脚本内的其余部分吗?
对指标的使用是否有任何限制?
如果我在我的EA中使用一个指标,那么当程序完成测试后,指标就会被画出来。
如果我使用同一个指标,但参数不同 - 那么就会画出两个指标。
我想在我的EA中加入一个带有动态参数的指标--EA开始工作时非常缓慢,当我停止工作时,它显示的是大决战而不是图表。
我想把该指标的主要功能转移到我的EA中--它的工作速度会更快,而且不会出现大决战。
将指标代码转为专家顾问代码。该指标的结构。
将指标代码转移到专家顾问代码。构建专家顾问和指标函数的一般方案
将指标代码转为专家代码。总结对指标的使用是否有任何限制?
如果我在我的EA中使用一个指标,那么当程序完成测试后,指标就会被画出来。
如果我使用同一个指标,但参数不同 - 那么就会画出两个指标。
我想在我的EA中加入一个带有动态参数的指标--当我停止它时,它开始工作得很慢,当我停止它时,它显示的是大决战而不是图表(我有30个附加指标--这么多指标可以在图表上显示)。
问题是,如果它只显示30--它能理解脚本内的其余部分吗?
void HideTestIndicators( bool hide)。
该函数设置标志以隐藏专家顾问所调用的指标。在测试 后打开图表时, 标有隐藏标志的指标 将不在测试图表上显示。在每次调用之前,指标都会被标记上当前的隐藏标志。应该注意的是,只有那些被测试的专家顾问直接调用的指标可以显示在测试图表中。
找到缩减百分比的正确方法是什么?
(DoubleToStr(AccountBalance(), 2) - DoubleToStr(AccountFreeMargin(), 2))* 100