TB实盘全自动无人值守日内交易中出现的重大问题! [开拓者 TB]
- 咨询内容:
昨天,我的实盘全自动日内交易系统发出多头买入豆粕1205和约14手(我使用的是BUY函数),发单后成交11手,由于我的交易助手设定是“5秒不成交立即以最新价重新发单”,系统随后撤销未成交委托,再次发单竟然是买入7手而不是3手!收市前系统自动平掉所有理论仓位14手,但我还留有4手的隔夜单!直到今天我在盘中快收盘时才发现我竟然还持有隔夜仓位!吓了我一大跳!还好豆粕今日价格波动不大,隔夜仓很轻,我仅是小额损失。但如果以后再出现这样的问题,比如说重仓在铜、黄金这些隔夜价格变动巨大的的品种上,我将被迫承受极大的风险,存在账户瞬间被秒杀的可能,这实在是太可怕了!我分析原因如下:系统可能在首次开仓动作5秒内首先成交了7手,5秒后系统判断还有7手买单未成交,于是准备发出撤消未成交委托的指令,准备同时发出7手买单,由于存在网络延时等因素的影响,就在这发撤单委托+重发多单委托到达服务器的一瞬间,原有委托再次成交4手;而在平仓时,系统按照理论持有仓位进行平仓,因而导致系统出现实际仓位和理论仓位不一致的情况。
请问管理员老师,我应该如何避免这种情况,一旦出现这种情况,有何措施可以自动实现理论仓位和实际仓位的同步!另外我想为防万一,我想让策略实现在14:59时判断账户实际持仓情况,如有持仓,则自动平掉所有仓位。这恐怕得用上A函数和Q函数,我不太熟,务必请管理员老师和各位TB高手帮我!!! - TB技术人员:
我是新手不知道写的对不对:
If(Date==CurrentDate && CurrentTime>=0.1457)
{
If(A_TotalPosition>0) A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition,Q_BidPrice);
If(A_TotalPosition<0) A_SendOrder(Enum_Buy,Enum_Exit,A_SellPosition,Q_AskPrice);
} - TB客服:
楼主就是拿50万实盘的是吧?
想请教你一下,在实盘前进行模拟了没有?历史回溯和实盘上程序有什么要注意的地方? - 网友回复:
本帖最后由 种瓜得瓜 于 2011-12-30 12:33 编辑
我是新手不知道写的对不对:
If(Date==CurrentDate && CurrentTime>=0.1457)
{
If(A_TotalPosition>0) A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition,Q_BidPrice);
If(A_TotalPosition<0) A_SendOrder(Enum_Buy,Enum_Exit,A_SellPosition,Q_AskPrice);
}
这样写可能会导致重复发单吧? - 网友回复:
楼主就是拿50万实盘的是吧?
想请教你一下,在实盘前进行模拟了没有?历史回溯和实盘上程序有什么要注意的 ...
hyqspuy01 发表于 2011-12-29 22:08
实盘前模拟了一段时间。实盘时要注意涨跌停板、滑点影响、保证金是否足够以及外部问题(网络、停电、主观干预倾向、系统回撤时是否仍有信心),我现在正在做的就是轻仓测试,希望尽可能早地发现这些问题,以免将来铸成大祸。
如果以上指标公式不适用于您常用的行情软件
或者您想改编成选股公式,以便快速选出某种形态个股的话,
- 上一篇:帮忙开个模拟账户,先谢了
- 下一篇:捡到一个金蛋
相关文章
-
没有相关内容