Rss & SiteMap

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

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

标题:关于在图表上输出历史K线出现过的高低点

1楼
youthto 发表于:2016/11/29 23:08:52

在分析历史数据时,需要在图表中之前高低点所在的K线上或下,输出高低点的具体点位,或者画图标也可以

 

目前看到drawicon,drawnumber,drawtext都仅是能在当前K线的位置draw

 

请问有没有哪个函数可以在之前K线位置实现输出

 

谢谢!!

2楼
jinzhe 发表于:2016/11/30 9:15:23

这个你要用refx作为上面函数的判断条件了

 

3楼
youthto 发表于:2016/12/1 0:25:20

下面是一些测试代码,逐K模式

 

cb:currbarscount,linethick0;
b1:barpos,linethick0;
d1:datacount,linethick0;


sc:ref(c,3),linethick0;
c3:=ref(c,3);               

 

//假设我测试过去3个月的数据,在9月28日这一日的K线,符合我策略的某个条件,我需要在3天前(9月25日)的K线上面做drawnumber

//我看到论坛有个例子这样写,if barpos=datacount-3 then drawnumber(1,c3,123,0);      这里datacount对应的是最后一个k线的数量,所以成立,对吧?

 

if (date + 19000000=20160928) then
BEGIN

       

       //如果不是最后一根K线,而是在测试数据中的某根K线向前移N个K=3个K线,使用drawnumber
       if  barpos(这个对应的是要draw的K线的位置) = datacount(这里用什么替代?) - 3   then drawnumber(1,c3,123,0);    
end

4楼
youthto 发表于:2016/12/1 9:15:54

貌似是没有办法在当前K,定位到左边的K线,然后drawnumber或drawicon了

5楼
youthto 发表于:2016/12/1 9:27:33

if (date + 19000000=20160928) then
BEGIN 
 BARSSET(1,H,1,-3);
end
 

 

用法:
BARSSET(COND,PRICE,N,OFFSET)
当COND条件满足时,在PRICE位置绘制标记。
N为所影响到的周期数。
OFFSET为影响周期的偏移,0为以中心点前后影响,负数为往前影响,正数为向后影响。                     <---   这个偏移,是指什么的偏移,测试的时候,发现标记都是绘制在当前K线的
该函数通常用在逻辑公式中。
所属函数组:绘图函数

 

 

6楼
jinzhe 发表于:2016/12/1 9:47:27

前面说了,你要用refx来给要画的高点定位

而且是一个已知的点,比如你知道高点在前面3个周期

drawicond(refx(高点判断条件,3),c,1);

这样写

7楼
youthto 发表于:2016/12/1 11:37:48

OK,可用

 

逐K模式下,报“公式正在执行重复计算两次的未来函数调用,金字塔提醒用户尽量不要在逐K模式下使用未来函数”

 

是否逻辑上不会有问题?

是否仅是性能上有影响?

是否可以不用未来函数?

 

8楼
jinzhe 发表于:2016/12/1 13:10:23
这个你只能是在序列模式下看的,不要放在图表交易代码里面
9楼
youthto 发表于:2016/12/1 13:56:08

简单测试,drawicon(refx(判断条件, 3 ),h,2);       是可用

 

放到模型里面,drawicon(refx(判断条件, 动态k线个数 ),h,2);      动态K线个数会变化,画图标的位置也变了   ,所以refx也用不了

 

在这上面花时间过多了,先暂时跳过了

 

共9 条记录, 每页显示 10 条, 页签: [1]


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