资金曲线
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
飞狐资金明细记录自动录入
每天绘制资金曲线是很必要的。然而对于频繁交易的人,交易记录的录入就显得过于枯燥、麻烦。
根据“飞狐预警自动下单”程序改编了一个资金明细数据自动录入程序(AUTOIT V3源码)。
我用的是飞狐交易师的投资管理和同花顺网上独立下单软件读取的资金明细数据。
如有不同,请自行更改代码。
没有AUTOIT V3的自己下个吧。哪里不满意改改再编译。
代码如下:
#include
$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("rig
ht")
SLEEP(200)
Send("{DOWN}")
SLEEP(200)
Send("{ENTER}")
SLEEP(200)
WinActivate("投资项目")
SLEEP(200)
Winmove("投资项目","",0,0,333,261)
If $jgxxhb[6]="银行转存" 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]="银行转取" 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}")
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)
EndIf
ElseIf $jgxxhb[6]="证券卖出" Then
MouseMove(221, 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(Abs(Number($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}")
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(Abs(Number($jgxxhb[7])));
Send("{TAB}")
Sleep(200)
Send("{TAB}")
Sleep(200)
Send("{TAB}")
Sleep(200)
Send("{SPACE}")
Sleep(200)
EndIf
Else
;其他情况,如“红股入帐”、“股息入帐”等情况,请手动填写
MouseMove(280, 34)
SLEEP(200)
MouseClick("left")
SLEEP(200)
MsgBox(1,"分红送配信息请手动填写",$jgxxha[1]&" "&$jgxxha[3]&" "&$jgxxha[4]&" "&$jgxxha[5]&@CR&@LF&" 成交数量:"&$jgxxha[6]&@CR&@LF&" 成交均价:"&$jgxxha[7]&@CR&@LF&" 发生金额:"&$jgxxha[8])
EndIf
WEnd
MouseMove(416, 317)
SLEEP(200)
MouseClick("left")
SLEEP(200)
Send("{END}")
SLEEP(200)
MsgBox(1,"成功","已完成资金明细记录输入")
Else
If $monclip<>"" Then
MsgBox(1,"错误","没有交易记录")
EndIf
EndIf
Else
If $monclip="" Then
MsgBox(1,"错误","剪切板内无信息")
EndIf
EndIf
$monclip=""
EndIf
EndFunc
先运行此软件,在交易软件查资金明细,选好日期后,右键复制。
在飞狐投资管理内选好账户进入。
开始录入热键为Ctrl+F1
退出本程序为ESC键
编译好的程序已上传,请需要的网友下载试用。