Hunta v3.6版新增功能(1)

此次針對「戰搜雷達」新增了多個方便且強大的函數,並且將「陣列」觀念運用於股票篩選上,此一創舉可以使得程式的編寫
不再被侷限於「點」上,進而擴展至「面」;簡單來說,以往編寫程通常只能依照最近幾個交易日的狀況來做判斷,但是引進
陣列觀念之後,你將可以直接針對最近250個交易日的資料進行分析比對,如此大大的增加程式編寫的張力,以往部份很難篩選
之條件,如今即可迎刃而解。

※何謂陣列?

簡單來說,陣列就是一連串的儲存空間,可用於存放數字。
在Hunta系統「戰搜雷達」中,每一個陣列皆設定為250個儲存空間,使用者可將諸如:成交量、收盤價、kd值、融券餘額...等資料
放入陣列中,則最後一天的資料就是放在第250個儲存位置,而第249個儲存位置則是儲存倒數第二天的資料,如此依此類推。

在「戰搜雷達」中預設了10個陣列代號供使用者自由運用,分別為A1{}、A2{}、A3{}...A10{},輸入方式可直接按A鍵,即會出現
選單供選擇。



※陣列函數介紹

紅色框起之部份即為此次新增之函數。

其中淺黃色之函數輸出值為一數值,而暗黃色之函數輸出值為陣列

例:
10 載入陣列[ 日_成交量 , 成交量 -> 陣列1 ] 
20 A2{} = 陣列排序( 陣列1 , 1 ~ 250 , 遞減 ) 
30 Va = 陣列2值( 1 ) 

行號10 將最近250日成交量放入A1陣列中
行號20 針對陣列A1進行遞減排序,並將結果放入陣列A2當中。
行號30 將陣列A2的第1個儲存值放入變數Va中。

本例題最終Va即為250日成交量之最大值。

以下逐一介紹相關之函數:

1.載入陣列

本函數用於將資料放入陣列中。

語法:

載入陣列[ 日_成交量 , 成交量 -> 陣列1 ]

本函數可指定資料種類及K線種類(日、週、月線、5、10、15、20、30、60、90、120分鐘線),並且指定輸出至陣列A1{}~A10{}中。


2 .陣列值

本函數可輸出陣列中某一位置的數值。

語法:

陣列1值 ( 250 )


3 .陣列排序

本函數可針對某一陣列進行遞增或遞減排序。

語法:

陣列排序( 陣列1 , 1 ~ 250 , 遞減 , 相對位置 -> 陣列2 )

若勾選「輸出相對位置至」,可將原本之陣列位置一起排序,並且輸出至指定陣列中。

例:
10 載入陣列[ 日_最高價 , 最高價 -> 陣列1 ] 
20 A2{} = 陣列排序( 陣列1 , 1 ~ 250 , 遞減 , 相對位置 -> 陣列3 ) 
30 Va = 陣列2值( 1 ) 
40 Vb = 陣列3值( 1 ) 
50 Vc = 前Vb_日_成交量 

本例題最終Va即為250日之最高價,而Vc為當時之成交量。


4 .陣列運算

本函數可針對某一陣列進行加減乘除運算。

語法:

陣列運算( 陣列1 , 1 ~ 250 , + , 1 )
陣列運算( 陣列1 , 1 ~ 250 , + , 陣列2 )

亦可進行兩陣列之運算處理。


10 載入陣列[ 日_均價( 10 ) , 均價 -> 陣列1 ] 
20 載入陣列[ 日_均價( 20 ) , 均價 -> 陣列2 ] 
30 A3{} = 陣列運算( 陣列1 , 1 ~ 250 , - , 陣列2 ) 

本例題是將「10日均價」陣列1減「20日均價」陣列2,結果輸出至陣列3。


5 .陣列區間加總

本函數可將陣列之某一區間進行加總。

語法:

陣列區間加總( 陣列1 , 1 ~ 250 )


10 載入陣列[ 日_成交量 , 成交量 -> 陣列1 ] 
20 A2{} = 陣列排序( 陣列1 , 201 ~ 250 , 遞減 ) 
30 Va = 陣列區間加總( 陣列2 , 1 ~ 5 ) 
40 Vb = Va / 5 

本例題是將最近50個交易日中「前5大成交量之平均」,結果輸出至Vb。


6 .陣列平移

本函數可將陣列向左或向右移動若干位置。

語法:

陣列平移( 陣列1 , 向右位移 1 , 空位補 0 )


10 載入陣列[ 日_融資餘額 , 融資餘額 -> 陣列1 ] 
20 載入陣列[ 日_融資餘額 , 融資餘額 -> 陣列2 ] 
30 A3{} = 陣列平移( 陣列2 , 向右位移 1 , 空位補 0 ) 
40 A4{} = 陣列運算( 陣列1 , 1 ~ 250 , - , 陣列3 ) 

本例題是用於計算每日融資差異量,結果輸出至A4。


7 .陣列位階

本函數可將陣列值轉換成為0~100之位階值。
位階之定義:將區間內之最大值定義為100,最小值定義為0,而其他數值則依比例計算
公式:       數值-最小值
    位階 = -------  X 100
         最大值-最小值

語法:

陣列位階( 陣列1 , 1 ~ 250 )


