以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  编寫问題  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=74881)

--  作者:annbi
--  发布时间:2015/1/23 9:16:00
--  编寫问題
有关MAX, MIN问題:

问題1:MAX 和MIN 函数如何處理3個值或以上的比較?

例如: MAX(A,B,D,E);
        MIN(A, B, D);

问題2:假設没有打錯字,應如何修改以下两句? 兩边同時出現D,或E (H & L只是常見的保留字), 谢谢
D:=MAX(D,REF(H,1));
E:=MIN(E,REF(L,1));



--  作者:jinzhe
--  发布时间:2015/1/23 9:21:09
--  

1

max(a,max(b,max(c,d)))

2.不用修改


--  作者:jinzhe
--  发布时间:2015/1/23 9:21:37
--  
  或者你为什么要觉得修改?觉得不对的地方在哪里?
--  作者:annbi
--  发布时间:2015/1/23 9:28:37
--  
主要原因是兩边都有同一变量, 在金字塔不被编譯器通過

例如,
D:=MAX(D,REF(H,1));
E:=MIN(E,REF(L,1));

谢谢

--  作者:jinzhe
--  发布时间:2015/1/23 9:32:31
--  
没有赋初值
[此贴子已经被作者于2015/1/23 9:32:37编辑过]

--  作者:jinzhe
--  发布时间:2015/1/23 9:33:05
--  

IF BARPOS=1 THEN BEGIN

  E:=1;

  D:=2;

END类似这样的赋初值


--  作者:annbi
--  发布时间:2015/1/23 9:38:59
--  
整個指标模型格式如何寫, 我不懂, 谢谢赐教
--  作者:jinzhe
--  发布时间:2015/1/23 9:46:36
--  
runmode:0;
if barpos=1 then begin
 d:=1;
 e:=2;
end
h1:=ref(h,1);
l1:=ref(l,1);
if barpos>1 then begin
D:=MAX(D,h1);
E:=MIN(E,l1);
end

--  作者:annbi
--  发布时间:2015/1/23 9:48:19
--  
我試了以下模型, 説D和E重複了, 應如何改

IF BARPOS=1 THEN BEGIN
  E:=1;
  D:=2;
END
D:=MAX(D,REF(H,1));
E:=MIN(E,REF(L,1));

--  作者:annbi
--  发布时间:2015/1/23 9:51:13
--  
再試了以下模型, 编譯器又説D和E重複了, 應如何改, 谢谢

runmode:0;
if barpos=1 then begin
 d:=1;
 e:=2;
end
h1:=ref(h,1);
l1:=ref(l,1);
if barpos>1 then begin
D:MAX(D,h1);
E:MIN(E,l1);
end