以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- 系统参数要隨畫面的变化自动刷新 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=49790) |
-- 作者:learner -- 发布时间:2013/3/16 8:09:52 -- 系统参数要隨畫面的变化自动刷新 系统参数sysparam(4),sysparam(5)分别返回主图可见K线最高价及最低价, 但在左右移动图表查看歷史K线时,sysparam(4),sysparam(5)的数值不会隨畫面的变化 而自动更新,完全違背了这兩函数的原有用途,其實,所有系统参数,由 sysparam(1)到sysparam(7),都出現这问題,自己寫了个公式,叫"最佳視图", 但在使用以上函数时卻得不到理想的效果,其他股软測试过,大都沒此问題 INPUT:最佳視图(1,0,100,1),上下边位(10,1,200,1); //上下边位:为視图中最高/最低价保留一定寬度 W:=最佳視图/2 <> intpart(最佳視图/2); If W then begin; PeriodHigh:=sysparam(4); PeriodLow:=sysparam(5); Margin:=(PeriodHigh - PeriodLow) * 上下边位/100; UB:=PeriodHigh + Margin; //UB:upperbound LB:=PeriodLow - Margin; //LB:Lowerbound end; B4:=min(400,BARSCOUNT(1)); MA400:=eMA(CLOSE,B4); T400:=eMA(CLOSE,B4)+2*std(c,B4); B400:=eMA(CLOSE,B4)-2*std(c,B4); 400天线 :If(W=1 and BETWEEN(MA400,UB,LB)=0, DRAWNULL, MA400) ,color0066ff; 400天保歴加頂 :If(W=1 and BETWEEN( T400,UB,LB)=0, DRAWNULL, T400) ,color0000ff; 400天保歴加底 :If(W=1 and BETWEEN( B400,UB,LB)=0, DRAWNULL, B400) ,color0000ff; 最佳視图實用性佷高,没有它,你休想在未除权的股价图拉近並微覌K线走勢(當你使用平抣线,保力加通度或眾多其他指标公式时,不信你试试!),因为有些 指标的幅度可以是股价的十倍甚至是幾十倍,把股价图比例缩到非常小,即使用来看已除权股价图,用框架把晝面开成12个小图,每个小图依然看得淸清楚 楚,不伤眼球,但我用过国內外一些股软,从来沒此功能,建意加个:画面-->最佳視图选項,成为全球第一家有此功能的公司,如果每一个公式自已寫成擁有 最佳視图功能,运算速度会很慢,简單的公式又複杂化,逐个去寫又麻煩,不好 |
-- 作者:learner -- 发布时间:2013/3/16 13:47:07 -- 有沒有替代函数? 因为看图不方便,不能不用最佳視图方式,我用框架看十二个小图,但函数中似乎只有sysparam(4),sysparam(5)符合此公式要求,現在急用,但sysparam卻不能自动刷新数据,鼠标右鍵有个"刷新数据",但不是刷新指标数据那回事,即使技术人員修复此漏洞也要新版出了才行,不知等多久,想即日解決问題,谁有好主意? |
-- 作者:learner -- 发布时间:2013/3/16 13:50:27 -- 弄了大半天,找不到解決方法 |
-- 作者:admin -- 发布时间:2013/3/17 12:30:30 -- 这个暂时处理有困难。 尤其是在逐K线模式如果频繁的刷新公式计算会严重影响速度。 |
-- 作者:learner -- 发布时间:2013/3/19 11:18:48 -- 加个开关可以吧?各取所需: SYSPARAM(4,X(可选参数)),返回主图可见K线最高价,x为1或不填代表会自动更新,x=0代表图形移动或放大缩 小都不会更新数值,注意这样通常会导致数据錯误,所以选x=0时不能动图表分毫 SYSPARAM(5,X(可选参数)),返回主图可见K线最低价,x为1或不填代表会自动更新,x=0代表图形移动或放大缩 小都不会更新数值,注意这样通常会导致数据錯误,所以选x=0时不能动图表分毫 其他SYSPARAM一样可这样改 暫时来说,SYSPARAM(2)-SYSPARAM(2) 只能叫做"準參数",因达不到所描术的作用,亦未能在一般公式中正常运 作 |
-- 作者:王锋 -- 发布时间:2013/3/19 11:24:22 -- 如果你熟悉VBA的开发话,可以考虑用VBA做个定时器,动态的刷新画面,让他不断的计算 |
-- 作者:learner -- 发布时间:2013/3/19 12:31:59 -- 刚才寫錯了,应該說SYSPARAM(2)-SYSPARAM(5) 只能叫做"準參数",SYSPARAM(1)可以,SYSPARAM(7)是常数,也 没问题,要改成自动更新,程序員加幾行代碼,受惠大眾,不是所有人同时都懂VBA的,而这幾个指标眀显所描术 的跟事實不符,例如SYSPARAM(2)的描术是:返回主图可见K线最初位置,但實制上能做到吗?什麽叫"主图可见K 线"?大部份人的理解是,把图仼意移动/放大/縮小後的的那个图,而不是现在这一种,不会隨图形变化而提供新数值,否則不能叫"主图可见K线"了,改成"切換股票那一刻主图可见K线"就差不多了 |
-- 作者:f7zrtfim -- 发布时间:2017/12/23 9:09:45 -- 原贴主真是认真,描述问题非常清晰。4年半前的帖子,同样的问题我今天也碰到了。SYSPARAM(1)刷新正确,SYSPARAM(2)和SYSPARAM(3)确实不更新,很耽误事。金字塔挺好的软件,但几百个函数这些年下来累计的bug数估计不得了。 |
-- 作者:f7zrtfim -- 发布时间:2017/12/23 9:17:13 -- 刚才没看到admin的回答,admin的回答有道理,SYSPARAM(4)和SYSPARAM(5)的计算需要开销。其实SYSPARAM(4)和SYSPARAM(5)可以去掉,只保持SYSPARAM(1),SYSPARAM(2)和SYSPARAM(3)实时更新就好了,应该没有开销。就是当前窗口看到的K线的编号。 |
-- 作者:f7zrtfim -- 发布时间:2017/12/23 14:38:49 -- 已经找到workaround了,忽略掉SYSPARAM2,3,4,5,只用SYSPARAM1。 谢谢
|