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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → K线模式下,同时出现开仓和平仓信号的处理

   

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


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

主题:K线模式下,同时出现开仓和平仓信号的处理

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


加好友 发短信
等级:新手上路 帖子:77 积分:1 威望:0 精华:0 注册:2012/11/17 17:19:54
K线模式下,同时出现开仓和平仓信号的处理  发帖心情 Post By:2014/5/5 14:59:56    Post IP:60.223.226.226[只看该作者]

Hi,版主好,在一根K线上先是出现开仓信号,紧接着同一根k线又出现平仓信号,这种情况下希望程序不操作,该如何设置?(逐K线计算下的,走完一根K线后方执行程序)

INPUT:M(20,5,500,30);
INPUT:N(2,0.1,10,1);
INPUT:X(0.2,0.2,10,0.2);
MID :  MA(CLOSE,M);
UPPER: MID + N*STD(CLOSE,M);
LOWER: MID - N*STD(CLOSE,M);
多:=ALL(C>=O+15*X,2) AND ALL(O>=MID,2);
空:=ALL(C<=O-15*X,2) AND ALL(O<=MID,2);

if 多 then begin
 sellshort(holding<0, 0, limit,CLOSE);
buy(holding=0 AND TIME<150100, 0,limit,CLOSE);
 end
HH:=HHV(H,BARSLAST(HOLDING<=0));
多止损1:=HH<Enterprice*1.005 AND C<=HH*0.995,LINETHICK0;
if 多止损1 then sell(holding>0, 0, limit,CLOSE);

if 空 then begin
 sell(holding>0, 0, limit,CLOSE);
 buyshort(holding=0 AND TIME<150100, 0,limit,CLOSE);
 end
LL:=LLV(L,BARSLAST(HOLDING>=0));
空止损1:=LL>Enterprice*0.995 AND C>=LL*1.005 ,LINETHICK0;
if 空止损1
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140505145205.jpg
图片点击可在新窗口打开查看
then sellshort(holding<0, 0, limit,CLOSE);

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2014/5/5 15:03:03    Post IP:58.246.57.26[只看该作者]

不希望同根k线就平仓的,那么在平仓条件里面加上 enterbars>0,开平都要加

还有限价下单limit要改成了limitr



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

客户服务部

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

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

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


加好友 发短信
等级:新手上路 帖子:77 积分:1 威望:0 精华:0 注册:2012/11/17 17:19:54
  发帖心情 Post By:2014/5/5 15:25:59    Post IP:60.223.226.226[只看该作者]

我原本的意图是同一根K线先出现开仓,后出现平仓信号时,希望程序不做任何操作。
应该在开仓条件中使用exitbars>0吗, 

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2014/5/5 15:28:37    Post IP:58.246.57.26[只看该作者]

那是坐不到的,出了信号一定是会下单的,如果不希望同根k线就平仓掉,那么就要让平仓出现在下一个周期

 

if 空 then begin
 sell(holding>0, 0, limit,CLOSE);
 buyshort(holding=0 AND TIME<150100, 0,limit,CLOSE);
 end

 

这样的改成

if ref(空,1) then sell........;

if 空 then buyshort.......;



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

客户服务部

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

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

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


加好友 发短信
等级:新手上路 帖子:77 积分:1 威望:0 精华:0 注册:2012/11/17 17:19:54
  发帖心情 Post By:2014/5/6 8:01:18    Post IP:60.223.226.226[只看该作者]

jinzhe版主好,再多问一句,既然程序出信号一定会下单的话,而且开仓和平仓出现在一个K线的情况下,程序会执行开仓单的(昨天实盘时也是这样开单的),倘若我想在同根K线平仓,程序应该如何修改?

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


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

意思是同根k线出现了开平两个信号,但是你的就处理了一个开仓信号,没有处理平仓信号?

贴下单日志



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

客户服务部

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

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

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


加好友 发短信
等级:新手上路 帖子:77 积分:1 威望:0 精华:0 注册:2012/11/17 17:19:54
  发帖心情 Post By:2014/5/6 9:04:52    Post IP:60.223.226.226[只看该作者]

