到奇狐勝券首頁 奇狐社區論壇 購買奇狐勝券 試用奇狐勝券
 
論壇首頁 你可以在這裡編輯你的資料,查看短訊,訂閱主題和論壇參數等等 免費會員註冊 會員列表 論壇幫助 論壇日曆 論壇搜索 加入我的最愛 登出論壇  
奇狐社區論壇 : Powered by vBulletin version 2.3.0 奇狐社區論壇 > 指標公式 > 問題交流 > [問題]以歷史最高價作為if條件的語法
  上一主題   下一主題
作者
主題 發表新主題    回覆主題
bill25789
中級會員

註冊日期: Mar 2021
來  自:
文章數量: 75

[問題]以歷史最高價作為if條件的語法

版主您好,

想問下面應該怎麼用語法呈現

if 歷史最高價 > 歷史第1根開盤價 and 迄今上市年數 > X then begin
DRAWSL();

end;

謝謝您!

向版主報告此篇 | 查IP位址
Old Post 2022-01-30 15:08
bill25789 現在離線 點選這裡查看 bill25789 的個人資料 點選這裡給 bill25789 傳送一條短訊 查找更多關於 bill25789 的文章 增加 bill25789 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18235

回覆: [問題]以歷史最高價作為if條件的語法

引用:
最初由 bill25789 發表
版主您好,

想問下面應該怎麼用語法呈現

if 歷史最高價 > 歷史第1根開盤價 and 迄今上市年數 > X then begin
DRAWSL();

end;

謝謝您!



請在日線運算
迄今上市年數建議改用天數替代
在日線中總天數=總K棒數


各要素處理範例如下:

歷史最高價: HHV(High,0);
OO:=O;
歷史第1根開盤價: OO[1];
總K棒數:datacount;

向版主報告此篇 | 查IP位址
Old Post 2022-01-31 22:54
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
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;



謝謝您

向版主報告此篇 | 查IP位址
Old Post 2022-02-01 21:50
bill25789 現在離線 點選這裡查看 bill25789 的個人資料 點選這裡給 bill25789 傳送一條短訊 查找更多關於 bill25789 的文章 增加 bill25789 至你的好友列表 編輯/刪除訊息 引用回覆
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();

END;

謝謝您



if ... then 的判斷式,不能為數列,必須是單一數值
(通常會搭配迴圈來存取數列中的單一元素)

if(cond,a,b) 才可用在數列

請問您最終是想要畫什麼呢? 請詳述
這樣比較能直接協助您寫出要的結果

向版主報告此篇 | 查IP位址
Old Post 2022-02-01 22:32
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
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;

謝謝您

向版主報告此篇 | 查IP位址
Old Post 2022-02-02 14:49
bill25789 現在離線 點選這裡查看 bill25789 的個人資料 點選這裡給 bill25789 傳送一條短訊 查找更多關於 bill25789 的文章 增加 bill25789 至你的好友列表 編輯/刪除訊息 引用回覆
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;

向版主報告此篇 | 查IP位址
Old Post 2022-02-02 21:49
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
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中有一個數值成立,就會畫線。是這樣理解嗎?

謝謝您

向版主報告此篇 | 查IP位址
Old Post 2022-02-03 15:24
bill25789 現在離線 點選這裡查看 bill25789 的個人資料 點選這裡給 bill25789 傳送一條短訊 查找更多關於 bill25789 的文章 增加 bill25789 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18235

回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: [問題]以歷史最高價作為if條件的語法

引用:
最初由 bill25789 發表
您好

現在MHH是數列,所以判斷式中,MHH>MOO*2中有一個數值成立,就會畫線。是這樣理解嗎?

謝謝您



不是,

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棒首根起畫平行的虛線

向版主報告此篇 | 查IP位址
Old Post 2022-02-03 22:31
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
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]語法取最末之值。

這樣理解對嗎?

謝謝您

向版主報告此篇 | 查IP位址
Old Post 2022-02-05 14:22
bill25789 現在離線 點選這裡查看 bill25789 的個人資料 點選這裡給 bill25789 傳送一條短訊 查找更多關於 bill25789 的文章 增加 bill25789 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18235

回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: [問題]以歷史最高價作為if條件的語法

引用:
最初由 bill25789 發表
謝謝您的解說,

所以
MHH:=HHV(H,0); //這行跑完MHH是數列
MHH:=MHH[datacount]; //這行跑完MHH是單值(取原MHH最末根之值)


=>HHV函式所取出的數列已經自動由小大到排序,所以數列的末根數值最大值,再藉由MHH[datacount]語法取最末之值。

這樣理解對嗎?

謝謝您



不太正確!
HHV(X,N),是求N週期內X的最高值
N=0,代表歷史以來到現在
並非是排序,而是比較價格
當有更高的值出現時,取更高的值,否則不變
而不是把H價由小排到大

MHH[datacount] 是取最末根之MHH
也就是自歷史首根到最末根區間之最高價

您單獨把下面這一行套用在K線圖上,去觀察值的變化,就會比較容易理解。
MH: HHV(H,0);

向版主報告此篇 | 查IP位址
Old Post 2022-02-05 21:43
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
bill25789
中級會員

註冊日期: Mar 2021
來  自:
文章數量: 75

有了解了

謝謝您的解說

向版主報告此篇 | 查IP位址
Old Post 2022-02-07 23:26
bill25789 現在離線 點選這裡查看 bill25789 的個人資料 點選這裡給 bill25789 傳送一條短訊 查找更多關於 bill25789 的文章 增加 bill25789 至你的好友列表 編輯/刪除訊息 引用回覆
全部時間均為台灣時間, 現在時間為00:06 發表新主題    回覆主題
  上一主題   下一主題
顯示可列印版本 | 訂閱此主題

論壇跳轉:
主題評分:

論壇規定:
你不可以發表新主題
你不可以回覆文章
你不可以上傳附件
你不可以編輯自己的文章
HTML語法禁止
vB 語法核准
表情符號核准
貼圖語法[IMG]核准
 

本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。

Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.  聯絡我們