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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]图表交易信号问题

   

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


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

主题:[求助]图表交易信号问题

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


加好友 发短信
等级:论坛游侠 帖子:203 积分:2 威望:0 精华:0 注册:2013/5/9 20:42:59
[求助]图表交易信号问题  发帖心情 Post By:2014/12/16 8:48:35    Post IP:113.103.27.112[只看该作者]

N:=1;
MA20:=INTPART(MA(C,20)/N3)*N3;
做多:REF(C,1)>=REF(MA20,1);
止损:LOW<=MA20;
开仓:BUY(HOLDING=0 AND 做多,1,OPEN);
平仓:SELL(HOLDING>0 AND 止损,0,IF(OPEN<MA20,OPEN,MA20));

===================================================
用固定轮询1秒方式:
问题是图表显示当根K线显示开多信号,但当当根K线的LOW<=MA20时不出平仓信号,要在下一根K线才显示并且平仓价在(开盘价或收盘价具体忘记了,这是回测时的值和图表显示的值),不是MA20.
我要的是只要有多仓,只要LOW<=MA20就要平仓,无论是否在当根K线开的仓。
我想问的时实盘运行这代码会是怎样的结果.

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


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

你举个实际的例子说明问题,说明一下是测试哪个合约品种时在哪个周期哪根k线上,出的问题。

平仓条件并没有写成ref的模式,不会在下个周期做动作



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

客户服务部

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

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

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


加好友 发短信
等级:论坛游侠 帖子:203 积分:2 威望:0 精华:0 注册:2013/5/9 20:42:59
  发帖心情 Post By:2014/12/16 10:31:07    Post IP:113.109.19.235[只看该作者]

如螺纹:我的意思是:我在回测时,这样写的话就会出现所说的成交结果。。是图表的信号和回测值。就是在当根K线出信号并且在开盘价开仓后如果当根K线的LOW<=MA20时不会出平仓信号。。只会在下根K线出平仓信号。并且回测数值是开盘价或收盘价具体忘记了。当然实盘的话并不会经常出现这种情况,因为过滤条件过滤了绝大部份。3年的回测在10次左右或 以下。我的问题是在静态时图表的信号是不能显示我的真实意图,回测数也是。(不在当根K线LOW<=MA20时发出平仓信号而在下根,因为当根有开仓信号)。因为没平仓信号出现,我想知道的是图表程序化的标准版实盘会这样吗。

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


加好友 发短信
等级:论坛游侠 帖子:203 积分:2 威望:0 精华:0 注册:2013/5/9 20:42:59
  发帖心情 Post By:2014/12/16 10:37:22    Post IP:113.109.19.235[只看该作者]

可以设一条线如。MA(C,5)...C>MA(C,5)时在下周期开盘价开仓。LOW<=MA(C,5)时平仓。那这样就会出现很多这样的事。图表信号。

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


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

N:=1;
MA20:=INTPART(MA(C,20)/N3)*N3;
做多:REF(C,1)>=REF(MA20,1);
止损:LOW<=MA20;
开仓:BUY(HOLDING=0 AND 做多,1,limitr,OPEN);
平仓:SELL(HOLDING>0 AND 止损,0,limitr,IF(OPEN<MA20,OPEN,MA20));
限价下单有专门的函数,不写不是限价单



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

客户服务部

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

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

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


加好友 发短信
等级:论坛游侠 帖子:203 积分:2 威望:0 精华:0 注册:2013/5/9 20:42:59
  发帖心情 Post By:2014/12/16 12:02:06    Post IP:113.109.19.235[只看该作者]

//参数
INPUT:N3(1,0.01,50,0.01);
//变量
MAN:INTPART(MA(CLOSE,10)/N3)*N3,COLORWHITE;
//平空条件
SSL:=HIGH>=MAN AND REF(HIGH,1)<REF(MAN,1);
//平多条件
SL:=LOW<=MAN AND REF(LOW,1)>REF(MAN,1);
//开空条件
SBY:=REF(CLOSE,1)<REF(MAN,1) AND REF(HIGH,1)<REF(MAN,1) AND REF(CLOSE,1)<REF(OPEN,1) AND OPEN<MAN;
//开多条件
BY:=REF(CLOSE,1)>REF(MAN,1) AND REF(LOW,1)>REF(MAN,1) AND REF(CLOSE,1)>REF(OPEN,1) AND OPEN>MAN;
//平空
IF HOLDING<0 AND SSL THEN BEGIN
SELLSHORT(1,0,LIMITR,IF(OPEN>MAN,OPEN,MAN));
END
//平多
IF HOLDING>0 AND SL THEN BEGIN
SELL(1,0,LIMITR,IF(OPEN<MAN,OPEN,MAN));
END
//开空
IF HOLDING=0 AND SBY THEN BEGIN
BUYSHORT(1,1,LIMITR,OPEN);
END
//开多
IF HOLDING=0 AND BY THEN BEGIN
BUY(1,1,LIMITR,OPEN);
END

