Rss & SiteMap

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

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

标题:[原创]

1楼
nscman 发表于:2015/10/6 19:20:20
请教:下面代码为什么不能正常显示

'myhigh,mylow分别表示今日上涨和下跌极限。myhigh1,mylow1分别表示昨日上涨和下跌极限。

'如果是第1条K线,直接计算
IF BARSTATUS=1 THEN
begin
myhigh:=H*1.01;
mylow:=L*0.99;
end

'因为在if语句中不能使用ref,故在语句外赋值
mylow1:=ref(mylow,1);
myhigh1:=ref(myhigh,1);

'如果不是第一条K线,且今日价格在昨日上涨和下跌极限内,则今日极限和昨日一样
if (BARSTATUS=2 or BARSTATUS=0) and (low>=mylow1 AND high<=myhigh1) THEN 
begin
  myhigh:=myhigh1;
  mylow:=mylow1;
end

如果不是第一条K线,且今日价格超出昨日上涨或下跌极限,则今日极限重新计算
if (BARSTATUS=2 or BARSTATUS=0) and (low<mylow1 or high>myhigh1) then
begin
  myhigh:=H*1.003;
  mylow:=L*0.997;
end

'绘出上涨和下跌极限线
showhigh:myhigh;
showlow:mylow;


以上公式,在系列模式下无显示,查看运行时变量,所有变量均为"##"。
在逐K线模式下有显示,但不是所设想的显示效果。查看运行时变量,似乎符合运算预期。

2楼
nscman 发表于:2015/10/6 19:30:37
无法上图,通过附件上传了,但看不到。
图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看
3楼
yukizzc 发表于:2015/10/8 10:44:42

在序列模式下,if条件里的序列变量返回最后一个k的值。

if c<o then
a:1   //可以用这个简单例子自己看下效果

 

2、你这个地方返回的ref的mylow不是上一根k最后的mylow,而是上一根k线运行到这行代码时候mylow的值,后面的改变不影响这个取值

mylow1:=ref(mylow,1);
myhigh1:=ref(myhigh,1);
共3 条记录, 每页显示 10 条, 页签: [1]


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