分享

股票自动交易脚本(配合Excel使用)

 mastereye 2017-09-03
适合没时间看盘但倾向超短线操作股友,也适合那些经常因涨时贪跌时怕而被庄家诱多或诱空的股友,该脚本除能判别条件执行买入或卖出外,最大特点在于能实现拐点买入(分时图中的某个波谷,但不能保证是一天的最小值)或卖出(分时图上的某个波峰,但不能保证是一天的最大值),示例券商为东方财富证券,如用其他券商需调制一次参数,有意使用者可与我沟通.
以下是源代码:

Delay 100
If ZBJD < 1 Then ' Excel坐标校对一次
Hwnd = Plugin.Window.Find(0, 'Microsoft Excel(产品激活失败) - Daily')
Call Plugin.Window.Restore(Hwnd)
Call Plugin.Window.Active(Hwnd)
Call Plugin.Window.Move(Hwnd, 0, 257)
ZBJD = 1
End If
Delay 20
If Yesterday < 1 Then '录入昨收价,可运行且仅一次
If Hour(now()) minute(now()) / 60 < 8.75 or Hour(now()) minute(now()) / 60 > 15.5 Then '8:45前或15:30后可录入昨收价
    Recordable = 1
    Else
    Recordable = 0
    End If
If Recordable > 0 Then
Delay 10
MoveTo 135, 473'Excel定位于[B2]单元格
Delay 10
LeftDown 1
Delay 300
LeftUp 1
Delay 300
QX = 316'待卖股昨收价起点坐标
QY = 169
    Call SZSB()
    Delay 10
    If QTJ > 0 Then '防止昨日横盘,收盘价白色无法识别,这时需手动事前输入,程序将不会改动它
        SayString QTJ
    End If
    KeyPress 39, 2
    Delay 10
    QY = 191'可买股一昨收价起点坐标
    Call SZSB()
    Delay 10
    If QTJ > 0 Then
        SayString QTJ
    End If
    KeyPress 39, 2
    Delay 10
    QY = 213'第二只
    Call SZSB()
    Delay 10
    If QTJ > 0 Then
        SayString QTJ
    End If
    KeyPress 39, 2
    Delay 10
    QY = 235'第三只
    Call SZSB()
    Delay 10
    If QTJ > 0 Then
        SayString QTJ
    End If
    KeyPress 40, 2
    Delay 10
    KeyPress 39, 9
    QX = 300 '录入大盘昨收指数
    Call DPZS()
    Delay 10
    If ZXJ > 0 Then
SayString ZXJ
    End If
    MoveR 0,50
    Yesterday = 1'已录入,除非程序重启,以后将不会运行此模块
End If
End If
Delay 50
If CommenceDealing < 0.5 then '等待到指定时间开始交易
Timer = hour(now()) * 3600 minute(now()) * 60 second(now())
WaitTime = Form1.inputbox2.text*3600 Form1.inputbox3.text*60 Form1.inputbox4.text-Timer
If WaitTime <= 0 Then
    WaitTime = 0.5 '指定交易时间前启动脚本将等待到指定时间才能继续运行,超过指定时间直接运行一次
End If
Delay WaitTime * 1000 ' 延时指定时间与脚本运行时间差,只运行一次
CommenceDealing = 1 '开始盘中交易
End If

//委比条件竞价成交,当推测卖股开盘不冲就是最高价,买股不跌开盘即最低价时启用
If Form1.Checkbox2.Value * 1 = 1 and hour(now) = 9 and minute(now) = 24 Then
    QX = 1106 : QY = 169
    Call ZDF
    YMGWB = ZXJ
    Delay 10
    QX = 382 : QY = 169
    Call ZDF
    YMGZF = ZXJ
    Delay 10
    QX = 1106 : QY = 191
    Call ZDF
    KMG1WB = ZXJ
    Delay 10
QX = 382 : QY = 191
    Call ZDF
    KMG1ZF = ZXJ
    Delay 10
    QX = 1106 : QY = 213
    Call ZDF
    KMG2WB = ZXJ
    Delay 10
    QX = 382 : QY = 213
    Call ZDF
    KMG2ZF = ZXJ
    Delay 10
    QX = 1106 : QY = 235
    Call ZDF
    KMG3WB = ZXJ
    Delay 10
    QX = 382 : QY = 235
    Call ZDF
    KMG3ZF = ZXJ
    Delay 10

    If YMGWB < Form1.InputBox8.Text*1 and Form1.Checkbox1.value * 1 = 1 and YMGZF > Form1.InputBox10.Text * 1 Then
     MoveTo 225, 173
     Delay 300
     LeftDown 1
     Delay 100
     LeftUp 1
     Delay 100
     KeyPress 13, 1
     Delay 500
        Call OpenSell
    End If
    If KMG1WB > Form1.InputBox9.Text*1 and Form1.Checkbox1.Value * 1 = 0 and KMG1ZF < Form1.InputBox11.Text * 1 Then
        MoveTo 225, 195
     Delay 300
     LeftDown 1
     Delay 100
     LeftUp 1
     Delay 100
     KeyPress 13, 1
     Delay 500
        Call OpenBuy
    End If
    If KMG2WB > Form1.InputBox9.Text*1 and Form1.Checkbox1.Value * 1 = 0 and KMG2ZF < Form1.InputBox11.Text * 1 and CGMR < 1 Then
        MoveTo 225, 217
     Delay 300
     LeftDown 1
     Delay 100
     LeftUp 1
     Delay 100
     KeyPress 13, 1
     Delay 500
        Call OpenBuy
    End If
    If KMG3WB > Form1.InputBox9.Text*1 and Form1.Checkbox1.Value * 1 = 0 and KMG3ZF < Form1.InputBox11.Text * 1 and CGMR < 1 Then
        MoveTo 225, 239
     Delay 300
     LeftDown 1
     Delay 100
     LeftUp 1
     Delay 100
     KeyPress 13, 1
     Delay 500
        Call OpenBuy
    End If
    Delay 60000