可能我的写法有问题,请帮忙看下那出问题了。。。如螺纹1505的2014年11月18日15:00的K线。。5分钟周期。还有如何解决2014年11月19日14:50的问题。。在实盘是会是什么样的结果。还有像2014年11月13日13:40的问题。。。上述都是RB1505的5分钟周期。


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


加好友 发短信
等级:论坛游侠 帖子:203 积分:2 威望:0 精华:0 注册:2013/5/9 20:42:59
  发帖心情 Post By:2014/12/16 12:20:24    Post IP:113.109.19.235[只看该作者]

//开空
IF HOLDING=0 AND SBY AND EXITBARS<>0 THEN BEGIN
BUYSHORT(1,1,LIMITR,OPEN);
END
//开多
IF HOLDING=0 AND BY AND EXITBARS<>0 THEN BEGIN
BUY(1,1,LIMITR,OPEN);
END

开仓时加上EXITBARS<>0 解决了一部份问题。

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


加好友 发短信
等级:论坛游侠 帖子:203 积分:2 威望:0 精华:0 注册:2013/5/9 20:42:59
  发帖心情 Post By:2014/12/16 12:27:14    Post IP:113.109.19.235[只看该作者]

//开空
IF HOLDING=0 AND SBY AND EXITBARS<>0 THEN BEGIN
BUYSHORT(1,1,LIMITR,OPEN);
END
//开多
IF HOLDING=0 AND BY AND EXITBARS<>0 THEN BEGIN
BUY(1,1,LIMITR,OPEN);
END

开仓时加上EXITBARS<>0 解决了一部份问题。
这样就会出现当根K线在开盘价开仓后,当当根K线的最低或最高价等于MAN时不在当根K线平仓了。

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


加好友 发短信
等级:论坛游侠 帖子:203 积分:2 威望:0 精华:0 注册:2013/5/9 20:42:59
  发帖心情 Post By:2014/12/16 12:31:26    Post IP:113.109.19.235[只看该作者]

//参数
INPUT:N3(1,0.01,50,0.01);
//变量
MAN:INTPART(MA(CLOSE,10)/N3)*N3,COLORWHITE;
//平空条件
SSL:=HIGH>=MAN AND REF(HIGH,1)<REF(MAN,1);
//平多条件
SL:=LOW<=MAN AND REF(LOW,1)>REF(MAN,1);
//开空条件
SBY:=REF(CLOSE,1)<REF(MAN,1) AND REF(HIGH,1)<REF(MAN,1) AND REF(CLOSE,1)<REF(OPEN,1) AND OPEN<MAN;
//开多条件
BY:=REF(CLOSE,1)>REF(MAN,1) AND REF(LOW,1)>REF(MAN,1) AND REF(CLOSE,1)>REF(OPEN,1) AND OPEN>MAN;
//平空
IF HOLDING<0 AND SSL THEN BEGIN
SELLSHORT(1,0,LIMITR,IF(OPEN>MAN,OPEN,MAN));
END
//平多
IF HOLDING>0 AND SL THEN BEGIN
SELL(1,0,LIMITR,IF(OPEN<MAN,OPEN,MAN));
END
//开空
IF HOLDING=0 AND SBY AND EXITBARS<>0 THEN BEGIN
BUYSHORT(1,1,LIMITR,OPEN);
END
//开多
IF HOLDING=0 AND BY AND EXITBARS<>0 THEN BEGIN
BUY(1,1,LIMITR,OPEN);
END

开仓时加上EXITBARS<>0 解决了一部份问题。
这样就会出现当根K线在开盘价开仓后,当当根K线的最低或最高价大于等于或小于MAN时不在当根K线平仓了。图表信号是这样不知道实盘结果怎样。。。我的写法错在那里。

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


加好友 发短信
等级:论坛游侠 帖子:203 积分:2 威望:0 精华:0 注册:2013/5/9 20:42:59
  发帖心情 Post By:2014/12/16 12:42:14    Post IP:113.109.19.235[只看该作者]

/平空条件
SSL:=HIGH>=MAN;
//平多条件
SL:=LOW<=MAN;

如果把平仓条件改成这样就会在下根K线平仓
[此贴子已经被作者于2014/12/16 12:42:33编辑过]

 回到顶部
总数 34 1 2 3 4 下一页