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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 咨询一个STKINDI函数问题

   

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


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

主题:咨询一个STKINDI函数问题

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


加好友 发短信
等级:论坛游民 帖子:112 积分:0 威望:0 精华:0 注册:2014/8/11 14:38:13
咨询一个STKINDI函数问题  发帖心情 Post By:2014/8/19 1:17:48    Post IP:220.200.27.192[只看该作者]

大神们,好!.
今天试着编写一个带STKINDI函数的模型。要实现的交易系统为:假如当前周期的收盘价大于上一级周期的20均线时,只开多、平多。反之则只开空、平空。现贴代码如下:
INPUT:A(20,20,60,5),B(120,60,120,5),S1(26,5,30,5),P1(4,3,8,1),P(26,20,40,2),S(12,5,30,2),M(9,2,20,2),StopLost(20,10,40,5),A1(5,5,20,5),B1(60,40,80,5);


//P1为上一级周期数。
DIFF:=EMA(CLOSE,S)-EMA(CLOSE,P);
DEA:=EMA(DIFF,M);
MACD1:=2*(DIFF,M);



LS:=STKINDI('','MA.MA1(20,12,26,60)',0,P1,0);

Long1:=REF(CLOSE>LS,1) and REF(CROSS(DIFF,DEA),1);
Long2:=REF(CLOSE>LS,1) and REF(CROSS(DEA,DIFF),1);
if Long1 then 
begin

BUY(HOLDING=0,1,THISCLOSE);
end

if Long2 then 
begin 
SELL(HOLDING>0,1,THISCLOSE);
end

c1:STKINDI(‘’,’MA.MA1(60,12,26,60)’,0,P1,0);
//c2:MA2;
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
可用现金:CASH(0),LINETHICK0

但是奇葩的是当当前周期的收盘价小于上一级周期的20均线时,也会开多,平多。
我选用的是菜粕连续合约5分钟图表。请问这个是哪里的错误?谢谢。


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140819011721.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2014/8/19 1:19:01编辑过]

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


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

LS:=STKINDI('','MA.MA1(20,12,26,60)',0,P1,0);


Long1:=REF(CLOSE>LS,1) and REF(CROSS(DIFF,DEA),1);
Long2:=REF(CLOSE>LS,1) and REF(CROSS(DEA,DIFF),1);

 

 

 

ref被引用对象是错误的,做下修改:

LS:=STKINDI('','MA.MA1(20,12,26,60)',0,P1,-1);


Long1:=REF(CLOSE,1)>LS and REF(CROSS(DIFF,DEA),1);
Long2:=REF(CLOSE,1)>LS and REF(CROSS(DEA,DIFF),1);

[此贴子已经被作者于2014/8/19 9:03:55编辑过]


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

客户服务部

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

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

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


加好友 发短信
等级:论坛游民 帖子:112 积分:0 威望:0 精华:0 注册:2014/8/11 14:38:13
  发帖心情 Post By:2014/8/19 13:34:18    Post IP:61.131.89.205[只看该作者]

大神,请问这样子改写跟原先的写法有何区别捏?

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


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

被引用对象的偏移是-1,而不是ref


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

客户服务部

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

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

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


加好友 发短信
等级:论坛游民 帖子:112 积分:0 威望:0 精华:0 注册:2014/8/11 14:38:13
  发帖心情 Post By:2014/8/19 15:35:12    Post IP:61.131.89.205[只看该作者]

对不起,还是看不明白哦,有没有更详细的说明哈?感激不尽。

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


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

就是

LS:=STKINDI('','MA.MA1(20,12,26,60)',0,P1,0);

ref(ls,1)是不对的,要改成

LS:=STKINDI('','MA.MA1(20,12,26,60)',0,P1,-1);

 



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

客户服务部

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

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

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


加好友 发短信
等级:论坛游民 帖子:112 积分:0 威望:0 精华:0 注册:2014/8/11 14:38:13
  发帖心情 Post By:2014/8/19 16:48:32    Post IP:61.131.89.205[只看该作者]

呃,为何用–1来控制呢?用ref来控制不行么?

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


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

在stkindi函数里是用-1表示上一个

单独表示上一个可以用ref

要样按照函数说明写


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


加好友 发短信
等级:论坛游民 帖子:112 积分:0 威望:0 精华:0 注册:2014/8/11 14:38:13
  发帖心情 Post By:2014/8/19 17:37:37    Post IP:61.131.89.205[只看该作者]

呃?单独表示上一个是什么意思?

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


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

例如取上一根k的收盘价就是ref(c,1); 2根k前的开盘价是ref(open,2);

在callstock,stkindi函数里引用上一个周期要用-1,函数就这么规定的。


 回到顶部