2014-05-05 09:25:39.593    2014.05.05 09:25:39【图表】框架:Technic 触发下单 BUYSHORT 品种 IF00 下单K线 2014.05.05 09:25:00 公式:nextopen 窗格ID:0 代码行:26
2014-05-05 09:25:39.640    【图表】模型下单 3
2014-05-05 09:25:39.640    【图表】下单系数调整后 手数:3
2014-05-05 09:25:39.640    【图表】至队列下单
2014-05-05 09:25:39.640    2014.05.05 09:25:39【图表】框架:Technic 触发下单 SELLSHORT 品种 IF00 下单K线 2014.05.05 09:25:00 公式:nextopen 窗格ID:0 代码行:36
2014-05-05 09:25:39.640    【图表】模型下单 3
2014-05-05 09:25:39.640    【图表】下单系数调整后 手数:3
2014-05-05 09:25:39.640    【图表】实际持仓 0
2014-05-05 09:25:39.640    【图表】IF00 运行完毕
2014-05-05 09:25:39.640    【队列】当前队列准备处理数据:1条
2014-05-05 09:25:39.640    【队列】发送下单指令
2014-05-05 09:25:39.656    【下单】IF05 价0.000000 量3 买卖1 类型1 开平0 账户41005096 Formula 1
2014-05-05 09:25:39.656    【下单】确认报单已发送 ID=-435681637 RefID = 5
2014-05-05 09:25:39.656    【指令】收到回报指令 ID = -435681637 RefID = 5
2014-05-05 09:25:39.687    【回报】41005096 : IF1405 - 已报单 3 价格:0.0 开 卖
2014-05-05 09:25:39.765    【指令】收到回报指令 ID = -435681637 RefID = 5
2014-05-05 09:25:39.843    【指令】收到回报指令 ID = -435681637 RefID = 5
2014-05-05 09:25:39.843    【指令】收到成交回报指令 REFID = 5
2014-05-05 09:25:39.859    【指令】收到回报指令 ID = -435681637 RefID = 5
2014-05-05 09:25:39.968    【指令】收到成交回报指令 REFID = 5
2014-05-05 09:25:39.968    【指令】收到回报指令 ID = -435681637 RefID = 5
2014-05-05 09:25:40.187    【指令】收到成交回报指令 REFID = 5
2014-05-05 09:25:40.265    【回报】41005096 : IF1405 - 已成交 1 价格:2146.4 开 卖
2014-05-05 09:25:40.296    【回报】41005096 : IF1405 - 已成交 1 价格:2146.4 开 卖
2014-05-05 09:25:40.468    【回报】41005096 : IF1405 - 已成交 1 价格:2146.4 开 卖
2014-05-05 09:26:02.109    【下单】IF05 价2146.199951 量3 买卖0 类型0 开平1 账户41005096 Formula 0
2014-05-05 09:26:02.109    【下单】确认报单已发送 ID=-435681636 RefID = 6
2014-05-05 09:26:02.171    【指令】收到回报指令 ID = -435681636 RefID = 6
2014-05-05 09:26:02.187    【回报】41005096 : IF1405 - 已报单 3 价格:2146.2 平 买
2014-05-05 09:26:02.312    【指令】收到回报指令 ID = -435681636 RefID = 6
2014-05-05 09:26:02.312    【指令】收到回报指令 ID = -435681636 RefID = 6
2014-05-05 09:26:02.343    【指令】收到成交回报指令 REFID = 6
2014-05-05 09:26:02.343    【回报】41005096 : IF1405 - 已成交 3 价格:2146.2 平 买


最后那个2146.2的平单信息,是我手动平仓的记录

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2014/5/6 9:09:03    Post IP:58.246.57.26[只看该作者]

因为当前没有持仓导致发送的平仓信号没有下单

所以你要在代码里面加上orederqueue

 

if 空 then begin
 sell(holding>0, 0, limit,CLOSE),orderqueue;
 buyshort(holding=0 AND TIME<150100, 0,limit,CLOSE),orderqueue;
 end


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

客户服务部

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

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

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


加好友 发短信
等级:新手上路 帖子:77 积分:1 威望:0 精华:0 注册:2012/11/17 17:19:54
  发帖心情 Post By:2014/5/6 9:23:31    Post IP:60.223.226.226[只看该作者]

if 空 then begin
 sell(holding>0, 0, market),ORDERQUEUE,IGNORECHECKPRICE;
 buyshort(holding=0 AND TIME<150100, 0,MARKET),ORDERQUEUE,IGNORECHECKPRICE;
 end

我刚才查过,这个日志的程序用了队列语句了。。

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


加好友 发短信
等级:新手上路 帖子:77 积分:1 威望:0 精华:0 注册:2012/11/17 17:19:54
  发帖心情 Post By:2014/5/6 9:26:05    Post IP:60.223.226.226[只看该作者]

貌似是我贴的有些乱,好几个测试程序一起跑。。重新上传日志对应的代码:

INPUT:M(20,5,500,30);
INPUT:N(2,0.1,10,1);
INPUT:X(0.2,0.2,10,0.2);
MID :  MA(CLOSE,M);
UPPER: MID + N*STD(CLOSE,M);
LOWER: MID - N*STD(CLOSE,M);
多:=ALL(C>=O+C/220*X,2) AND ALL(O>=MID,2);
空:=ALL(C<=O-C/220*X,2) AND ALL(O<=MID,2);

if 多 then begin
 sellshort(holding<0, 0, market),ORDERQUEUE,IGNORECHECKPRICE;
 buy(holding=0 AND TIME<150100, 0, MARKET),ORDERQUEUE,IGNORECHECKPRICE;
 end
HH:=HHV(H,BARSLAST(HOLDING<=0));
多A:holding>0 and HH<Enterprice*1.005 AND C<=HH*0.995,LINETHICK0;

if 多A then sell(holding>0, 0,MARKET),IGNORECHECKPRICE;

if 空 then begin
 sell(holding>0, 0, market),ORDERQUEUE,IGNORECHECKPRICE;
 buyshort(holding=0 AND TIME<150100, 0,MARKET),ORDERQUEUE,IGNORECHECKPRICE;
 end
LL:=LLV(L,BARSLAST(HOLDING>=0));
空A:holding<0 and LL>Enterprice*0.995 AND C>=LL*1.005 ,LINETHICK0;

if 空A then sellshort(holding<0, 0,MARKET),IGNORECHECKPRICE;


 回到顶部
总数 11 1 2 下一页