End If

//检查Excel是否丢失焦点及找回Excel焦点
Delay 20
KeyPress 37, 19 '此为防止因丢失焦点导致的东方财富显示界面发生的右偏移
Delay 200
Call JDXZ()
Delay 500
//点击Excel更新与识别按钮确认选中A6单元格,或当焦点丢失后选中A列最后一行单元格,防止出错
MoveTo 452, 526
Delay 100
LeftDown 1
Delay 300
LeftUp 1
Delay 500
//有没有要卖的股,打钩为有,不打勾为无,自己每个交易日手动确认默认无误或更改
YMG = Form1.Checkbox1.Value * 1
//GXPL(最高价、最低价、均价、内外比等数据更新频率),随着交易时间的延长其值越来越大,9:30起始
If Hour(now()) Minute(now()) / 60 > 9.5 Then
GXPLCS = Hour(now()) Minute(now()) / 60 - 9.5
Else
GXPLCS = 0
End If
GXPL = 5 Int(GXPLCS * Form1.inputbox5.text * 1)
GXPLn = 0
For GXPL
GXPLn = GXPLn 1
//输入需卖股最新价(唯一)起点坐标
QX = 382
QY = 169
Call ZDF()
Delay 20
SayString ZXJ
Delay 20
KeyPress 39, 2
Delay 20
//输入第一只可买股起点坐标
QY = 191
Call ZDF()
Delay 20
SayString ZXJ
Delay 20
KeyPress 39, 2
Delay 20
//输入第二只可买股起点坐标
QY = 213
Call ZDF()
Delay 20
SayString ZXJ
Delay 20
KeyPress 39, 2
Delay 20
//输入第三只可买股起点坐标
QY = 235
Call ZDF()
Delay 20
SayString ZXJ
Delay 20
//点击excel更新与识别按钮
MoveTo 452, 526
Delay 10
LeftDown 1
Delay 100
LeftUp 1
Delay 400
//堤防其中的一个随机bug,额外按6次←
KeyPress 37, 6
Delay 50
//检查excel是否出现卖出或买入信号
MCX = 0
MCY = 0
If YMG = 0 Then
    CGMC = 1
End If
FindPic 680,488,710,501,'Attachment:\卖出信号.bmp',1,MCX,MCY
If MCX > 0 And MCY > 0 and CGMC < 1 Then
Delay 10
//双击卖股,弹出分时图,等待启动闪电卖出脚本
MoveTo MCX - 455, MCY - 313
Delay 100
LeftDown 1
Delay 100
LeftUp 1
Delay 100
KeyPress 13, 1
Delay 400
//启动卖出子程序
Call Sell()
Delay 10
//是否做T?
Delay 50
If YMG * CGMC = 1 and Form1.CheckBox4.Value * 1 = 1 Then
    MoveTo MCX - 455, MCY - 313
Delay 300
LeftDown 1
Delay 200
MoveR 0, 22
Delay 100
LeftUp 1
Delay 100
MGZT = MGZT 1
KeyPress 117, 1
Delay 200
End If
//回到Excel界面继续更新
Call JDXZ()
Delay 1000
//是否有做T?如有在excel中点击T,调换数据,最多执行一次
If MGZT = 1 Then
    MoveTo 83, 549
    Delay 100
    LeftDown 1
    Delay 100
    LeftUp 1
    Delay 1000
    MGZT = -5
