Rss & SiteMap

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

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

标题:跨周期引用TOPRANGE的问题

1楼
snowdog 发表于:2015/1/8 15:40:10
策略跑在1分钟周期上,现在想知道当前1分钟K线的高点是几日高点

先写了个指标TOPX,如下,其中P是价格Price的意思
INPUT:P(100,1,100000,1);
topn:TOPRANGE(P),NODRAW;
lown:LOWRANGE(P),NODRAW;

在策略(1分钟周期)中:
M:=NUMTOSTR(H,0);
N日高点:=stkindi('','TOPX.topn('& M &')',0,6,-1);

结果,N日高点的值总是为0,不知道哪里出问题了,请帮忙看看哪里出问题了,多谢了


2楼
jinzhe 发表于:2015/1/8 15:46:00
处理中请稍等
3楼
fly 发表于:2015/1/8 16:12:28

TOPRANGE(X):X是近多少周期内X的最大值

例如:TOPRANGE(HIGH)表示当前最高价是近多少周期内的最高价

 

参数写错了,第一个策略本身就只有0值,引出来的也就只能是0了,改个其它参数,比如high

topn:TOPRANGE(high),NODRAW;
lown:LOWRANGE(high),NODRAW;

4楼
snowdog 发表于:2015/1/8 16:26:10
改成HIGH的话就跟我原来的意图不一样了,TOPRANGE的参数只是一个价格而已,我是拿1分钟线的高点作为参数来调用,不应该都是0的
5楼
snowdog 发表于:2015/1/8 20:57:33
又有新线索,在调试和保存策略时,会提示这个
图片点击可在新窗口打开查看此主题相关图片如下:捕获.jpg
图片点击可在新窗口打开查看
6楼
jinzhe 发表于:2015/1/9 9:05:29
此问题无解,此函数不能用来调用
7楼
snowdog 发表于:2015/1/9 10:19:41
行吧。我另外想办法。TOPRANGE本身内部就是递归调用是吧,会消耗很多资源,然后stkindi又限制了调用次数。因为TOPRANGE不跨周期是可以用的。
8楼
jinzhe 发表于:2015/1/9 10:24:46
 是的
9楼
snowdog 发表于:2015/1/12 11:49:30
我重新写了TOPX指标,没有再使用TOPRANGE函数了,但编译时还是提示引用公式过多,请帮忙看看,软件版本V3.41

调用TOPX的策略代码如下:

M:=NUMTOSTR(H,0);
N日高点:=stkindi('','TOPX.HHIDX('& M &')',0,6,-1);

TOPX指标如下,计算价格P是几周期最高,周期数做了限制,最大为N

INPUT:P(4666,1,100000,1),N(30,10,500,1);

PT:=HIGH;

HIDX:=0;
HFLAG:=0;

IF BARPOS<=N THEN EXIT;

FOR I=0 TO N DO
BEGIN 
  IF PT[BARPOS-I]>P THEN
  BEGIN
       HIDX:=I;
       HFLAG:=1;     //     搜索到比P高的价格
       BREAK;
  END      
END

IF HFLAG=0 THEN HIDX:=N+1;

HHIDX:HIDX;
10楼
jinzhe 发表于:2015/1/12 13:23:58
循环计算了
共11 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.23438 s, 3 queries.