版主,请教一下,使用金字塔VBA的条件下,当我在使用机构版的账户的时候,如果我使用VBA构建策略,能否实现不同的账户实现不同的控制??在金字塔VBA当中,查询,下单,这些操作都应该是根据具体的账户编码来进行查询的?是不是?
sub fgtrade1()
account1="116529"
vol=1
Call Order.Holdinginfobycode2("FG06","ZQ",FGBuyholding,FGBuycost,FGBuytodayholding,FGSellholding,FGSellcost,FGSelltodayholding,FGPnl,FGUsemargin,ACCOUNT1)
APPLICATION.MsgOut "duotouchicang: " & FGBuyholding
APPLICATION.MsgOut "kongtouchicang: " & FGsellholding
fglongorderid=Getlongpendingorder("FG06","ZQ",ACCOUNT1)
APPLICATION.MsgOut "duodan: " & fglongorderid
fgshortorderid=Getshortpendingorder("FG06","ZQ",ACCOUNT1)
APPLICATION.MsgOut "kongdan: " & fgshortorderid
我的想法是在模块当中定义account1="116529"为一个账户名,然后针对此账户进行保单查询,持仓查询等操作,以此实现对账户的控制
而第二个模块
sub fgtrade2()
account1="866512"
vol=1
Call Order.Holdinginfobycode2("FG06","ZQ",FGBuyholding,FGBuycost,FGBuytodayholding,FGSellholding,FGSellcost,FGSelltodayholding,FGPnl,FGUsemargin,ACCOUNT1)
下面的部分我省略掉了,此时我定义account1="866512",然后针对此账户进行保单查询,持仓查询等操作,以此实现对账户的控制
也就是说,我使用多账户功能,但是不是使用并发下单,而是每一个账户都有其自己相应的控制程序,请问这种思路可以实现吗?、是否会存在什么隐患??
可是现在为什么我的下单完全出了问题了??
他们不同的账户之间相互干扰特别的严重啊!是不是什么地方有设置?让这些账户一同发单了?、我不需要这样的设置啊!
看下你的实际发单语句对应的条件,是不是没控制好。把账户指定好,思路没问题怎么会相互干扰呢?
我是这样子的
一开始是在一个交易模块开始的时候,我设置 account1="116529",,指定账户,然后
call order.Buy(0,vol,fgopen,0,"FG06","ZQ",account1,0)买卖的时候我是这样子写的,,你看看这样的格式有什么问题没有?其中fgopen是买入价位
这些让我们去看你的代码是不合适的,因为具体的交易思路我们是不清楚的.
建议你多使用Application.msgout函数进行调试,然后再结合系统的下单日志来判断你的代码是不是逻辑部分出了问题,
VBA的代码编写调试是个重要的过程,没人会一次性把代码写完美,都是通过不断调试来解决的