End If
//统计下单数
MoveTo 323, 504
Delay 25
LeftDown 1
Delay 200
LeftUp 1
Delay 10
//继续更新
End If
Delay 10
MRX = 0
MRY = 0
FindPic 680,509,710,566,'Attachment:\买入信号.bmp',1,MRX,MRY
If MRX > 0 And MRY > 0 and CGMC > 0 and CGMR < 1 Then
Delay 10
//双击对应买股,弹出分时图,等待启动闪电买入脚本
MoveTo MRX - 455, MRY - 313
Delay 100
LeftDown 1
Delay 100
LeftUp 1
Delay 100
KeyPress 13, 1
Delay 400
//启动买入子程序
Call Buy()
Delay 10
//回到Excel界面
Call JDXZ()
Delay 1000
//统计下单数
MoveTo 323, 547
Delay 5
Delay 20
LeftDown 1
Delay 200
LeftUp 1
Delay 10
//继续更新
End If
//设置更新间隔时间,与拐点相关,谨慎设置
If GXPLn < GXPL Then '当切换到更新家他价时不做延迟处理
Delay Form1.Inputbox1.Text * 1000
End If
//竞价成交时做延迟处理
If JJCJ Form1.Checkbox2.Value * 1 > 0.9 Then
JJCJ = -2
    If Hour(now()) Minute(now()) / 60 < 9.5 Then
        Delay Abs(34200 -Hour(now())*3600- Minute(now()) * 60 - Second(now())) * 1000
    End If
End If
//中午休市90分钟
If Hour(now()) Minute(now())/60 >= 11.5 Then '缩短程序运行时间,隔开识别
If Hour(now()) Minute(now())/60 < 13 Then
Xiushi = 13 * 3600 - (Hour(now()) * 3600 Minute(now()) * 60 Second(now()))
    Delay Abs(Xiushi) *1000 1
End If
End If
Next
//均价等数据更新
MoveTo 196, 529
Delay 200
LeftClick 1
Delay 100
LeftClick 1
Delay 100
LeftClick 1
Delay 500
//防止随机性的单击无效,在Excle中,该控件3秒内只会识别一次输入信号
QX = 666
QY = 169
Call SZSB()
Delay 2
SayString QTJ
Delay 2
KeyPress 39, 2
Delay 2
//输入第一只可买股起点坐标
QY = 191
Call SZSB()
Delay 2
SayString QTJ
Delay 2
KeyPress 39, 2
Delay 2
//输入第二只可买股起点坐标
QY = 213
Call SZSB()
Delay 2
SayString QTJ
Delay 2
KeyPress 39, 2
Delay 2
//输入第三只可买股起点坐标
QY = 235
Call SZSB()
Delay 2
SayString QTJ
Delay 2
KeyPress 37, 6
Delay 2
KeyPress 40, 1
//更新最高价
QX = 731
QY = 169
Call SZSB()
Delay 2
SayString QTJ
Delay 2
KeyPress 39, 2
Delay 2
//输入第一只可买股起点坐标
QY = 191
Call SZSB()
Delay 2
SayString QTJ
Delay 2
KeyPress 39, 2
Delay 2
//输入第二只可买股起点坐标
QY = 213
Call SZSB()
Delay 2
SayString QTJ
Delay 2
KeyPress 39, 2
Delay 2
//输入第三只可买股起点坐标
QY = 235
Call SZSB()
Delay 2
SayString QTJ
Delay 2
KeyPress 37, 6
Delay 2
KeyPress 40, 1
// 最低价更新
QX = 796
QY = 169
Call SZSB()
Delay 2
SayString QTJ
Delay 2
KeyPress 39, 2
Delay 2
//输入第一只可买股起点坐标
QY = 191
Call SZSB()
Delay 2
SayString QTJ
Delay 2
KeyPress 39, 2
Delay 2
//输入第二只可买股起点坐标
QY = 213
Call SZSB()
Delay 2
SayString QTJ
Delay 2
KeyPress 39, 2
Delay 2
//输入第三只可买股起点坐标
QY = 235
Call SZSB()
Delay 2
SayString QTJ
Delay 2
KeyPress 37, 6
Delay 2
KeyPress 40, 1
//内外比更新
QX = 860
QY = 169
Call SZSB()
Delay 2
SayString QTJ
Delay 2
KeyPress 39, 2
Delay 2
//输入第2只可买股起点坐标
QY = 191
Call SZSB()
Delay 2
SayString QTJ
Delay 2
KeyPress 39, 2
Delay 2
//输入第3只可买股起点坐标
QY = 213
Call SZSB()
Delay 2
SayString QTJ
Delay 2
KeyPress 39, 2
Delay 2
//输入第4只可买股起点坐标
QY = 235
Call SZSB()
Delay 2
SayString QTJ
//输入大盘最低价起点X坐标
QX = 780
Call DPZS()
Delay 2
KeyPress 39, 9
Delay 2
SayString ZXJ
Delay 2
KeyPress 38, 1
Delay 2
//输入大盘最高价起点X坐标
QX = 715
Call DPZS()
Delay 2
SayString ZXJ
Delay 2
//回到最新价更新
MoveTo 196, 529
Delay 100
LeftDown 1
Delay 200
LeftUp 1
Delay 200
LeftClick 1
Delay 100
LeftClick 1
Delay 500 '防止单击信号丢失,单击3次,excel中在3秒内只会接受一次单击信号
//是否需要录入大盘增仓比,最多录入一次
If ZCBLR < 0.8 and Form1.CheckBox3.Value * 1 = 1 and Hour(now()) * 60 Minute(now()) > Form1.InputBox6.Text * 60 Form1.InputBox7.Text * 1 Then
    Delay 500
    MoveTo 200, 106
    Delay 200
    LeftDown 1
    Delay 20
    LeftUp 1
    Delay 200
    LeftDown 1
    Delay 20
    LeftUp 1
    Delay 700
    QX = 364
    QY = 257
    Call ZDF()
    Delay 10
    Dapan = ZXJ
    QX = 539
    Delay 10
    Call ZDF()
    Delay 200
    KeyPress 117, 1
    Delay 100
    KeyPress 117, 1
    Delay 100
    Call JDXZ()
    Delay 800
    MoveTo 1109, 602
    Delay 100
    LeftDown 1
    Delay 50
    LeftUp 1
    Delay 50
    SayString Dapan
    Delay 100
    KeyPress 40, 1
    Delay 100
    SayString ZXJ
    Delay 10
    ZCBLR = 1
    Delay 10
