一个逻辑与的奇怪问题 - TradeBlazer公式 [开拓者 TB]
作者:
开拓者 TB 来源:
cxh99.com 发布时间:2012年05月30日 点击数:
【
收藏到本网的会员中心】
- 咨询内容:
我在编上吊线函数时发现一个奇诡的问题:
如果我有两个条件:
myCon4 = (High[1]>=HighestFC(Close[1],5));
myCon5 = (Close[1]>=AverageFC(Close[1],5));
if (myCon4) Commentary("myCon4"); //检测条件是否满足
if (myCon5) Commentary("myCon5");
以上程序是正常的,但我将这两个条件合起来时,就不正常了,增加两条语句:
myCon6 = (High[1]>=HighestFC(Close[1],5)) && (Close[1]>=AverageFC(Close[1],5));
if (myCon6) Commentary("myCon6");
结果在满足K线形态的地方,只显示myCon4和myCon5,而不显示myCon6
这是为什么?我感觉是与序列数值类型有关,请管理员解释一下。
谢谢!
- TB技术人员:
优化的上吊线函数代码如下,供朋友们共同学习提高。
- //------------------------------------------------------------------------
- // 简称: mySDX
- // 名称: 上吊线
- // 类别: 用户函数
- // 类型: 顶部反转
- // 输出: 布尔型
- //------------------------------------------------------------------------
- // 实体处于K线上端,实体的颜色无所谓
- // 下影线至少达到实体高度的2倍
- // 没有上影线或上影线极短
- // 在趋势的顶部,且当前K线正在得到验证
- Params
- Numeric myBars(5); //顶部趋势至少保持5Bar
- Numeric myBar0(8); //缺省的Bar振幅至少有8个点
- Vars
- Numeric myBar30; //30个周期的平均Bar振幅
- Numeric myBar1; //Bar[1]的振幅
- Numeric myIndex(1);
- Bool myCon1;
- Bool myCon2;
- Bool myCon3;
- Bool myCon4;
- Bool myCon5;
- Bool myCon6;
-
- Begin
- myBar30 = AverageFC(High[1]-Low[1],30); //30个周期的振幅
- If (myBar30<myBar0) myBar30=myBar0; //如果振幅太小则设置最小值
- myBar1 = High[1]-Low[1];
- myCon1 = myBar1>=myBar30;
- myCon2 = (High[1] - Min(Open[1],Close[1]))/myBar1 <=0.4; //实体在K线的上部
- myCon2 = myCon2 or (Max(Open[1],Close[1])-Low[1])/myBar1<=0.4; //或实体在K线的下部
- myCon3 = Abs(Open[1]-Close[1])/(myBar1) <=0.4; //实体小于K线的2/5,即下影线或上影线较长
- myCon4 = (High[1]>=HighestFC(Close[1],5)); //处于近期顶部
- myCon5 = (Close[1]>=AverageFC(Close[1],5)); //处于近期顶部
- myCon6 = (High[1]-Low)/myBar1 >=0.5; //确认下跌
- If (myCon1 && myCon2 && myCon3 && myCon4 && myCon5 && myCon6)
- {
- //FileAppend("c:\\test0.Log",Text(CurrentBar)+" "+DateToString(CurrentDate)+" "+TimeToString(CurrentTime));
- PlotString("SDX","上吊线",High[1]+2,-1,1);
- Return True;
- }
- Return False;
- End
- //------------------------------------------------------------------------
- // 编译版本 GS2010.12.08
- // 用户版本 2011/10/10 08:15
- // 版权所有 efrogking
- // 更改声明 TradeBlazer Software保留对TradeBlazer平台
- // 每一版本的TrabeBlazer公式修改和重写的权利
- //------------------------------------------------------------------------
复制代码
- TB客服:
难道跟if不能用HighestFC之类是一个道理?
- 网友回复:
回复 1# efrog
学习来了
- 网友回复:
谢谢楼主分享模板 |