以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  关于优化newhbars的请求  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=173866)

--  作者:longkun
--  发布时间:2020/1/7 8:09:26
--  关于优化newhbars的请求
我使用NEWHBARS来求日线的阻力位,其中拟用到  REF(H,NEWHBARS(1.03*H,1),但是NEWHBARS不支持将H设为变量,一直没用更好的方法(比如循环)来求压力或支撑。
请求优化NEWHBARS和NEWLBARS函数,使H或L可以设置为边变量。谢谢
[此贴子已经被作者于2020/1/7 8:09:57编辑过]

--  作者:wenarm
--  发布时间:2020/1/7 8:23:24
--  
REF(H,NEWHBARS(1.03*H,1))这种表达方式没有问题。不明白你想说什么。
[此贴子已经被作者于2020/1/7 8:23:59编辑过]

--  作者:longkun
--  发布时间:2020/1/7 8:59:57
--  
NEWHBARS里面的H前面加了1.03*后运算无效
--  作者:longkun
--  发布时间:2020/1/7 9:01:26
--  
我的本意是求涨幅为3%时的价格创了多少天的新高
--  作者:banzhuan
--  发布时间:2020/1/7 10:23:48
--  
不能这样使用,h*1.03后那历史上的h也要*1.03,所以就没有变化
--  作者:longkun
--  发布时间:2020/1/7 10:58:58
--  
能不能将这个参数设置为变量?
--  作者:wenarm
--  发布时间:2020/1/7 11:04:01
--  

没办法,你这个需求无法满足。它不符合序列变量计算处理的机制。


--  作者:longkun
--  发布时间:2020/1/7 11:37:29
--  
有没有其他的方法用代码来实现:“我的本意是求涨幅为3%时的价格创了多少天的新高”?
--  作者:banzhuan
--  发布时间:2020/1/7 13:16:54
--  
抱歉,这个没法实现啊
--  作者:独孤求败
--  发布时间:2020/1/11 22:18:34
--  

runmode:0;
input:cs(1.05,1,2,0.01);
ss:=0;
for i=barpos-1 downto 1 do BEGIN 
   if high[i]>high*cs then begin
     ss:=barpos-i;
     break;
   end
end
ren:ss;

 

ren就是返回的数值,cs是幅度参数1.05就是5%

你可以将这个公式封装一个单独的公式,然后其他公式中以 用户函数 的模式进行调用