End If
//中午休市90分钟
If Hour(now()) Minute(now())/60 >= 11.5 Then '缩短程序运行时间,隔开识别
If Hour(now()) Minute(now())/60 < 13 Then
Xiushi = 13 * 3600 - (Hour(now()) * 3600 Minute(now()) * 60 Second(now()))
    Delay Abs(Xiushi) *1000 1
End If
End If
//成功发出买入委托或15:00收市,停止脚本运行
If CGMR = 1 or Hour(now()) = 15 Then
Delay 500
MessageBox ('成功委托卖出' & YMG * CGMC & '笔,成功委托买入' & 1 * CGMR & '笔。')
Delay 5000000
End If '15点到16点时将不能对脚本进行测试,请在其他时间段测试。


//以下是子程序//
Sub ZDF()
ZXS = 0
ZXG = 0
ZXJ = 0
ZXF = 0
HDX = 0
HDY = 0
//涨幅如果是红色
    FindColor QX,QY,QX 20,QY 10,'5C5CFF',HDX,HDY
If HDX > 0 And HDY > 0 Then
n = 10
Do Until n > 19
FindPic QX, QY, QX 6, QY 10, 'Attachment:\' & n & '.bmp', 1, X, Y
n = n 1
If X > 0 and Y > 0 Then
ZXS = n - 1
X = -1
Y = -1
End If
Loop
//得到最新价格ZXS十位数数值
n = 10
Do Until n > 19
FindPic QX 8, QY, QX 14, QY 10, 'Attachment:\' & n & '.bmp', 1, X, Y
n = n 1
If X > 0 and Y > 0 Then
ZXG = n - 1
X = -1
Y = -1
End If
Loop
//ZXG
n = 10
Do Until n > 19
FindPic QX 20, QY, QX 26, QY 10, 'Attachment:\' & n & '.bmp', 1, X, Y
n = n 1
If X > 0 and Y > 0 Then
ZXJ = n - 1
X = -1
Y = -1
End If
Loop
// ZXJ
n = 10
Do Until n > 19
FindPic QX 28, QY, QX 34, QY 10, 'Attachment:\' & n & '.bmp', 1, X, Y
n = n 1
If X > 0 and Y > 0 Then
ZXF = n - 1
X = -1
Y = -1
End If
Loop
// ZXF
If ZXS > 9 Then
ZXS = ZXS - 10
End If
ZXJ = ZXS * 10 (ZXG-10) (ZXJ-10) * 0.1 (ZXF-10) * 0.01
Delay 10
//如果是绿色
Else
n = 0
Do Until n > 9
FindPic QX, QY, QX 6, QY 10, 'Attachment:\' & n & '.bmp', 1, X, Y
n = n 1
If X > 0 and Y > 0 Then
ZXS = n - 1
X = -1
Y = -1
End If
Loop
//得到最新价格ZXS十位数数值
n = 0
Do Until n > 9
FindPic QX 8, QY, QX 14, QY 10, 'Attachment:\' & n & '.bmp', 1, X, Y
n = n 1
If X > 0 and Y > 0 Then
ZXG = n - 1
X = -1
Y = -1
End If
Loop
//ZXG
n = 0
Do Until n > 9
FindPic QX 20, QY, QX 26, QY 10, 'Attachment:\' & n & '.bmp', 1, X, Y
n = n 1
If X > 0 and Y > 0 Then
ZXJ = n - 1
X = -1
Y = -1
End If
Loop
// ZXJ
n = 0
Do Until n > 9
FindPic QX 28, QY, QX 34, QY 10, 'Attachment:\' & n & '.bmp', 1, X, Y
n = n 1
If X > 0 and Y > 0 Then
ZXF = n - 1
X = -1
Y = -1
End If
Loop
// ZXF
ZXJ = -1 * (ZXS * 10 ZXG ZXJ * 0.1 ZXF * 0.01)
Delay 10
End If
End Sub

