以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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。

谢谢