 |
bill25789
中級會員
註冊日期: Mar 2021
來 自:
文章數量: 75 |
|
[問題]以歷史最高價作為if條件的語法
版主您好,
想問下面應該怎麼用語法呈現
if 歷史最高價 > 歷史第1根開盤價 and 迄今上市年數 > X then begin
DRAWSL();
end;
謝謝您!
|
|
向版主報告此篇 |  |
|
2022-01-30 15:08 |
|
|
|  |
 |
bill25789
中級會員
註冊日期: Mar 2021
來 自:
文章數量: 75 |
|
回覆: 回覆: [問題]以歷史最高價作為if條件的語法
引用: 最初由 cgjj 發表
請在日線運算
迄今上市年數建議改用天數替代
在日線中總天數=總K棒數
各要素處理範例如下:
歷史最高價: HHV(High,0);
OO:=O;
歷史第1根開盤價: OO[1];
總K棒數:datacount;
您好
我這樣寫後仍然告知語法錯誤
HHP:HHV(High,0);
OO:=O;
the_O:=OO[1];
if HHP > the_O*2 and datacount > X then begin
DRAWSL();
END;
謝謝您
|
|
向版主報告此篇 |  |
|
2022-02-01 21:50 |
|
|
|  |
 |
bill25789
中級會員
註冊日期: Mar 2021
來 自:
文章數量: 75 |
|
回覆: 回覆: 回覆: 回覆: [問題]以歷史最高價作為if條件的語法
引用: 最初由 cgjj 發表
if ... then 的判斷式,不能為數列,必須是單一數值
(通常會搭配迴圈來存取數列中的單一元素)
if(cond,a,b) 才可用在數列
請問您最終是想要畫什麼呢? 請詳述
這樣比較能直接協助您寫出要的結果
您好
HHP:HHV(High,0);
OO:=O;
the_O:=OO[1];
if HHP > the_O*2 and datacount > X then begin
DRAWSL(BARPOS=1,O,0,0,2), LINEDASH,COLORgreen;
END;
謝謝您
|
|
向版主報告此篇 |  |
|
2022-02-02 14:49 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18235 |
|
回覆: 回覆: 回覆: 回覆: 回覆: [問題]以歷史最高價作為if條件的語法
引用: 最初由 bill25789 發表
您好
HHP:HHV(High,0);
OO:=O;
the_O:=OO[1];
if HHP > the_O*2 and datacount > X then begin
DRAWSL(BARPOS=1,O,0,0,2), LINEDASH,COLORgreen;
END;
謝謝您
MHH:=HHV(H,0);
MHH:=MHH[datacount];
MOO:=O;
MOO:=MOO[1];
DRAWSL(BARPOS=1 and MHH>MOO*2,O,0,0,0), LINEDASH,COLORgreen;
|
|
向版主報告此篇 |  |
|
2022-02-02 21:49 |
|
|
|  |
 |
bill25789
中級會員
註冊日期: Mar 2021
來 自:
文章數量: 75 |
|
回覆: 回覆: 回覆: 回覆: 回覆: 回覆: [問題]以歷史最高價作為if條件的語法
引用: 最初由 cgjj 發表
MHH:=HHV(H,0);
MHH:=MHH[datacount];
MOO:=O;
MOO:=MOO[1];
DRAWSL(BARPOS=1 and MHH>MOO*2,O,0,0,0), LINEDASH,COLORgreen;
您好
現在MHH是數列,所以判斷式中,MHH>MOO*2中有一個數值成立,就會畫線。是這樣理解嗎?
謝謝您
|
|
向版主報告此篇 |  |
|
2022-02-03 15:24 |
|
|
|  |
 |
bill25789
中級會員
註冊日期: Mar 2021
來 自:
文章數量: 75 |
|
回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: [問題]以歷史最高價作為if條件的語法
引用: 最初由 cgjj 發表
不是,
MHH:=HHV(H,0); //這行跑完MHH是數列
MHH:=MHH[datacount]; //這行跑完MHH是單值(取原MHH最末根之值)
MOO:=O; //這行跑完MOO是數列
MOO:=MOO[1]; //這行跑完MOO是單值(取原MOO首根之值)
當跑到 DRAWSL 那行時,MHH 和 MOO 皆是單值,並非數列
當 MHH>MOO*2 成立時,就會自K棒首根起畫平行的虛線
謝謝您的解說,
所以
MHH:=HHV(H,0); //這行跑完MHH是數列
MHH:=MHH[datacount]; //這行跑完MHH是單值(取原MHH最末根之值)
=>HHV函式所取出的數列已經自動由小大到排序,所以數列的末根數值最大值,再藉由MHH[datacount]語法取最末之值。
這樣理解對嗎?
謝謝您
|
|
向版主報告此篇 |  |
|
2022-02-05 14:22 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|