Sub SZSB()
ZXB = 0
ZXS = 0
ZXG = 0
ZXJ = 0
ZXF = 0
HDX = 0
HDY = 0
n = 0
nm = 9
FindColor QX 16, QY, QX 22, QY 10, '5C5CFF', HDX, HDY
If HDX > 0 and HDY > 0 Then
n = 10
nm = 19
End If
Do Until n > nm
FindPic QX, QY, QX 6, QY 10, 'Attachment:\' & n & '.bmp', 1, X, Y
n = n 1
If X > 0 and Y > 0 Then
ZXB = n - 1
X = -1
Y = -1
End If
Loop
If ZXB > 9 Then
ZXB = ZXB - 10
End If
//得到最新价格ZXB百位数数值
n = n-10
Do Until n > nm
FindPic QX 8, QY, QX 14, QY 10, 'Attachment:\' & n & '.bmp', 1, X, Y
n = n 1
If X > 0 and Y > 0 Then
ZXS = n - 1
X = -1
Y = -1
End If
Loop
If ZXS > 9 Then
ZXS = ZXS - 10
End If
//得到最新价格ZXS十位数数值
n = n - 10
Do Until n > nm
FindPic QX 16, QY, QX 22, QY 10, 'Attachment:\' & n & '.bmp', 1, X, Y
n = n 1
If X > 0 and Y > 0 Then
ZXG = n - 1
X = -1
Y = -1
End If
Loop
//ZXG
n = n-10
Do Until n > nm
FindPic QX 28, QY, QX 34, QY 10, 'Attachment:\' & n & '.bmp', 1, X, Y
n = n 1
If X > 0 and Y > 0 Then
ZXJ = n - 1
X = -1
Y = -1
End If
Loop
// ZXJ
n = n-10
Do Until n > nm
FindPic QX 36, QY, QX 42, QY 10, 'Attachment:\' & n & '.bmp', 1, X, Y
n = n 1
If X > 0 and Y > 0 Then
ZXF = n - 1
X = -1
Y = -1
End If
Loop
QTJ = ZXB * 100 ZXS * 10 (ZXG 9-nm) (ZXJ 9-nm) * 0.1 (ZXF 9-nm) * 0.01
Delay 10
End Sub

Sub DPZS()
ZXW = 0
ZXQ = 0
ZXB = 0
ZXS = 0
ZXG = 0
ZXJ = 0
ZXF = 0
QY = 147
     n = 0
Do Until n > 20
FindPic QX, QY, QX 6, QY 10, 'Attachment:\' & n & '.bmp', 1, X, Y
n = n 1
If X > 0 and Y > 0 Then
ZXW = n - 1
X = -1
Y = -1
End If
Loop
If ZXW > 9 Then
ZXW = ZXW - 10
End If
//得到大盘指数ZXW万位数数值
n = 0
Do Until n > 20
FindPic QX 8, QY, QX 14, QY 10, 'Attachment:\' & n & '.bmp', 1, X, Y
n = n 1
If X > 0 and Y > 0 Then
ZXQ = n - 1
X = -1
Y = -1
End If
Loop
If ZXQ > 9 Then
ZXQ = ZXQ - 10
End If
//得到大盘指数ZXQ千位数数值
n = 0
Do Until n > 20
FindPic QX 16, QY, QX 22, QY 10, 'Attachment:\' & n & '.bmp', 1, X, Y
n = n 1
If X > 0 and Y > 0 Then
ZXB = n - 1
X = -1
Y = -1
End If
Loop
If ZXB > 9 Then
ZXB = ZXB - 10
End If
//ZXB
n = 0
Do Until n > 20
FindPic QX 24, QY, QX 30, QY 10, 'Attachment:\' & n & '.bmp', 1, X, Y
n = n 1
If X > 0 and Y > 0 Then
ZXS = n - 1
X = -1
Y = -1
End If
Loop
If ZXS > 9 Then
ZXS = ZXS - 10
End If
//ZXS
n = 0
Do Until n > 20
FindPic QX 32, QY, QX 38, QY 10, 'Attachment:\' & n & '.bmp', 1, X, Y
n = n 1
If X > 0 and Y > 0 Then
ZXG = n - 1
X = -1
Y = -1
End If
Loop
If ZXG > 9 Then
ZXG = ZXG - 10
End If
ZXJ = ZXW*10000 ZXQ*1000 ZXB*100 ZXS*10 ZXG
End Sub
//
//防止excel工作表丢失焦点
Sub JDXZ()
Hwnd = Plugin.Window.Find(0, 'Microsoft Excel(产品激活失败) - Daily')
Call Plugin.Window.Restore(Hwnd)
Call Plugin.Window.Active(Hwnd)
End Sub
Sub Buy()
Delay 200
XA = 0
YA = 0
BA = 0
BB = 0
intX = 0
intY = 0
Buyn = 0
FindPic 850,272,928,414,'Attachment:\卖一.bmp',0.999,XA,YA
MoveTo XA 76, YA 7
Delay 10
LeftDown 1
Delay 50
LeftUp 1
Delay 500
Call YWDW
FindPic 100, 100, 800, 700, 'Attachment:\买入寻址.bmp', 0.95, BA, BB
MoveTo BA 227, BB 65
Delay 40
LeftDown 1
Delay 20
LeftUp 1
Delay 20
MoveTo BA 85,BB 152
Do until intX >0 or intY >0 or Buyn > 500
FindColor BA 81, BB 119, BA 86, BB 127, '000000', intX, intY
Delay 10
Buyn = Buyn 1
Loop
Delay 10
If Buyn > 499 Then
Delay 500
DFCFJY = Plugin.Window.Find(0, '东方财富证券')
Call Plugin.Window.Min(DFCFJY)
Delay 1000
MoveTo 188, 188
Delay 20
LeftDown 1
Delay 20
LeftUp 1
Delay 20
KeyPress 117, 1
Delay 500
KeyPress 117, 1
Delay 50
Else
Delay 20
MoveTo BA 176, BB 182
Delay 100
LeftDown 1
Delay 100
LeftUp 1
Delay 250
//KeyPress 'Enter', 1
//Delay 200
MoveTo BA 248, BB 264
Delay 20
LeftDown 1
Delay 20
LeftUp 1
Delay 2500
FindPic 200, 200, 950, 550, 'Attachment:\成功委托.bmp', 0.98, CGMRX, CGMRY
Delay 100
If CGMRX > 0 and CGMRY > 0 Then
    CGMR = 1
