各位专家好!我想请教一个问题,在金字塔软件中,如果在if语句状态下,我想再加一个限定语句比如:c>Ma(c,60),应该怎么样加入才行啊?
//《定制的海龟交易系统V1.0前台显示版本》
// 适用于多时间框架图表
// 这个版本可以用于在图表上显示信号,也可以做自动交易
// 同一根K线多次发出指令。
// Designed By Likai
// 2010.07.16
//声明参数
Input : T20(20,15,60,1) ;
Input : T10(10,10,30,1);
Input : ATRLen(20,15,30,1) ;
Input : PosNum(1,1,20,1) ;
//声明变量
nt := 1 ; //调试信息带时间戳
BuyOrderThisBar := 0 ; //当前Bar有过交易
VARIABLE : _DEBUG = 1 ; //是否输出前台交易指令
VARIABLE : _TDEBUG = 1 ; //是否输出后台交易指令
VARIABLE : _DEBUGOUT = 0 ; //是否输出后台交易的调试信息
VARIABLE : myEntryPrice =0 ; //开仓价格
VARIABLE : myExitPrice =0 ; //平仓价格
VARIABLE : TurtleUnits=0 ; //交易单位
VARIABLE : Position=0 ; //仓位状态
//0表示没有仓位,1表示持有多头, -1表示持有空头
VARIABLE : T20Hi=Close ; //20周期的高点
VARIABLE : T20Lo=Close ; //20周期的低点
VARIABLE : T10Hi=Close ; //10周期的高点
VARIABLE : T10Lo=Close ; //10周期的低点
//准备需要计算的变量
T20Hi := ref(hhv(h,T20),1) ;
T20Lo := ref(llv(l,T20),1) ;
T10Hi := ref(hhv(h,T10),1) ;
T10Lo := ref(llv(l,T10),1) ;
AvgTR := ref(MA(TR,ATRLen),1) ;
//开始执行时 初始化数据
If BARPOS=1 Then Begin
//Position := 0 ;
End //If
//如果当前是没有持仓的状态
If Position=0 and BARPOS>T20 and h>l Then Begin
//建立多头进场条件
Long := h > T20Hi ;
//多头进场
if Long then begin
myEntryPrice := IF(Open>T20Hi+MINDIFF ,Open ,T20Hi+MINDIFF ) ;
buy( _DEBUG,PosNum,limitr,myEntryPrice);
Position := 1 ;
TurtleUnits := 1 ;
N := AvgTR ;
BuyOrderThisBar := 1;
end //if
这是海龟交易系统的代码,我想加入一个限定语句,即在60MA 再发出买入信号
在60MA上方
我得到的提示是:金字塔的公式系统在处于逐周期模式计算时,像例如REF,MA等带有统计性质的函数以及指标公式引用无法直接使用在IF语句之中(序列运行模式可以),因为带变量判断的IF语句会在某些周期无法调用这些统计函数而导致计算结果出现错误。解决办法是将这些函数放到IF语句之外去执行。
但是还是没搞懂