飞狐资金明细记录自动录入
每天绘制资金曲线是很必要的。然而对于频繁交易的人,交易记录的录入就显得过于枯燥、麻烦。
根据“飞狐预警自动下单”程序改编了一个资金明细数据自动录入程序(AUTOIT V3源码)。
我用的是飞狐交易师的投资管理和同花顺网上独立下单软件读取的资金明细数据。
如有不同,请自行更改代码。
没有AUTOIT V3的自己下个吧。哪里不满意改改再编译。
代码如下:
#include <Array.au3>
$g_szVersion = "tradingrecord"
If WinExists($g_szVersion) Then Exit ;防止程序重复运行
AutoItWinSetTitle($g_szVersion)
Opt("WinTitleMatchMode", 4)
HotKeySet("{ESC}", "Terminate") ;退出程序
HotKeySet("^{F1}", "ShowMessageCtrlF1") ;Ctrl+F1录入交易信息
Global $monclip=""
Global $monclipkillcrlf=""
Global $i=0
Global $jgxxh[9999]
Global $jgxxha[9999]
Global $jgxxhb[9999]
Global $monalert[9999]
Global $jgxxhcnum=0
Global $foxtraderpath=""
Global $foxtradername="FoxTrader.exe"
Func Terminate()
Exit 0
EndFunc
While 1 ;程序主体
Sleep(500)
WEnd
Func ShowMessageCtrlF1()
if not ProcessExists($foxtradername) Then
MsgBox(1,"错误","尚未启动飞狐交易师")
Else
WinActivate("飞狐交易师 -")
SLEEP(200)
Winmove("飞狐交易师 -","",0,0,960,518)
SLEEP(200)
$monclipkillcrlf = ClipGet()
If Stringright($monclipkillcrlf,2)=@CR&@LF THEN
$monclip=StringTrimRight($monclipkillcrlf,2)
Else
$monclip=$monclipkillcrlf
EndIf
$i=0
Local $aNewArray[UBound($jgxxh)]
$jgxxh = $aNewArray
Local $aNewArraya[UBound($jgxxha)]
$jgxxha = $aNewArraya
Local $aNewArrayb[UBound($jgxxhb)]
$jgxxhb = $aNewArrayb
Local $aNewArrayma[UBound($monalert)]
$monalert = $aNewArrayma
$jgxxhcnum=0
If $monclip<>"" Then
$monalert=StringSplit($monclip,@CR&@LF,1)
$monalertcount=$monalert[0]-1;总交易信息行数=$monalert[0]-1
;起始交易信息在$monalert[2]处
;最后一行信息为$monalert[$monalert[0]]
If $monalertcount>0 Then
; $yjjkzhs=$monalertcount
;$i=$yjclzhs
MouseMove(416, 317)
SLEEP(200)
MouseClick("right")
SLEEP(200)
Send("{DOWN}")
SLEEP(200)
Send("{DOWN}")
SLEEP(200)
Send("{DOWN}")
SLEEP(200)
Send("{DOWN}")
SLEEP(200)
Send("{DOWN}")
SLEEP(200)
Send("{ENTER}")
SLEEP(200)
while $i<=$monalertcount-1
$i=$i+1
$jgxxh[$i]=$monalert[$i+1];+1是有首行!
$jgxxha=StringSplit($jgxxh[$i],@TAB,1)
$jgxxhb[1]=StringMid($jgxxha[1],1,4);成交年份
$jgxxhb[2]=StringMid($jgxxha[1],5,2);成交月份
$jgxxhb[3]=StringMid($jgxxha[1],7,2);成交日期
$jgxxhb[4]=$jgxxha[3];证券代码
$jgxxhb[5]=$jgxxha[4];证券名称
$jgxxhb[6]=$jgxxha[5];操作
$jgxxhb[7]=$jgxxha[6] ;成交数量
$jgxxhb[8]=$jgxxha[7] ;成交均价
$jgxxhb[9]=$jgxxha[8] ;发生金額
MouseMove(416, 317)
SLEEP(200)
MouseClick("left")
SLEEP(200)
Send("{END}")
SLEEP(200)
MouseClick("right")
SLEEP(200)
Send("{DOWN}")
SLEEP(200)
Send("{ENTER}")
SLEEP(200)
WinActivate("投资项目")
SLEEP(200)
Winmove("投资项目","",0,0,333,261)
If $jgxxhb[6]="银hang转存" Then
MouseMove(42, 36)
SLEEP(200)
MouseClick("left")
SLEEP(200)
Send("{HOME}")
Send("+{END}")
Sleep(200)
Send($jgxxhb[9]);
Sleep(200)
Send("{TAB}")
Sleep(200)
Send("{TAB}")
Sleep(200)
Send("{TAB}")
Sleep(200)
Send($jgxxhb[1])
Sleep(200)
Send("{RIGHT}")
Sleep(200)
Send($jgxxhb[2])
Sleep(200)
Send("{RIGHT}")
Sleep(200)
Send($jgxxhb[3])
Sleep(200)
Send("{TAB}")
Sleep(200)
Send("{TAB}")
Sleep(200)
Send("{SPACE}")
Sleep(200)
ElseIf $jgxxhb[6]="银hang转取" Then
MouseMove(101, 34)
SLEEP(200)
MouseClick("left")
SLEEP(200)
Send("{HOME}")
Send("+{END}")
Sleep(200)
Send(Abs(Number($jgxxhb[9])));
Sleep(200)
Send("{TAB}")
Sleep(200)
Send("{TAB}")
Sleep(200)
Send("{TAB}")
Sleep(200)
Send($jgxxhb[1])
Sleep(200)
Send("{RIGHT}")
Sleep(200)
Send($jgxxhb[2])
Sleep(200)
Send("{RIGHT}")
Sleep(200)
Send($jgxxhb[3])
Sleep(200)
Send("{TAB}")
Sleep(200)
Send("{TAB}")
Sleep(200)
Send("{SPACE}")
Sleep(200)
ElseIf $jgxxhb[6]="证券买入" Then
MouseMove(161, 34)
SLEEP(200)
MouseClick("left")
SLEEP(200)
If StringLeft($jgxxhb[4],1)="6" Then;判断沪深市场
MouseMove(59, 65)
SLEEP(200)
MouseClick("left")
SLEEP(200)
Send("{UP}")
SLEEP(200)
Send("{UP}")
SLEEP(200)
SEND("{ENTER}")
Send("{TAB}")
Sleep(200)
Send($jgxxhb[1])
Sleep(200)
Send("{RIGHT}")
Sleep(200)
Send($jgxxhb[2])
Sleep(200)
Send("{RIGHT}")
Sleep(200)
Send($jgxxhb[3])
Sleep(200)
Send("{TAB}")
Sleep(200)
Send("{HOME}")
Send("+{END}")
Sleep(200)
Send($jgxxhb[4]);
Send("{TAB}")
Sleep(200)
Send("{TAB}")
Sleep(200)
Send("{HOME}")
Send("+{END}")
Sleep(200)
Send($jgxxhb[8]);
Send("{TAB}")
Sleep(200)
Send("{HOME}")
Send("+{END}")
Sleep(200)
Send($jgxxhb[7]);
Send("{TAB}")
Sleep(200)
Send("{TAB}")
Sleep(200)
Send("{TAB}")
Sleep(200)
Send("{SPACE}")
Sleep(200)
Else
MouseMove(59, 65)
SLEEP(200)
MouseClick("left")
SLEEP(200)
Send("{DOWN}")
SLEEP(200)
Send("{DOWN}")
SLEEP(200)
SEND("{ENTER}")
Send("{TAB}")
Sleep(200)
Send($jgxxhb[1])
Sleep(200)
Send("{RIGHT}")
Sleep(200)
Send($jgxxhb[2])
Sleep(200)
Send("{RIGHT}")
Sleep(200)
Send($jgxxhb[3])
Sleep(200)
Send("{TAB}")
Sleep(200)
Send("{HOME}")
Send("+{END}")
Slee
|