End If
MoveTo BA 292, BB 213
Delay 2000
LeftDown 1
Delay 10
LeftUp 1
Delay 100
Delay 500
DFCFJY = Plugin.Window.Find(0, '东方财富证券')
Call Plugin.Window.Min(DFCFJY)
Delay 1000
MoveTo 188, 188
Delay 20
LeftDown 1
Delay 20
LeftUp 1
Delay 20
KeyPress 117, 1
Delay 500
KeyPress 117, 1
Delay 50
End If
End Sub

Sub Sell()
Delay 200
XA = 0
YA = 0
BA = 0
BB = 0
intX = 0
intY = 0
Selln = 0
FindPic 850,272,928,414,'Attachment:\买一.bmp',0.999,XA,YA
MoveTo XA 136, YA 7
Delay 10
LeftDown 1
Delay 50
LeftUp 1
Delay 500
Call YWDW
FindPic 100, 100, 800, 700, 'Attachment:\卖出寻址.bmp', 0.999, BA, BB
MoveTo BA 206, BB 65
Delay 40
LeftDown 1
Delay 20
LeftUp 1
Delay 20
MoveTo BA 85,BB 152
Do until intX >0 or intY >0 or Selln> 500
FindColor BA 81, BB 119, BA 86, BB 127, '000000', intX, intY
Delay 10
Selln = Selln 1
Loop
Delay 100
If Selln > 499 Then
DFCFJY = Plugin.Window.Find(0, '东方财富证券')
Call Plugin.Window.Min(DFCFJY)
Delay 1000
MoveTo 188, 188
Delay 20
LeftDown 1
Delay 20
LeftUp 1
Delay 20
KeyPress 117, 1
Delay 500
KeyPress 117, 1
Delay 50
Else
Delay 20
MoveTo BA 176, BB 182
Delay 20
LeftDown 1
Delay 100
LeftUp 1
Delay 250
//备用KeyPress 'Enter', 1
//Delay 20
MoveTo BA 248, BB 264
Delay 20
LeftDown 1
Delay 20
LeftUp 1
Delay 2500
FindPic 200, 200, 950, 550, 'Attachment:\成功委托.bmp', 0.98, CGMCX, CGMCY
Delay 100
If CGMCX > 0 and CGMCY > 0 Then
    CGMC = 1
End If
MoveTo BA 292, BB 213
Delay 2000
LeftDown 1
Delay 10
LeftUp 1
Delay 100
Delay 500
DFCFJY = Plugin.Window.Find(0, '东方财富证券')
Call Plugin.Window.Min(DFCFJY)
Delay 1000
MoveTo 188, 188
Delay 20
LeftDown 1
Delay 20
LeftUp 1
Delay 20
KeyPress 117, 1
Delay 500
KeyPress 117, 1
Delay 50
End If
End Sub