10 載入陣列[ 日_收盤價 , 收盤價 -> 陣列1 ] 
20 A2{} = 陣列位階( 陣列1 , 201 ~ 250 ) 
30 If 陣列2值( 250 ) >= 90 Then 
40 Print( 50天相對高檔 , 股票代號 ) 
50 End If  

本例題是用於計算目前股價相對於近50天,是否處於高檔(百分之九十以上)。


8 .陣列填值

本函數可將數值填入陣列之任一區段。

語法:

陣列填值( 陣列1 , 1 ~ 250 , 填入 0 )


9 .陣列交叉

本函數可偵測兩陣列是否發生交叉。

語法:

陣列交叉( 陣列1 , 陣列2 , 黃金=1 , 死亡=-1 , A>B=2 , A<B=-2 )


10 載入陣列[ 日_KD( 9 ) , K值 -> 陣列1 , D值 -> 陣列2 ] 
20 A3{} = 陣列交叉( 陣列1 , 陣列2 , 黃金=1 , 死亡=-1 , A>B=2 , A<B=-2 ) 
30 If 陣列3值( 250 ) = 1 Then 
40 Print( 發生黃金交叉 , 股票代號 ) 
50 End If 

本例題是用於偵測目前是否發生KD(9)黃金交叉。


10 .陣列背離

本函數可偵測兩陣列是否發生背離。

語法:

陣列背離( 陣列1 , 陣列2 , 限制間距=3 ~ 22 , 高檔=-1 , 低檔=1 , 未背離=0 )

限制間距用於指定偵測背離之區間,以上圖為例,代表只偵測背離發生在前3天至前22天內之背離。


10 載入陣列[ 日_最高價 , 最高價 -> 陣列1 ] 
20 載入陣列[ 日_MACD( 10 , 10 , 20 ) , DIF -> 陣列2 , Macd -> 不輸出 ] 
30 A3{} = 陣列背離( 陣列1 , 陣列2 , 限制間距=3 ~ 22 , 高檔=-1 , 低檔=1 , 未背離=0 ) 
40 If 陣列3值( 250 ) = -1 Then 
50 Print( 高檔背離 , 股票代號 ) 
60 End If 

本例題是用於偵測目前是否發生Macd(10,10,20)高檔背離。


11 .陣列高低點

本函數可用於偵測陣列波浪之高低點。

語法:

陣列高低點( 陣列1 , 1 ~ 250 , 級數=4 , 相對位置 -> 陣列2 )

高低點級數4,代表高點之決定方式是以該點之前後4個數值是否皆低於該點,則該點視為高點;
而低點之決定方式是以該點之前後4個數值是否皆高於該點,則該點視為低點。

而偵測結果資料輸出格式如下:

陣列位置1:前1波低點數值
陣列位置2:前2波低點數值
陣列位置3:前3波低點數值
........

陣列位置101:前1波高點數值
陣列位置102:前2波高點數值
陣列位置103:前3波高點數值
........


10 載入陣列[ 日_最低價 , 最低價 -> 陣列1 ] 
20 A2{} = 陣列高低點( 陣列1 , 1 ~ 250 , 級數=4 , 相對位置 -> 陣列3 ) 
30 If 陣列2值( 1 ) > 陣列2值( 2 ) Then 
40 Print( 一底比一底高 , 股票代號 ) 
50 End If 

本例題是用於偵測前1波低點是否高於前2波低點。


12.支撐壓力線

本函數可偵測K線之支撐壓力線價位。

語法:

支撐壓力線( 日線 , 短中長 )

而偵測結果資料輸出格式如下:

陣列位置1:最接近之支撐價位
陣列位置2:次接近之支撐價位
陣列位置3:第3接近之支撐價位
........

陣列位置101:最接近之壓力價位
陣列位置102:次接近之壓力價位
陣列位置103:第3接近之壓力價位
........


10 A1{} = 支撐壓力線( 日線 , 中長 ) 
20 If 陣列1值( 101 ) - 收盤價 < 1 Then 
30 Print( 距離上方壓力線少於1元 , 股票代號 ) 
40 End If
 

本例題是用於偵測目前股價距離上方中長期壓力線少於1元之股票。


13..盤整區塊

本函數可記錄K線產生之盤整區塊。

語法:

盤整區塊( 距離 <= 40 , 寬度 >= 12 )

上圖代表記錄最近40根K線所產生「寬度大於12根K線」之盤整區塊。

而偵測結果資料輸出格式如下:

陣列位置1:最接近之盤整區塊距離
陣列位置2:最接近之盤整區塊寬度
陣列位置3:最接近之盤整區塊上價位
陣列位置4:最接近之盤整區塊下價位
陣列位置5:次接近之盤整區塊距離
陣列位置6:次接近之盤整區塊寬度
陣列位置7:次接近之盤整區塊上價位
陣列位置8:次接近之盤整區塊下價位
陣列位置9:第3接近之盤整區塊距離
陣列位置10:第3接近之盤整區塊寬度
陣列位置11:第3接近之盤整區塊上價位
陣列位置12:第3接近之盤整區塊下價位
........


10 A1{} = 盤整區塊( 距離 <= 50 , 寬度 >= 20 ) 
20 If 陣列1值( 1 ) <= 3 And 陣列1值( 2 ) >= 20 Then 
30 Show 
40 End If 

本例題是用於找出距離3根K線以內,並產生寬度大於20根K線之個股。