代码造成旗舰版闪退

程序中加入一些代码后,旗舰版闪退。取消代码后正常。dmp文件如附件。代码编译没有问题,通过。但加载在图表中就闪退,代码如下,请帮忙看看是什么问题。

While (...)
{
    ...
            Else If(iTemp == 5)
			{
				If(Low[trPos4] <= Low)
				{
					TrendType = 3;
					Break;
				}

				If(High[trPos5] < High[trPos3])
				{
					If(tmpHighPos == 0)
					{
						tmpHighPos = trPos5;
						tmpLowPos = trPos4;
					}
					Else
					{
						If(High[trPos5] >= High[tmpHighPos])
							tmpHighPos = trPos5;
						
						If(Low[trPos4] <= Low[tmpLowPos])
						{
							tmpHighPos = trPos5;
							tmpLowPos = trPos4;
						}
					}
					
					trPos4 = -1;
					trPos5 = -1;
					iTemp = 3;
				}
				Else
				{
					If(tmpHighPos > 0)
						trPos4 = tmpLowPos;
					
					If(Low[trPos4] <= Low[trPos2])
					{
						trPos1 = trPos3;
						trPos2 = trPos4;
						trPos3 = trPos5;
						trPos4 = -1;
						trPos5 = -1;
						iTemp = 3;
					}
					
					tmpHighPos = 0;
				}
			}
	...
}


闪退闪退闪退
TB旗舰版参数优化闪退
宽客宝闪退
TBQuant简语言版闪退
参数优化程序闪退报错
智大领峰手机端总是闪退
手机端总是闪退
旗舰版6065,监控器点查询立马报错闪退
闪硕问题
盘中信号还是会闪

多半是while死循环内存溢出了

你估算一下循环次数上限,然后用for循环替换while试试,估计就不会闪退了

如果确实是死循环导致的,那就需要你自己推敲一下循环逻辑问题了。

谢谢!暂时发现问题出在下面的语句:

TrendType = 3;

其中TrendType 是NumericSeries类型。在增加这段语句之前的版本中,这种赋值没有问题,程序正常。现在用Numeric类型替换,就没有闪退问题了。

还是不明白其中缘由,需要再琢磨琢磨。