Sub OpenBuy()
Delay 200
XA = 0
YA = 0
BA = 0
BB = 0
intX = 0
intY = 0
Buyn = 0
FindPic 850,272,928,414,'Attachment:\卖一.bmp',0.999,XA,YA
MoveTo XA 76, YA 7
Delay 10
LeftDown 1
Delay 50
LeftUp 1
Delay 500
Call YWDW
FindPic 100, 100, 800, 700, 'Attachment:\买入寻址.bmp', 0.95, BA, BB
MoveTo BA 227, BB 65
Delay 40
LeftClick 20 '可自行调整“ ”次数
Delay 20
MoveTo BA 85,BB 152
Do until intX >0 or intY >0 or Buyn > 500
FindColor BA 81, BB 119, BA 86, BB 127, '000000', intX, intY
Delay 10
Buyn = Buyn 1
Loop
Delay 10
If Buyn > 499 Then
Delay 500
DFCFJY = Plugin.Window.Find(0, '东方财富证券')
Call Plugin.Window.Min(DFCFJY)
Delay 1000
MoveTo 188, 188
Delay 20
LeftDown 1
Delay 20
LeftUp 1
Delay 20
KeyPress 117, 1
Delay 500
KeyPress 117, 1
Delay 50
Else
Delay 100
LeftDown 1
Delay 100
LeftUp 1
Delay 100
LeftDown 1
Delay 100
LeftUp 1
Delay 20
MoveTo BA 176, BB 182
Delay 100
LeftDown 1
Delay 100
LeftUp 1
Delay 250
//KeyPress 'Enter', 1
//Delay 200
MoveTo BA 248, BB 264
Delay 20
LeftDown 1
Delay 100
LeftUp 1
Delay 2500
FindPic 200, 200, 950, 550, 'Attachment:\成功委托.bmp', 0.98, CGMRX, CGMRY
Delay 100
If CGMRX > 0 and CGMRY > 0 Then
    CGMR = 1
End If
MoveTo BA 292, BB 213
Delay 2000
LeftDown 1
Delay 10
LeftUp 1
Delay 100
Delay 500
DFCFJY = Plugin.Window.Find(0, '东方财富证券')
Call Plugin.Window.Min(DFCFJY)
Delay 1000
MoveTo 188, 188
Delay 20
LeftDown 1
Delay 20
LeftUp 1
Delay 20
KeyPress 117, 1
Delay 500
KeyPress 117, 1
Delay 50
End If
End Sub

Sub OpenSell()
Delay 200
XA = 0
YA = 0
BA = 0
BB = 0
intX = 0
intY = 0
Selln = 0
FindPic 850,272,928,414,'Attachment:\买一.bmp',0.999,XA,YA
MoveTo XA 136, YA 7
Delay 10
LeftDown 1
Delay 50
LeftUp 1
Delay 500
Call YWDW
FindPic 100, 100, 800, 700, 'Attachment:\卖出寻址.bmp', 0.999, BA, BB
MoveTo BA 206, BB 65
Delay 40
LeftClick 20 '可根据昨收价调整点击“-”次数
Delay 20
MoveTo BA 85,BB 152
Do until intX >0 or intY >0 or Selln> 500
FindColor BA 81, BB 119, BA 86, BB 127, '000000', intX, intY
Delay 10
Selln = Selln 1
Loop
Delay 100
If Selln > 499 Then
DFCFJY = Plugin.Window.Find(0, '东方财富证券')
Call Plugin.Window.Min(DFCFJY)
Delay 1000
MoveTo 188, 188
Delay 20
LeftDown 1
Delay 20
LeftUp 1
Delay 20
KeyPress 117, 1
Delay 500
KeyPress 117, 1
Delay 50
Else
Delay 20
MoveTo BA 176, BB 182
Delay 20
LeftDown 1
Delay 100
LeftUp 1
Delay 250
//备用KeyPress 'Enter', 1
//Delay 20
MoveTo BA 248, BB 264
Delay 20
LeftDown 1
Delay 100
LeftUp 1
Delay 2500
FindPic 200, 200, 950, 550, 'Attachment:\成功委托.bmp', 0.98, CGMCX, CGMCY
Delay 100
If CGMCX > 0 and CGMCY > 0 Then
    CGMC = 1
End If
MoveTo BA 292, BB 213
Delay 2000
LeftDown 1
Delay 10
LeftUp 1
Delay 100
Delay 500
DFCFJY = Plugin.Window.Find(0, '东方财富证券')
Call Plugin.Window.Min(DFCFJY)
Delay 1000
MoveTo 188, 188
Delay 20
LeftDown 1
Delay 20
LeftUp 1
Delay 20
KeyPress 117, 1
Delay 500
KeyPress 117, 1
Delay 50
End If
End Sub

Sub YWDW() '意外断网重连
DWX=0 : DWY = 0 : XFCG = 0
FindPic 548, 339, 777, 424, 'Attachment:\间歇断网.bmp', 0.99, DWX, DWY
If DWX > 0 and DWY > 0 Then
    Delay 500
    MoveTo DWX 37, DWY 46'点击“是”,确定开始修复网络
    Delay 100
    LeftDown 1
    Delay 100
    LeftUp 1
    Delay 5000
    MoveTo 672, 368
    LeftDown 1
    Delay 100
    LeftUp 1
    Delay 100
    SayString 888888' 写入密码
Do Until XFCG > 0
MoveTo 739, 415
GZ1X = 0 : GZ2X = 0
    Do Until GZ1X < 0 and GZ2X < 0
    Delay 500
    LeftDown 1
    Delay 100
    LeftUp 1
    Delay 100
    FindColor 668, 408, 702, 408, 000000, GZ1X, GZ1Y
    FindColor 668, 419, 702, 419, 000000, GZ2X, GZ2Y
    Loop
    n = 0 : X = 0 : Y = 0
    For 10
    FindPic 666, 409, 675, 419, 'Attachment:\YZM' & n & '.bmp', 0.95, X, Y
    n = n 1
    If X > 0 Then
    YZMQW = n-1
    End If
    Next
