Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共8 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

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

1楼
jason123 发表于: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个点开空仓
但是上面的代码好像不停开多仓,请问错咋哪里呢
2楼
jinzhe 发表于:2015/7/21 14:08:59

SC5<C<SBP

这类的写法是错的

SC5<C and C<SBP要这样写

3楼
jason123 发表于: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楼
十世 发表于:2015/7/21 14:34:07
你有多条开多语句 并且这些开多仓的条件不同 当某一时刻条件都满足时 会同时触发下单指令
5楼
jason123 发表于:2015/7/21 14:49:15
但是 每次我都有这个判断啊
if TODAYHOLDING>=0 then begin  //当仓位是多头 才开空仓
Tsell
end

if TODAYHOLDING<=0 then begin //当仓位是空头 才开多仓
Tsell
end
。。。。。。。。。。。。。。。。。。。。。。。。
请问我这个逻辑错了吗,请问 要达到我的目的:只控制一手,平仓才开新的多仓空仓,应该怎么办呢????求指点
6楼
pyd 发表于:2015/7/21 14:59:00
如果报单了没有成交 TODAYHOLDING是等于0 的,后边的开仓语句就会继续开仓
7楼
jason123 发表于:2015/7/21 15:01:06
有什么函数能知道现在有多少未成交单的吗?求教
8楼
十世 发表于: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编辑过]
共8 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.01563 s, 2 queries.