如何读取MT4的持仓信息?
本帖最后由 东风烈烈 于 2015-11-10 16:49 编辑另付酬劳真实人民币300元。本人QQ:2682658016
我写的这段代码读不出来,请指教:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIEdit.au3>
#include <GuiStatusBar.au3>
#include <WindowsConstants.au3>
#include <Date.au3>
#include <Array.au3>
#include <File.au3>
#include <GuiListView.au3>
#include <GuiImageList.au3>
#include <GuiComboBox.au3>
#include <GuiButton.au3>
#include <IE.au3>
#Include <WinAPI.au3>
#include <ListViewConstants.au3>
#include <Math.au3>
Global $iniFileName = @ScriptDir & "\MT4config.ini"
; ini中的清仓时间
Global $WR=3000,$WR1=3000,$WR2=3000,$WR3=35
Global $WHProgramTitle = "1091953: ABL-Demo"
Global $hModelListView = ControlGetHandle($WHProgramTitle, "", "SysListView321")
Global $WH81 = "1091953: ABL-Demo"
Global $WH82=""; INSTANCE:2];ListView 类名
Global $iMCnt = _GUICtrlListView_GetItemCount($hModelListView)
Global $iMLUMCnt1 = _GUICTRLLISTVIEW_GETCOLUMNCOUNT($hModelListView)
Global $NA[$WR1][$WR3]
ReDim$NA[$WR1][$WR3]
Global $NB[$WR2][$WR3]
ReDim$NB[$WR2][$WR3]
Global $M1=1
While 1
$iMCnt = _GUICtrlListView_GetItemCount($hModelListView)
$iMLUMCnt1 = _GUICTRLLISTVIEW_GETCOLUMNCOUNT($hModelListView)
If $M1 >= 5 Then
Exit
EndIf
If $iMCnt > 1 Then
For $N = 0 To $iMCnt - 2
For $I = 0 To $iMLUMCnt1 - 1
; 获得信息
$NA [$N ][$I ] = _GUICTRLLISTVIEW_GETITEMTEXT($hModelListView, $N, $I)
Next
$NA [$N] = StringStripWS($NA [$N], 8);取持仓方向
;$NA[$N] = StringLeft($NA[$N],2);取持仓方向
$NA [$N] = StringStripWS($NA [$N], 8);交易合约
$NA[$N] = Number($NA[$N]);盈亏金额
MsgBox(0,"A结果?",$iMCnt & $iMLUMCnt1 & "交易合约:" & $NA [$N]& "方向:" & $NA[ $N] & "盈亏金额:" & $NA[ $N] & "A0全部正确吗?")
Next
$M1=$M1+1
EndIf
If $iMCnt = 1 Then
For $I = 0 To $iMLUMCnt1 - 1
$NA [$I ]=_GUICTRLLISTVIEW_GETITEMTEXT($hModelListView, 0, $I)
NEXT
$NA = StringStripWS($NA , 8);取持仓方向
;$NA = StringLeft($NA,2);取持仓方向
$NA = StringStripWS($NA , 8);交易合约
$NA = Number($NA);盈亏金额
MsgBox(0,"A结果?",$iMCnt & $iMLUMCnt1 & "交易合约:" & $NA & "方向:" & $NA[ 0] & "盈亏金额:" & $NA[ 0] & " A0全部正确吗?")
$M1=$M1+1
EndIf
WEnd
下面是要读取的程序安装包:
有朋友说上面的文件下载后不能安装,下面的是文件官网的链接:
http://www.ablchinese.com/list.asp?classid=9
另外说明一下这个是在线安装的,所需时间比一般的长。 可以用读内存或是截图后OCR识别,考虑到效率问题,我一般都是调用第三方dll完成。 怎麼不用EA? 回复 2# rchockxm
思路不一样,希望通过这种方式更适合我。 期待有人能帮到我 本帖最后由 东风烈烈 于 2015-10-26 21:52 编辑
急啊,有懂的请指点一二
另:有能弄出来的,我愿付人民币200元(声明:只给第一个解决问题的人,第二个以后就没有的。),QQ:2682658016 大家不要误会,我也知道200元是小到不能再小的钱,只是我现在自己处于水深火热之中,也说明我的着急,在论坛,在网上查了好久,也试了不少方法,还是不行,请懂的指点一下。谢谢! 大家研究一下,可以帮忙吗? 没人回复啊,给点建议好吗? 努力顶,不让沉,让大家知道我很急。。。。 OCR肯定行 就是办法笨点要么用CE 抓内存中的数据 要稳定点。软件下来安不上 测试不了。 回复 10# zch11230
首先谢谢。我能问一下OCR是什么吗?用CE读内存,听说不是很稳定,一升级又要重新找,而且我没这方面的经验。安装不了的话,下面的链接是官方网址,麻烦你在看一下。再次感谢!
http://www.ablchinese.com/list.asp?classid=9 百度了下,是识别软件,不知准确性和速度怎么样? 本帖最后由 zch11230 于 2015-10-27 17:01 编辑
我是在安装时 代理服务器不知道填什么 不填进下一步 就提示下载文件然后一直0KB不动。
OCR用插件的话这种标准字体应该是100%准确的 速度是毫秒级的就是一般不能最小化软件 窗口最好不被遮挡。 回复 13# zch11230
麻烦你到官网上下一个看看,点击我发你的链接。OCR好用稳定吗?窗口不被遮挡好象有点麻烦啊,有时还有别的程序被打开。