欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 想限价开多仓和空仓,下列代码错在哪里呢

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3315人关注过本帖树形打印复制链接

主题:想限价开多仓和空仓,下列代码错在哪里呢

帅哥哟,离线,有人找我吗?
jason123
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:246 积分:0 威望:0 精华:0 注册:2015/7/20 9:05:58
想限价开多仓和空仓,下列代码错在哪里呢  发帖心情 Post By:2015/7/21 13:55:21 [只看该作者]

//没有空仓再开
if TODAYHOLDING>=0 then begin
//当SBP(SC5+3)<C<SSK(SC5+9),开卖出空仓,限价SC5+6
Tsell(SBP<C<SSK,1,LMT,SC5+6,SC5+36,'','if08');
end

//没有多仓再开
if TODAYHOLDING<=0 then begin
//当SC5<C<SBP(SC5+3),开买入多仓,限价SC5
Tbuy(SC5<C<SBP,1,LMT,SC5,SC5-30,'','if08');
end
//当XBK(XC5-9)<C<XSK(XC5-3),开买入多仓,限价XC5-6

//没有多仓再开
if TODAYHOLDING<=0 then begin
Tbuy(XBK<C<XSK,1,LMT,XC5-6,SC5-36,'','if08');
//当XSK(XC5-3)<C<XC5,开卖出空仓,限价XC5
end

//当XC5<=C<=SC5,开多仓空仓,限价买C-3,卖C+3

//没有多仓再开
if TODAYHOLDING<=0 then begin
Tbuy(XC5<=C<=SC5,1,LMT,C-3,C-33,'','if08');
end

//没有空仓再开
if TODAYHOLDING>=0 then begin
Tsell(XC5<=C<=SC5,1,LMT,C+3,C+33,'','if08');
end

。。。。。。。。。。。。。。。。。。
本来的想法是只控制1手,限价触发了一手多仓,止损30,点,然后止盈6个点开空仓
但是上面的代码好像不停开多仓,请问错咋哪里呢

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2015/7/21 14:08:59 [只看该作者]

SC5<C<SBP

这类的写法是错的

SC5<C and C<SBP要这样写



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
jason123
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:246 积分:0 威望:0 精华:0 注册:2015/7/20 9:05:58
  发帖心情 Post By:2015/7/21 14:17:51 [只看该作者]

谢谢指点 已经改过来了 如下,可还是只买入开多仓,而且我只要1手,买了多手

//没有空仓再开
if TODAYHOLDING>=0 then begin
//当SBP(SC5+3)<C<SSK(SC5+9),开卖出空仓,限价SC5+6
Tsell(SBP<C and C<SSK,1,LMT,SC5+6,SC5+36,'','if08');
end

//没有多仓再开
if TODAYHOLDING<=0 then begin
//当SC5<C<SBP(SC5+3),开买入多仓,限价SC5
Tbuy(SC5<C and C<SBP,1,LMT,SC5,SC5-30,'','if08');
end
//当XBK(XC5-9)<C<XSK(XC5-3),开买入多仓,限价XC5-6

//没有多仓再开
if TODAYHOLDING<=0 then begin
Tbuy(XBK<C and C<XSK,1,LMT,XC5-6,SC5-36,'','if08');
//当XSK(XC5-3)<C<XC5,开卖出空仓,限价XC5
end

//当XC5<=C<=SC5,开多仓空仓,限价买C-3,卖C+3

//没有多仓再开
if TODAYHOLDING<=0 then begin
Tbuy(XC5<=C and C<=SC5,1,LMT,C-3,C-33,'','if08');
end

//没有空仓再开
if TODAYHOLDING>=0 then begin
Tsell(XC5<=C and C<=SC5,1,LMT,C+3,C+33,'','if08');
end

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
求指点,逻辑错了吗

 回到顶部
帅哥哟,离线,有人找我吗?
十世
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:2146 积分:0 威望:0 精华:0 注册:2015/4/5 20:47:17
  发帖心情 Post By:2015/7/21 14:34:07 [只看该作者]

你有多条开多语句 并且这些开多仓的条件不同 当某一时刻条件都满足时 会同时触发下单指令

 回到顶部
帅哥哟,离线,有人找我吗?
jason123
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:246 积分:0 威望:0 精华:0 注册:2015/7/20 9:05:58
  发帖心情 Post By:2015/7/21 14:49:15 [只看该作者]

但是 每次我都有这个判断啊
if TODAYHOLDING>=0 then begin  //当仓位是多头 才开空仓
Tsell
end

if TODAYHOLDING<=0 then begin //当仓位是空头 才开多仓
Tsell
end
。。。。。。。。。。。。。。。。。。。。。。。。
请问我这个逻辑错了吗,请问 要达到我的目的:只控制一手,平仓才开新的多仓空仓,应该怎么办呢????求指点

 回到顶部
美女呀,离线,留言给我吧!
pyd
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2015/7/21 14:59:00 [只看该作者]

如果报单了没有成交 TODAYHOLDING是等于0 的,后边的开仓语句就会继续开仓

 回到顶部
帅哥哟,离线,有人找我吗?
jason123
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:246 积分:0 威望:0 精华:0 注册:2015/7/20 9:05:58
  发帖心情 Post By:2015/7/21 15:01:06 [只看该作者]

有什么函数能知道现在有多少未成交单的吗?求教

 回到顶部
帅哥哟,离线,有人找我吗?
十世
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:2146 积分:0 威望:0 精华:0 注册:2015/4/5 20:47:17
  发帖心情 Post By:2015/7/21 15:02:06 [只看该作者]

在某一时刻的时候 你的TODAYHOLDING<=0  是对所有的TBUY语句都成立的  其他条件满足的情况下下多手是正常的

 

VARIABLE: a=0;

 

if TODAYHOLDING<=0 then begin
Tbuy(XBK<C and C<XSK and a=0,1,LMT,XC5-6,SC5-36,'','if08');
a=1;
end
 
if TODAYHOLDING<=0 then begin
Tbuy(XC5<=C and C<=SC5 and a=0,1,LMT,C-3,C-33,'','if08');
a=1;
end
 
加个全局变量的条件判断
[此贴子已经被作者于2015/7/21 15:26:08编辑过]

 回到顶部