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

发布时间:2018-08-14 06:29:35   来源:文档文库   
字号:

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

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

以下是源代码: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(最高价、最低价、均价、内外比等数据更新频率),随着交易时间的延长其值越来越大,930起始

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

//成功发出买入委托或1500收市,停止脚本运行

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 SubSub 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 SubSub 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 SubSub 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 SubSub 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 SubSub 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 SubSub 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 EventEvent 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 EventEvent 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 EventEvent 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

本文来源:https://www.2haoxitong.net/k/doc/02fbc846854769eae009581b6bd97f192279bf22.html

《股票自动交易脚本(配合Excel使用).doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式