以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 高级功能研发区 (http://www.weistock.com/bbs/list.asp?boardid=5) ---- [求助]定时器买卖时,同一价位不断重复买卖 (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=7814) |
-- 作者:evalist -- 发布时间:2011/9/1 9:43:09 -- [求助]定时器买卖时,同一价位不断重复买卖 我用定时器制作监听,当价格抵达某一个价位的时候,我设置3手交易的时候会出现不断的买入。 但是在之前我已经设置了 返回当前账户的 buytodayholding ,如果此holding > 0 的时候不允许买入,但是程序依旧不断买进,不知道有何良策。我已经设置了orderqueue =1 ,依旧无效。奇怪的是 如果我设置成1手买卖,就不会有这种情况发生!
请各位高手指教。 |
-- 作者:evalist -- 发布时间:2011/9/1 9:47:27 -- PS 我已经将 orderqueue 设置成 等于当前手数依旧无效。 |
-- 作者:26327756l -- 发布时间:2011/9/1 9:47:34 -- 应该是程序逻辑有问题,没有贴出代码不好指出问题所在, 出现了异常应该是条件中的参数不正确导致, 你可以在程序中适当处输出参数,来验证参数是否正确。 [此贴子已经被作者于2011-9-1 9:55:19编辑过]
|
-- 作者:evalist -- 发布时间:2011/9/1 10:24:20 --
Sub APPLICATION_Timer(ID) end if
sub testTrade(QREN,DQJW,MRJ,SHOUSHU,DAIMA,SHICHANG,NewHOLDING,ZHIYING,ZHISUN,ZHUANGTAI) \'正式买卖操作 end sub [此贴子已经被作者于2011-9-1 10:25:01编辑过]
|
-- 作者:evalist -- 发布时间:2011/9/1 10:30:14 -- 代码如上····不知道有无问题? |
-- 作者:26327756l -- 发布时间:2011/9/1 10:33:10 -- 问题正在解决中 |
-- 作者:26327756l -- 发布时间:2011/9/1 11:00:13 -- orderqueue 的设置无效,这是个内部问题,我无法解答。
不断开仓的问题,所然贴出代码,但是是局部的,我无法在运行中调试,所以还是提供解决思路。 Sub APPLICATION_Timer(ID) call RealTradeBuy(QREN01,AutoTrade_NewP01.caption,AutoTrade_BuyPrice01,AutoTrade_ShouShu01,AutoTrade_ID01,MKT01,BuyTodayHoding01,AutoTrade_ZY01,AutoTrade_ZS01,ZHUANGTAI01)
由于代码局部,不知我理解是否正确,还是强调楼主,自己试着通过核实参数的方法来调试程序。 |
-- 作者:evalist -- 发布时间:2011/9/1 11:25:04 -- call testTrade(QREN01,AutoTrade_NewP01.caption,AutoTrade_BuyPrice01,AutoTrade_ShouShu01,AutoTrade_ID01,MKT01,BuyTodayHoding01,AutoTrade_ZY01,AutoTrade_ZS01,ZHUANGTAI01)
此时已经将 buytodayholding 传入 testtrade() 而 testtrade中的 nowholding 就是持仓 msgbox 没有问题。
我买入条件仅是 nowholding = 0的 情况 这样就摒除了任何 holding > 0 的情况。 也就是说我当前的nowholding = 0 才能进行交易 |
-- 作者:guotx2010 -- 发布时间:2011/9/1 13:05:34 -- 应该使用VBA函数Order.HoldingInfoByCode2获取实际持仓,如果持仓量达到设定的上限,就不再开仓。
|
-- 作者:evalist -- 发布时间:2011/9/1 13:51:50 -- call Order.HoldingInfoByCode2(AutoTrade_ID01, MKT01,BuyHoding01,BuyCost01,BuyTodayHoding01,SellHoding01,SellCost01,SellTodayHoding01,PNL01,UseMargin01,800748) 可是我已经call 了 你说的这个holdinginfobycode2 中的实际持仓···并且将这个实际持仓传入 买卖的函数中了··· |