设为首页收藏本站

 找回密码
 注册
查看: 12339|回复: 20
打印 上一主题 下一主题

AutoIT实现自动检查并同步持仓(可配合无人值守工具) [复制链接]

初级操盘手

懒惰的投机者

Rank: 8Rank: 8

精华
0
UID
68068
积分
6707
帖子
483
主题
31
阅读权限
100
注册时间
2011-9-27
最后登录
2022-2-18
跳转到指定楼层
1#
发表于 2012-9-17 21:53:26 |只看该作者 |倒序浏览
本帖最后由 莫小漠 于 2012-9-21 17:06 编辑

代码功能就只是检查并同步持仓,代替人工
配合监控器30秒自动刷新

欢迎诸位debug和发展新功能。
关闭方式目前是右下角关闭,没有改消息模式

使用方法:安装AUTOIT后,右键>新建AutoIt V3脚本,然后右击新建的脚本文件,编辑该脚本,复制粘贴下方代码,F7编译。会在相同目录下出现同名exe文件,即该工具。
配合论坛已有的AUTOIT脚本即可进一步加强账户交易准确性、稳定性及安全性。
本方式适用于使用BUY/SELL方式开仓的。
对于自动换月,若是正常上班的朋友,白天肯定没有时间去对持仓品种进行换月,因新版TB已支持品种直接映射而无需加载新商品,一方面节省了资源加快了系统运行速度,另一方面对目前论坛现有的自动换月代码产生影响(如果你依旧叠加好几个合约的话,那对你毫无影响)。
这里提供一个思路:在有时间的时候,比如下班之后,对工作区中的合约映射更改至新的目标主力合约,第二天开盘后,自动核对持仓工具配合监控器会发现持仓不对,自动予以同步。就实现的开盘时间无人值守的自动换月。
例如:股指周五要从IF1209换到IF1210了,周四晚上可以将工作区的映射合约改到IF1210,第二天开盘系统自动发现我们策略中不应该有IF1209合约,应该有IF1210合约,于是通过同步,平老仓换新仓。


工具使用了简单的GUI界面,可设置自动刷新时间,这个时间要配合监控器中的时间来使用。监控器刷新时间应该比工具刷新时间要短。
工具界面

监控器时间:

持仓匹配时自动提示并关闭对话框

持仓不匹配时提示并关闭对话框且开始同步持仓
  1. #include <ButtonConstants.au3>
  2. #include <GUIConstantsEx.au3>
  3. #include <WindowsConstants.au3>
  4. #region ### START Koda GUI section ### Form=
  5. Dim $result, $lilunlots, $shijilots, $weizhi
  6. $Form1 = GUICreate("仓位监控器辅助", 200, 200, 200, 200)
  7. $Button1 = GUICtrlCreateButton("开始监控", 18, 56, 75, 25)
  8. $Input1 = GUICtrlCreateInput("30", 120, 40, 49, 21)
  9. $lable = GUICtrlCreateLabel("自动刷新时间(秒):", 20, 40, 100, 17)
  10. GUISetState(@SW_SHOW)
  11. #endregion ### END Koda GUI section ###

  12. While 1
  13.         $nMsg = GUIGetMsg()
  14.         Switch $nMsg
  15.                 Case $GUI_EVENT_CLOSE
  16.                         Exit
  17.                 Case $Button1
  18.                         While 1
  19.                                 If WinExists("交易开拓者平台(旗舰版) - ", "") = 1 Then
  20.                                         $result = 1
  21.                                         WinActivate("交易开拓者平台(旗舰版) - ")
  22.                                         Sleep(500)
  23.                                         If WinExists("自动交易头寸监控器") = 0 Then
  24.                                                 $result = WinMenuSelectItem("交易开拓者平台(旗舰版) -", "", "交易(&T)", "监控器")
  25.                                         EndIf
  26.                                         Sleep(1000)
  27.                                         WinActivate("自动交易头寸监控器")
  28.                                         ;ControlFocus("自动交易头寸监控器", "", "Button13")
  29.                                         ;ControlClick("自动交易头寸监控器","","Button13")
  30.                                         $shijilots = ControlGetText("自动交易头寸监控器", "", "Button18") ;获得账户实际持仓汇总
  31.                                         $weizhi = StringInStr($shijilots, "=多")
  32.                                         $shijilots = StringLeft($shijilots, $weizhi - 1)
  33.                                         $shijilots = StringMid($shijilots, 3, 10)
  34.                                         $lilunlots = ControlGetText("自动交易头寸监控器", "", "Button19") ;获得账户理论持仓汇总
  35.                                         $weizhi = StringInStr($lilunlots, "=多")
  36.                                         $lilunlots = StringLeft($lilunlots, $weizhi - 1)
  37.                                         $lilunlots = StringMid($lilunlots, 3, 10)
  38.                                         If ($lilunlots <> $shijilots) Then
  39.                                                 ;将持仓数量输出到文本文件中
  40.                                                 ;WinActivate("新建 文本文档 -")
  41.                                                 ;ControlSetText("新建 文本文档 -", "", "Edit1",$shijilots&@CRLF&$lilunlots)
  42.                                                 MsgBox(0 + 16, "头寸不匹配警告:", "实际仓位状况:" & $shijilots & @CRLF & "理论仓位状况:" & $lilunlots,5)
  43.                                                 ControlFocus("自动交易头寸监控器", "", "Button12")
  44.                                                 ControlClick("自动交易头寸监控器", "", "Button12")
  45.                                                 Sleep(20)
  46.                                                 ControlFocus("确认", "", "Button1")
  47.                                                 ControlClick("确认", "", "Button1")
  48.                                                 Sleep(20)
  49.                                                 ControlFocus("委托确认[一键同步]", "", "Button2")
  50.                                                 ControlClick("委托确认[一键同步]", "", "Button2")
  51.                                                 Sleep(1000)
  52.                                                 ControlFocus("自动交易头寸监控器", "", "Button16")
  53.                                                 ControlClick("自动交易头寸监控器", "", "Button16")
  54.                                         Else
  55.                                                 MsgBox(0, "头寸匹配:", "实际仓位状况:" & $shijilots & @CRLF & "理论仓位状况:" & $lilunlots, 2)
  56.                                                 ControlFocus("自动交易头寸监控器", "", "Button16")
  57.                                                 ControlClick("自动交易头寸监控器", "", "Button16")
  58.                                         EndIf

  59.                                 EndIf
  60.                                 ;Sleep($Input1 * 1000)
  61.                         WEnd

  62.         EndSwitch
  63. WEnd
