东风烈烈 发表于 2015-10-26 18:06:57

如何读取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

另外说明一下这个是在线安装的,所需时间比一般的长。

afan 发表于 2015-10-26 18:06:58

可以用读内存或是截图后OCR识别,考虑到效率问题,我一般都是调用第三方dll完成。

rchockxm 发表于 2015-10-26 20:00:05

怎麼不用EA?

东风烈烈 发表于 2015-10-26 20:01:28

回复 2# rchockxm


    思路不一样,希望通过这种方式更适合我。

东风烈烈 发表于 2015-10-26 20:03:57

期待有人能帮到我

东风烈烈 发表于 2015-10-26 21:02:05

本帖最后由 东风烈烈 于 2015-10-26 21:52 编辑

急啊,有懂的请指点一二

另:有能弄出来的,我愿付人民币200元(声明:只给第一个解决问题的人,第二个以后就没有的。),QQ:2682658016

东风烈烈 发表于 2015-10-27 09:33:51

大家不要误会,我也知道200元是小到不能再小的钱,只是我现在自己处于水深火热之中,也说明我的着急,在论坛,在网上查了好久,也试了不少方法,还是不行,请懂的指点一下。谢谢!

东风烈烈 发表于 2015-10-27 11:13:20

大家研究一下,可以帮忙吗?

东风烈烈 发表于 2015-10-27 11:39:12

没人回复啊,给点建议好吗?

东风烈烈 发表于 2015-10-27 12:57:34

努力顶,不让沉,让大家知道我很急。。。。

zch11230 发表于 2015-10-27 15:38:32

OCR肯定行 就是办法笨点要么用CE 抓内存中的数据 要稳定点。软件下来安不上 测试不了。

东风烈烈 发表于 2015-10-27 16:03:54

回复 10# zch11230

首先谢谢。我能问一下OCR是什么吗?用CE读内存,听说不是很稳定,一升级又要重新找,而且我没这方面的经验。安装不了的话,下面的链接是官方网址,麻烦你在看一下。再次感谢!
http://www.ablchinese.com/list.asp?classid=9

东风烈烈 发表于 2015-10-27 16:06:59

百度了下,是识别软件,不知准确性和速度怎么样?

zch11230 发表于 2015-10-27 16:59:09

本帖最后由 zch11230 于 2015-10-27 17:01 编辑

我是在安装时 代理服务器不知道填什么 不填进下一步 就提示下载文件然后一直0KB不动。
OCR用插件的话这种标准字体应该是100%准确的 速度是毫秒级的就是一般不能最小化软件 窗口最好不被遮挡。

东风烈烈 发表于 2015-10-27 17:12:04

回复 13# zch11230


    麻烦你到官网上下一个看看,点击我发你的链接。OCR好用稳定吗?窗口不被遮挡好象有点麻烦啊,有时还有别的程序被打开。
页: [1] 2 3 4 5
查看完整版本: 如何读取MT4的持仓信息?