开拓者期货期权程序化系统交易论坛
标题:
求助: ParabolicSAR函数在V4版本下的使用
[打印本页]
作者:
newtimes
时间:
2011-4-25 14:08:14
标题:
求助: ParabolicSAR函数在V4版本下的使用
请教下V4版本下 ParabolicSAR
函数的应用,提升参数申明错误,到底该用那种参数或变量?
注:我想在我的交易系统里引用 ParabolicSAR的止损,多谢大侠!
作者:
lh948
时间:
2011-4-25 14:59:37
看看出错的位置前后使用的参数有没有未声明的?
作者:
newtimes
时间:
2011-4-25 15:31:36
感谢回复!下面是V3版本的代码,可以使用,但V4里不能用,
Params
...
Numeric AfStep( 0.02);
Numeric AfLimit( 0.2 ) ;
Vars
Numeric oParCl( 0 );
Numeric oParOp( 0 );
Numeric oPosition( 0 );
Numeric oTransition( 0 );
...
Begin
........
ParabolicSAR( AfStep, AfLimit, oParCl, oParOp, oPosition, oTransition ) ;
end
我把后面4个参数改为NumbericRef 等等,好几种都不可以,放在参数和变量里声明都不行,请教具体正确用法,谢谢!
作者:
nopain
时间:
2011-4-25 15:49:27
你就按这个例子一样,定义4个普通Numeric变量,然后传入就可以了
作者:
bjzch
时间:
2012-3-19 06:58:35
你就按这个例子一样,定义4个普通Numeric变量,然后传入就可以了
nopain 发表于 2011-4-25 15:49
用普通Numeric变量确实可以编译通过,但是这样一来,又出现其他问题了:我现在无法回溯以前的值了!如要回溯以前的值,就必须用 NumericSeries 类型,可是用该类型,编译却又无法通过!
请版主大人尽快向开发组提交此问题!因为我的程序需要从V3升到V4,现在就碰到了这样的问题,过不去这个坎了,没法升级了!5月份V3就不能用了,希望尽快解决V4上的这个BUG.谢谢!
作者:
bjzch
时间:
2012-3-19 07:00:23
贴上一段简单的代码,请版主自行编译一下试试:
Vars
NumericSeries oParCl(0);
// 该参数类型为 NumericRef时,编译提示“无法识别的字符串”,为 NumericSeries时,
// 提示“被调用公司要求引用参数时,该参数只能以普通变量或引用参数方式传入”
// 最终,若想在TBV4下编译通过,只能用 Numeric 类型,但是,这样一来,就无法引用它的前值 oParCl[1]了。
Numeric oParOp(0);
Numeric oPosition(0);
Numeric oTransition(0);
Begin
ParabolicSAR( 0.02, 0.2, oParCl, oParOp, oPosition, oTransition);
End
作者:
lh948
时间:
2012-3-19 12:45:38
回复
6#
bjzch
NumericRef只能用在param段中。
作者:
追涨杀跌
时间:
2012-3-19 13:53:37
本帖最后由 追涨杀跌 于 2012-3-19 13:56 编辑
回复
6#
bjzch
稍微变通一下,就可以解决这个问题。同时定义一个简单变量和序列变量,用简单变量作为参数调用函数,然后把简单变量得到的返回值,赋值给序列变量,就可以回溯读取了。
比如:
Vars
Numeric oParCl(0);
NumericSeries osParCl(0);
Numeric oParOp(0);
Numeric oPosition(0);
Numeric oTransition(0);
Begin
ParabolicSAR( 0.02, 0.2, oParCl, oParOp, oPosition, oTransition);
osParCl = oParCl;
.......
End
欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/)
Powered by Discuz! X2