n = 0 : X = 0 : Y = 0
    For 10
    FindPic 675, 409, 684, 419, 'Attachment:\YZM' & n & '.bmp', 0.95, X, Y
    n = n 1
    If X > 0 Then
    YZMBW = n-1
    End If
    Next
n = 0 : X = 0 : Y = 0
    For 10
    FindPic 684, 409, 693, 419, 'Attachment:\YZM' & n & '.bmp', 0.95, X, Y
    n = n 1
    If X > 0 Then
    YZMSW = n-1
    End If
    Next
n = 0 : X = 0 : Y = 0
    For 10
    FindPic 693, 409, 702, 419, 'Attachment:\YZM' & n & '.bmp', 0.95, X, Y
    n = n 1
    If X > 0 Then
    YZMGW = n-1
    End If
    Next
    Delay 200
    MoveTo 593, 412
    Delay 100
    LeftDown 1
    Delay 100
    LeftUp 1
    Delay 100
    SayString YZMQW & YZMBW & YZMSW & YZMGW
    Delay 200
    MoveTo 664, 493
    Delay 100
    LeftDown 1
    Delay 100
    LeftUp 1
    Delay 200
    FindPic 613, 352, 714, 375, 'Attachment:\验证码错误.bmp', 0.95, CWX, CYY
    If CWX < 0 Then
        XFCG = 1
        Else
        Delay 200
        KeyPress 13, 1
    End If
Loop
End IF
End Sub
//界面事件
Event Form1.CheckBox1.Click '有需卖股时显示选择是否可以做T
    If Form1.CheckBox1.Value * 1 = 1 Then
        Form1.Checkbox4.Enabled = True
        Form1.Label9.Enabled = True
     Else
     Form1.CheckBox4.Enabled = False
     Form1.Label9.Enabled = False
    End If
End Event

Event Form1.CheckBox2.Click '开启竞价条件(当委比过于极端)成交时,设定对应交易时间,也可手动调整
    If Form1.CheckBox2.Value * 1 = 1 Then
        Form1.InputBox2.Text = 9
        Form1.InputBox3.Text = 24
        Form1.InputBox4.Text = 45
        Form1.InputBox8.Enabled = True
        Form1.InputBox9.Enabled = True
        Form1.Label1.Enabled = True
        Form1.Label6.Enabled = True
        Form1.InputBox10.Enabled = True
        Form1.InputBox11.Enabled = True
        Form1.Label7.Enabled = True
        Form1.Label8.Enabled = True
        Else
        Form1.InputBox2.Text = 9
        Form1.InputBox3.Text = 29
        Form1.InputBox4.Text = 59
        Form1.InputBox8.Enabled = False
        Form1.InputBox9.Enabled = False
        Form1.Label1.Enabled = False
        Form1.Label6.Enabled = False
        Form1.InputBox10.Enabled = False
        Form1.InputBox11.Enabled = False
        Form1.Label7.Enabled = False
        Form1.Label8.Enabled = False
    End If
End Event

Event Form1.CheckBox3.Click
    If Form1.CheckBox3.Value * 1 = 1 Then
        Form1.InputBox6.Enabled = True
        Form1.InputBox7.Enabled = True
        Else
        Form1.InputBox6.Enabled = False
        Form1.InputBox7.Enabled = False
    End If
End Event

Event Form1.LoadOver
    If Form1.CheckBox1.Value * 1 = 1 Then
        Form1.Checkbox4.Enabled = True
        Form1.Label9.Enabled = True
     Else
     Form1.CheckBox4.Enabled = False
     Form1.Label9.Enabled = False
    End If
    If Form1.CheckBox2.Value * 1 = 1 Then
        Form1.InputBox2.Text = 9
        Form1.InputBox3.Text = 24
        Form1.InputBox4.Text = 45
        Form1.InputBox8.Enabled = True
        Form1.InputBox9.Enabled = True
        Form1.Label1.Enabled = True
        Form1.Label6.Enabled = True
        Form1.InputBox10.Enabled = True
        Form1.InputBox11.Enabled = True
        Form1.Label7.Enabled = True
        Form1.Label8.Enabled = True
        Else
        Form1.InputBox2.Text = 9
        Form1.InputBox3.Text = 29
        Form1.InputBox4.Text = 59
        Form1.InputBox8.Enabled = False
        Form1.InputBox9.Enabled = False
        Form1.Label1.Enabled = False
        Form1.Label6.Enabled = False
        Form1.InputBox10.Enabled = False
        Form1.InputBox11.Enabled = False
        Form1.Label7.Enabled = False
        Form1.Label8.Enabled = False
    End If
    If Form1.CheckBox3.Value * 1 = 1 Then
        Form1.InputBox6.Enabled = True
        Form1.InputBox7.Enabled = True
        Else
        Form1.InputBox6.Enabled = False
        Form1.InputBox7.Enabled = False
    End If
End Event

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多