Rss & SiteMap

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

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

标题:[5金币]等高手解決一个看似好简单的公式

1楼
learner 发表于:2013/3/22 16:09:55
上一次时间跟現在K线时间一样时的周期数

用处,可以知道同一时间但不同日子(可以是昨天或前兩天或一年前),那些K线曾发生过什么事
要通式,仼何周期(日以下)皆可用,仼何市场皆可用(即不同的开市/收市时间也可用)
x:=barslast(hour=9 and minute=47);
这只是指定一个时间,不是通式
也曾考慮过用for枚举所有时间,但耗CPU

首先多谢jinzhe老師提供以下的代碼:
方法一
nn:ref(todaybar,todaybar);
c1:ref(c,nn);
方法二
nn1:barslast(date<>ref(date,1));
cc1:ref(c,ref(nn1,nn1+1)+1)

这里nn/nn1就是要找的周期了,这是上一个交易同一时间但不同日子距今天的周期数
c1/cc1是对应的收市价,畫成了一个图

但以上公式需要每天的周期数一致,在1分鈡图有时会缺漏幾支棍的情況下,就不準確了,也未能用於半日市

覌察过一些品种後,发现HSI恒指连续最适合用来做测试,因为近三年其交易时间曾改过兩次,亦出現缺漏K线日及上/下

午半日市等不一致的交易日,若公式能在此品种通过,时间全部对得上的,就算成功了

-若找不到上一次周期的时间,畫图时可留空(DRAWNULL)或引用之前收市价作填充
-盡量不要耗用电腦資源,for等语句可免則免,若必須要用就用吧

这公式看似简单,實制上具挑戦性,请高手解决
2楼
learner 发表于:2013/3/23 7:56:06
请教各位老師,就以上所术,是否非要用for语句不可?有沒有其他简单方法?

以上问题好直覌地令人联想起barslast,但里面的时间怎样暫时固定起来呢?

x:=barslast(time=當前K线的时间);

因为是暫时固定,所以不能用const

又或者有其他函数能代替,而自己忽畧了?

老師啊,高人啊,请给个好的指引吧,不然公式会寫得長,计算又计得慢啊 ~~
3楼
fly 发表于:2013/3/26 15:43:03

穷举一天所有K线的情况,要用FOR了

 

时间的暂时固定,可用以下表示

TIME1:T0TOTIME(TIMETOT0(OPENTIME(1))+1*60); //1分钟周期开盘第一根K线---1*60表示60秒即1分钟

x1:barslast(time=TIME1)+1,linethick0;

4楼
klc 发表于:2013/4/24 21:47:14

第一种方法:只能帮你找到前一交易日的现在(就是当前最后一根K线)的周期:

nn:BARSLAST(date<>CURRENTDATE and time()=REFX(time(),DATACOUNT-BARPOS)),NODRAW;

例如,现在假如现在是周2下午2点03分,那么nn就是上一交易日(可能是周一)下午2点03分的K线,要看它的收盘价,那么:

cc:=ref(c,nn);

 

第二种方法:可以帮你找到前一交易日相同时间的周期:

bb:barslast(date()<>ref(date(),1))+1,NODRAW;
cc:refdate(c,ref(date(),bb),time());

bb是找到的那个周期那天的最后一根K线,cc是那个周期的close,上面这个代码的效果就是在今天显示昨天的收盘价线,你试试就知道了。

[此贴子已经被作者于2013-4-24 21:49:02编辑过]
5楼
klc 发表于:2013/4/24 21:51:25

给个图你看吧,直观点,序列也行,逐K也行:

 


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2013-4-24 21:52:01编辑过]
共5 条记录, 每页显示 10 条, 页签: [1]


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