前一天K棒的位置

  •   1.4K 
  • 最後發表   散散惹人愛  2019 三月 05
散散惹人愛 發文於   2017/05/10

請教一下;

關於警示的問題:

 

請問

1前一天K棒 的二分之一、三分之二的觸發條件 如何撰寫?

2此外,一段 期間的 最低點、最高點 是以當天向前計算期數的 是用swing 這個函數? 對於其描述有點困惑

 3 一段期間的漲幅、跌幅。 例如20天漲幅 不超過10% 是要如何表示呢?

 

煩請協助 感謝你們

 

排序方式: 標準 | 最新
XQ小幫手 發文於   2017/05/10

Hi 散散惹人愛,

抱歉,小幫手不太明白您所述為何,故只能用猜想的方式回答,

 

1前一天K棒 的二分之一、三分之二的觸發條件 如何撰寫?

假如您要在今日收盤價 > 前一天K棒收盤價的二分之一,觸發警示,則應該可撰寫

if GetField("收盤價","D") > GetField("收盤價","D")[1] * 0.5 then ret = 1;

 

2此外,一段 期間的 最低點、最高點 是以當天向前計算期數的 是用swing 這個函數? 對於其描述有點困惑

小幫手至XS函數搜尋,查找Swing關鍵字,只有找到SwingHigh、SwingHighbar、SwingLow、SwingLowBar這些函數,沒有Swing這個函數。

如果您要找一段 期間的 最低點、最高點,也可以查找Lowest關鍵字highest關鍵字,應該會有相關的函數可以供您使用。

 

 3 一段期間的漲幅、跌幅。 例如20天漲幅 不超過10% 是要如何表示呢?

首先,定義您的漲幅計算的方式,

再來,用If判斷式,去判斷 20天漲幅 不超過10%。

 

以上說明,謝謝。

XQ小幫手 發文於   2017/05/11

你好:

Q1:請問你的前一天K棒的1/2、2/3的觸發條件指的是什麼??

Q2:一段期間最高點、最低點可參考Highest - (系統函數) 和Lowest - (系統函數)

Q3:同Q2

以上說明

散散惹人愛 發文於   2017/05/12

Q1 :同小幫手的解答!

Q 2: 不是很清楚 Highest -  和Lowest -  ;SwingHigh、SwingHighbar、SwingLow、SwingLowBar這些函數 之間的區別 , 主要想做出的警示是 跌破 前一段時間內的最低點或突破前一段時間的最高點,建議哪一種函數接近 上面這樣的描述。

Q3: 為何 Q3會 須參考Q2 請再說明 其中的邏輯

謝謝小幫手 的回答!

 

散散惹人愛 發文於   2017/05/13

主要是想作出如下的警示!

Q2:  當盤中 跌破前10日內的最低點,包含當日算入10日的最低點計算, 才想問說 這幾個函數的效果哪個較為接近。  

Q3: 假如警示觸發時, 須滿足觸發前60日當中的最低點起算,漲幅不超過3成以內。   

 

以上說明

散散惹人愛 發文於   2017/05/13

確認Q1 的另一種形式  

假如要在今日 盤中發生 小於 前一天K實體部分的二分之一,觸發警示,應該如何撰寫

if GetField("收盤價","D") <(C-O) [1] * 0.5 then ret = 1; 寫這樣?

 

 

XQ小幫手 發文於   2017/05/15

Hi 散散惹人愛,

謝謝您的詳述,小幫手針對您的敘述座以下說明

 

確認Q1 的另一種形式  

假如要在今日 盤中發生 小於 前一天K實體部分的二分之一,觸發警示,應該如何撰寫

if GetField("收盤價","D") <(C-O) [1] * 0.5 then ret = 1; 寫這樣?

應改成以下程式碼範例,原因是盤中的收盤價為C,前一天K實體部分用日資料的收盤-開盤,最後再用序列資料來表現。

value1 = C-O;
if C < value1[1] * 0.5 then ret = 1;

 

主要是想作出如下的警示!

Q2:  當盤中 跌破前10日內的最低點,包含當日算入10日的最低點計算, 才想問說 這幾個函數的效果哪個較為接近。  

Q3: 假如警示觸發時, 須滿足觸發前60日當中的最低點起算,漲幅不超過3成以內。   

小幫手猜想,您的Q2、Q3應該是要寫在同一個警示腳本內,當這兩個條件皆達成時才觸發訊號,

故程式碼範例如下,第一行程式碼設定資料讀取範圍筆數70筆,有足夠的資料讀取筆數才能夠計算觸發前60日當中的最低點;第二行程式碼可以查看XS函數搜尋,搜尋關鍵字函數,有相關說明。

settotalbar(70);
if C cross below simplelowest(low,10)[1]
and RateOfChange(close,1) <= (C - simplelowest(low,60))/simplelowest(low,60)*100 then ret = 1;

 

以上,提供給您參考,謝謝。

散散惹人愛 發文於   2019/03/04

value1 = C-O; if C < value1[1] * 0.5 then ret = 1;

小於前一天紅二分之一,應該有相當的觸發訊號

經多次測試, 以兩年區間 917支個股回測 結果 如附圖。

請問小幫手 這段應以何種頻率, 以下為多次洗價測試及回測均無 警示觸發資訊:

XQ小幫手 發文於   2019/03/05

Hi 散散惹人愛,

value1 = C-O; if C < value1[1] * 0.5 then ret = 1;

小於前一天紅二分之一,應該有相當的觸發訊號

您好,您的語法與您的策略想法應該有落差,請用 Print 語法檢驗相關數值,確認是否有誤,例如:

value1 = C-O; 
if C < value1[1] * 0.5 then ret = 1;
print(date,C-O,value1,value1[1],C);

 

就可以發現 C - O 是一個很小很小的數值,而 C 相對來說是一個很大的數值,故判斷式不會成立,

以上說明,謝謝。

發表回覆
Close