复制代码
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
[color=green]自动化交易,摒弃人性弱点。[/color]
[color=blue][由上而下的系统,由下而上的系统][/color]

Rank: 5Rank: 5

精华
0
UID
1307
积分
866
帖子
134
主题
37
阅读权限
60
注册时间
2008-3-11
最后登录
2020-4-26
2#
发表于 2012-9-18 09:49:21 |只看该作者
本帖最后由 CFXQM 于 2012-9-18 09:50 编辑

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
1896
积分
1979
帖子
117
主题
33
阅读权限
70
注册时间
2008-7-16
最后登录
2013-11-16
3#
发表于 2012-9-18 12:33:03 |只看该作者
这个必须顶。。。。。

使用道具 举报

Rank: 2

精华
0
UID
12631
积分
52
帖子
31
主题
1
阅读权限
30
注册时间
2010-6-20
最后登录
2013-7-27
4#
发表于 2012-9-18 14:59:36 |只看该作者
高手

使用道具 举报

Rank: 2

精华
0
UID
109937
积分
85
帖子
22
主题
2
阅读权限
30
注册时间
2012-4-11
最后登录
2013-4-11
5#
发表于 2012-9-20 01:21:37 |只看该作者
这个牛!

使用道具 举报

初级操盘手

懒惰的投机者

Rank: 8Rank: 8

精华
0
UID
68068
积分
6707
帖子
483
主题
31
阅读权限
100
注册时间
2011-9-27
最后登录
2022-2-18
6#
发表于 2012-9-21 19:46:02 |只看该作者
感谢支持,团队有小东西就共享一下

使用道具 举报

Rank: 4

精华
0
UID
64485
积分
395
帖子
119
主题
19
阅读权限
50
注册时间
2011-9-9
最后登录
2014-12-24
7#
发表于 2012-10-26 13:27:44 |只看该作者
试了一下,可以实现,谢谢分享

使用道具 举报

Rank: 4

精华
0
UID
64485
积分
395
帖子
119
主题
19
阅读权限
50
注册时间
2011-9-9
最后登录
2014-12-24
8#
发表于 2012-10-26 13:59:16 |只看该作者
这个监控的频率好像设置无效,我改成 300 s  但是 还是不到 5秒就刷新 一次 ,总是提示 持仓匹配  您看看是不是有这个问题

使用道具 举报

Rank: 4

精华
0
UID
64485
积分
395
帖子
119
主题
19
阅读权限
50
注册时间
2011-9-9
最后登录
2014-12-24
9#
发表于 2012-10-26 14:33:37 |只看该作者
还有 可以不可以 实现对于 部分账户 而不是 全部账户的 自动监控

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15203
积分
1411
帖子
397
主题
35
阅读权限
60
注册时间
2010-8-14
最后登录
2017-12-29
10#
发表于 2012-10-28 17:54:15 |只看该作者
这个是好东西

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-19 11:01

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部