开拓者期货期权程序化系统交易论坛
标题:
关于FOR语句的基本用法求教
[打印本页]
作者:
lanhai123
时间:
2012-5-5 18:17:06
标题:
关于FOR语句的基本用法求教
为了学习FOR语句的编写,试着编了下面的指标,不知为何VAR1和VAR2的输出值差别很大,什么地方不对?敬请大侠指教,谢谢!
Params
Numeric N(3);
Vars
Numeric i;
Numeric sumvalue(0);
Numeric var1;
Numeric var2;
NumericSeries hhv;
NumericSeries llv;
Numeric Value1;
Begin
hhv=Highest(High,10);
llv=Lowest(Low,10);
var1=((hhv-llv)+(hhv[1]-llv[1])+ (hhv[2]-llv[2]))/3;
sumvalue =0;
For i = 0 To n-1
{
value1 =(hhv[i]-llv[i]);
sumvalue = sumvalue + value1; }
var2 =sumvalue/3;
PlotNumeric(" atr相加=", var1);
PlotNumeric(" atr循环=", var2);
End
作者:
lanhai123
时间:
2012-5-8 07:51:30
几天了,请管理员给解答一下吧!
作者:
lanhai123
时间:
2012-5-9 06:37:37
这个问题是不是很难?
作者:
lanhai123
时间:
2012-5-9 14:14:17
求教几天后,终于找到一个FOR语句的例子,学习之后,模仿求和公式的写法,加入if 语句排除无效值和死循环的可能性以后,公式终于有了正确一致的显示了!
学习TB又前进了一步!
作者:
lanhai123
时间:
2012-5-9 14:17:07
为了感谢各位的帮助,现将改好后的公式贴出来(本人对编程绝对是外行,高手别见笑):
Params
Numeric N(3);
Vars
Numeric i;
Numeric j;
Numeric sumvalue(0);
Numeric var1;
Numeric var2;
NumericSeries hhv;
Begin
hhv=Highest(High,10);
var1=((hhv[1])+ (hhv[2])+ (hhv[0]))/3;
sumvalue =0;
j=0;
For i = 1 To n
{
If (hhv[j] <> InvalidNumeric){
sumvalue = sumvalue + hhv[j] ;
j = j + 1; }
else Break;}
var2 =sumvalue/3;
PlotNumeric(" atr相加=", var1);
PlotNumeric(" atr循环=", var2);
End
作者:
walker2020
时间:
2012-6-27 01:45:11
hhv 和 hhv[0] 可能不一样
欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/)
Powered by Discuz! X2