以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  求助  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=64321)

--  作者:aim
--  发布时间:2014/4/24 9:46:01
--  求助

请老师帮忙看看,下面的委托只开空不开多?选择的循序递交。谢谢

 

 

 

//开多
IF   kdtj  THEN
  BEGIN
   sellshort(holding<0,holding, THISCLOSE);//检查是否有空单,若有,市价平掉已有空单
 buy(holding=0,1,THISCLOSE);
 END

//开空
kktj:= h1<reT(h1,12) AND H1<RET(H1,12)  {and  gg2}  ;

IF kktj  THEN
  BEGIN
   SELL(holding<0,holding,THISCLOSE);
   BUYSHORT(holding=0,1,THISCLOSE);
END


--  作者:aim
--  发布时间:2014/4/24 9:49:59
--  
信号也有,日志里也有记录
图片点击可在新窗口打开查看此主题相关图片如下:111.jpg
图片点击可在新窗口打开查看

--  作者:jinzhe
--  发布时间:2014/4/24 9:49:59
--  
SELL(holding<0,holding,THISCLOSE);
这里的holding<0改成holding>0
--  作者:aim
--  发布时间:2014/4/24 10:00:54
--  


图片点击可在新窗口打开查看此主题相关图片如下:222.jpg
图片点击可在新窗口打开查看
这个设置选择哪一个?,谢谢

 


--  作者:jinzhe
--  发布时间:2014/4/24 10:09:26
--  
看自己需求,前面的是按照触发的顺序下单;后的是按照触发的顺序,前一个下单信号要成交之后才会对后一个信号下单
--  作者:aim
--  发布时间:2014/4/24 10:29:27
--  

1.如果原来有空单,下一个信号便是平空开多,或者空单已经在前面止赚,这样的情况触发的循序是怎样的?系统在发指令的时候,是一个什么样的顺序?

2.还有如果按照你说的改的话,系统在开空之前怎么去平掉多单?(如果原来的多单没有止赚的话),我原来的写法他为什么会不开多单那?工作的步骤是怎样的?

谢谢


--  作者:jinzhe
--  发布时间:2014/4/24 10:37:00
--  

1,顺序看你代码里面怎么写的

2.不平多,是不会开空的,所以在没有平多的情况下,是不会出现开空的信号,所以你的想法是不会出现的


--  作者:aim
--  发布时间:2014/4/24 10:42:55
--  

请教这种情况是出发了几次?应该是两次吗?如果原来有空单持仓的话是不是应该有两次下面的记录啊

2014-04-24 09:35:05.140    【图表】RU09 运行完毕
2014-04-24 09:35:05.812    2014.04.24 09:35:05【图表】框架:Technic 触发下单 SELL 品种 RU09 下单K线 2014.04.24 09:35:05 公式:123 窗格ID:0 代码行:70
2014-04-24 09:35:05.812    【图表】模型下单 1
2014-04-24 09:35:05.812    【图表】下单系数调整后 手数:1
2014-04-24 09:35:05.828    【图表】实际持仓 0
2014-04-24 09:35:05.828    【图表】RU09 运行完毕

 

 

2014-04-24 09:35:07.109    2014.04.24 09:35:06【图表】框架:Technic 触发下单 BUYSHORT 品种 RU09 下单K线 2014.04.24 09:35:06 公式:123 窗格ID:0 代码行:42
2014-04-24 09:35:07.109    【图表】模型下单 1
2014-04-24 09:35:07.109    【图表】下单系数调整后 手数:1
2014-04-24 09:35:07.109    【图表】直接下单
2014-04-24 09:35:07.125    【图表】RU09 运行完毕
2014-04-24 09:35:07.125    【下单】RU09 价14065.000000 量1 买卖1 类型0 开平0 账户10680127 Formula 1
2014-04-24 09:35:07.125    【下单】确认报单已发送 ID=1596785444 RefID = 377
2014-04-24 09:35:07.140    【指令】收到回报指令 ID = 1596785444 RefID = 377
2014-04-24 09:35:07.156    【指令】收到回报指令 ID = 1596785444 RefID = 377
2014-04-24 09:35:07.171    【回报】10680127 : ru1409 - 已报单 1 价格:14065 开 卖
2014-04-24 09:35:07.187    【指令】收到回报指令 ID = 1596785444 RefID = 377
2014-04-24 09:35:07.187    【指令】收到成交回报指令 REFID = 377
2014-04-24 09:35:07.187    【回报】10680127 : ru1409 - 已成交 1 价格:14065 开 卖
2014-04-24 09:35:07.906    【图表】RU09 运行完毕
2014-04-24 09:35:09.171    【图表】RU09 运行完毕


--  作者:aim
--  发布时间:2014/4/24 10:49:33
--  

//开多
IF   kdtj  THEN
  BEGIN
   sellshort(holding<0,holding, THISCLOSE);//检查是否有空单,若有,市价平掉已有空单
 buy(holding=0,1,THISCLOSE);
 END

//开空
kktj:= h1<reT(h1,12) AND H1<RET(H1,12)  {and  gg2}  ;

IF kktj  THEN
  BEGIN
   SELL(holding>0,holding,THISCLOSE);
   BUYSHORT(holding=0,1,THISCLOSE);
END

 

 

这样改过来就对了嘛?这样写的话执行的顺序是怎样啊     帮忙写一下,谢谢


--  作者:jinzhe
--  发布时间:2014/4/24 10:52:17
--  

这个说明k线图上是开多平空信号,但是因为没有当前没有多持仓,所以就直接开空了

 

信号和你当前的是什么持仓是没有关系的,你就算有空仓,但是信号触发了平多开空,那么还是会按照平多开空下单