A:=IFELSE((增加的条件),1,0); |
看来整个公式要重新写,能否用if else 分别执行1、0呢?其中1是一套买卖指令,2是另外一套。两者的区分就在那个增加的条件。又或者,在下划线部分也增加一个if else 指令用来区分?
请教:上面的文字是我在文华发表的一个帖子,当然使用的也是文华语言。文华的斑竹说没有办法解决,想请教一下金字塔。我也是你们的用户,谢谢!
可否将问题再详细描述一下,因为你所说我们都不知所云
要不先换一种说法,上面这个交易程序,说白了就是想:
在某种条件下,采用震荡突破系统,在另外一种条件下,采用趋势系统?金字塔可以么?请指教,谢谢!
使用IF THEN语法结构处理你的公式系统
if 震荡满足 then
begin
//这里处理震荡突破系统代码
end
else
begin
//采用趋势系统
end
EXITSHORT:C<MA2 ,TFILTER;
EXITLONG: C>MA1 ,TFILTER;
ENTERLONG: C<MA5 AND(DDD1<DDD2) ,TFILTER;
ENTERSHORT:C>MA4 AND(DDD1<DDD2 ) ,TFILTER;
这是震荡系统;
EXITSHORT:C>MA2 ,TFILTER;
EXITLONG: C<MA1 ,TFILTER;
ENTERLONG: C<MA5 AND(DDD1>=DDD2) ,TFILTER;
ENTERSHORT:C>MA4 AND(DDD1>=DDD2 ) ,TFILTER;
这是趋势系统;
判定是趋势还是震荡是DDD指标对于前一周期的大小或相等。那么,能否这样写:
IF (DDD1<DDD2),THEN BEGIN
EXITSHORT:C<MA2 ,TFILTER;
EXITLONG: C>MA1 ,TFILTER;
ENTERLONG: C<MA5 ,TFILTER;
ENTERSHORT:C>MA4 ,TFILTER;
ELSE
BEGIN
EXITSHORT:C>MA2 ,TFILTER;
EXITLONG: C<MA1 ,TFILTER;
ENTERLONG: C<MA5 AND(DDD1>=DDD2) ,TFILTER;
ENTERSHORT:C>MA4 AND(DDD1>=DDD2 ) ,TFILTER;
END
请老师指教!谢谢!
经过修正的公式如下:请仔细对照之前的区别
IF (DDD1<DDD2),THEN BEGIN
EXITSHORT:C<MA2 ,TFILTER;
EXITLONG: C>MA1 ,TFILTER;
ENTERLONG: C<MA5 ,TFILTER;
ENTERSHORT:C>MA4 ,TFILTER;
END
ELSE
BEGIN
EXITSHORT:=C>MA2 ,TFILTER;
EXITLONG:= C<MA1 ,TFILTER;
ENTERLONG:= C<MA5 AND(DDD1>=DDD2) ,TFILTER;
ENTERSHORT:=C>MA4 AND(DDD1>=DDD2 ) ,TFILTER;
END