以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  一个逻辑判断问题,高手进  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=79999)

--  作者:PierreHuang
--  发布时间:2015/6/20 16:06:44
--  一个逻辑判断问题,高手进
有个逻辑问题需要请教,总共8个价格,P1,P2,P3,P4,P5,P6,P7,P8。
需要判断这个8个价格中的最低价格,P1-P8的价格是随机的,其中有可能7个价格为0。
现在的难点就是,我需要判断这个8个价格中,非0价格的最低价格。

此程序如何实现,谢谢。

--  作者:PierreHuang
--  发布时间:2015/6/20 19:55:21
--  
自己给自己解答吧,答案如下:(如果有运行效率更高的代码,请高手指教,多谢)
if myBuyShortP>0 and myBuyShortP1>0 then myBuyShortP:=Max(myBuyShortP,myBuyShortP1);
else if myBuyShortP=0 then myBuyShortP:=myBuyShortP1;
if myBuyShortP>0 and myBuyShortP2>0 then myBuyShortP:=Max(myBuyShortP,myBuyShortP2);
else if myBuyShortP=0 then myBuyShortP:=myBuyShortP2;
if myBuyShortP>0 and myBuyShortP3>0 then myBuyShortP:=Max(myBuyShortP,myBuyShortP3);
else if myBuyShortP=0 then myBuyShortP:=myBuyShortP3;
if myBuyShortP>0 and myBuyShortP4>0 then myBuyShortP:=Max(myBuyShortP,myBuyShortP4);
else if myBuyShortP=0 then myBuyShortP:=myBuyShortP4;
if myBuyShortP>0 and myBuyShortP5>0 then myBuyShortP:=Max(myBuyShortP,myBuyShortP5);
else if myBuyShortP=0 then myBuyShortP:=myBuyShortP5;
if myBuyShortP>0 and myBuyShortP6>0 then myBuyShortP:=Max(myBuyShortP,myBuyShortP6);
else if myBuyShortP=0 then myBuyShortP:=myBuyShortP6;
if myBuyShortP>0 and myBuyShortP7>0 then myBuyShortP:=Max(myBuyShortP,myBuyShortP7);
else if myBuyShortP=0 then myBuyShortP:=myBuyShortP7;

if myBuyShortP>0 and myBuyShortP8>0 then myBuyShortP:=Max(myBuyShortP,myBuyShortP8);
else if myBuyShortP=0 then myBuyShortP:=myBuyShortP8;

--  作者:fantasynew
--  发布时间:2015/6/20 21:59:33
--  
SMALL:=MIN(MIN(MIN(MAX(P1,0),MAX(P2,0)),MIN(MAX(P3,0),MAX(P4,0))),MIN(MIN(MAX(P5,0),MAX(P6,0)),MIN(MAX(P7,0),MAX(P8,0))));
--  作者:fantasynew
--  发布时间:2015/6/20 22:06:43
--  

你不是要最低吗,一行足矣。

你自己给的怎么是求最高价