上面无需热键,鼠标滚轮自动实现通达信到同花顺联动,定制脚本50¥/小时。
以下为热键版,仅做示范
#Persistent
#SingleInstance,Force
tdxTitle:="华泰证券"
CodeTable:=initCodeTable()
;需按热键来调用,可多次运行,
#z::
StockName:=getStockName(tdxTitle)
MsgBox % "当前通达信上浏览的股票是: " . StockName
StockCode:=getStockCode(StockName,CodeTable)
MsgBox % "股票代码是: " . StockCode
buy(StockCode) ;同花顺根据传入的股票代码来买入
return
buy(StockCode)
{
;激活下单软件
IfWinExist 网上股票交易系统5.0
{
WinActivate
send {F1}
sleep 100
ControlSetText, Edit1, %StockCode%
sleep 100 ;
ControlSetText,Edit4,8800
sleep 100
;未完成点击动作
}
MsgBox 未探测到 网上股票交易系统5.0
}
getStockName(tdxTitle)
{
IfWinExist, %tdxTitle%
WinGetTitle, Title, %tdxTitle%
StringReplace, Title, Title, ]
StockName:=StrSplit(Title,"-")[3]
if (StrLen(StockName)=0)
return -1
return StockName
}
getStockCode(StockName,CodeTable)
{
StockCode:=-1
For index, value in CodeTable
{
IfInString, value, %StockName%
{
StockCode := substr(value, 1, 6)
break
}
}
return StockCode
}
initCodeTable()
{
;初始化股票对照表
codeTableFile:=["SZ.SNT","SH.SNT"]
filePath:=A_ScriptDir
;还可以用
;~ filePath:=A_Desktop
; 每个数组在使用前必须进行初始化:
codeTableArray := Object()
ArrayCount := 0
for index, name in codeTableFile
{
FileName:= filePath . "\" . name
;~ MsgBox % "Element number " . index . " is " . FileName
if FileExist(FileName)
{
Loop, read, %FileName%,
{
ArrayCount += 1
codeTableArray[ArrayCount]:= A_LoopReadLine
}
}
else
return -1 ;~ MsgBox 找不到代码文件
}
return codeTableArray
}
SZ.SNT
文件是文本文件,每个股票一行:
000012南玻A