簡單移動平均線(Simple Moving Average, SMA) in | Moving average Excel 公式

簡單移動平均線(Simple Moving Average, SMA) in_VBA Posted on 2011 ... 使用之前所提過的技巧,利用AVERAGE這個Excel函數,完成了5MA的製作。

... 的,但實際上儲存格的內容直接就是5MA的數值而非AVERAGE的公式。

自由手記跳到主文記錄區部落格全站分類:財經政論相簿部落格留言名片Apr24Fri201521:21簡單移動平均線(SimpleMovingAverage,SMA)in_VBA簡單移動平均線(SimpleMovingAverage,SMA) in_VBAPostedon 2011年11月04日by 歐映金融商品分析處簡單移動平均線(SimpleMovingAverage,SMA)in_VBA接下來,我們嘗試透過Excel內建的VBA,使用程式碼來完成相同的動作。

先不急著開始,在使用VBA前我們必須對Excel作一些初步的設定。

由於Excel提供了VBA這樣的程式介面,所以能夠利用程式碼達成自動化的目的,但這卻也同時提供了有心人士破壞你作業系統的機會。

所以,VBA的執行在Office的預設值是關閉的。

為了方便使用VBA的功能,首先我們必須將安全性設定更改為可執行巨集。

以OfficeExcel2010為例,其安全性設定路徑如下:檔案→選項→信任中心→信任中心設定,選擇:停用所有巨集(事先通知)以OfficeExcel2003為例,其安全性設定路徑如下:工具→選項→安全性→巨集安全性,選擇:中–您可以選擇是否執行具有潛在危險性的巨集設定完成,往後只要開啟任何具有【巨集】(VBA服務碼)的Excel檔案,都會詢問是否開啟巨集功能。

這樣有什麼好處呢?實際上,藉由後續的教學,將來遇到未知的Excel檔案時,便可以選擇不啟動巨集服務,而是在後台的VBA編輯器中,先看看這段服務程式碼是否會對作業系統造成傷害,最後再決定是否使用這段服務程式碼。

這都是為了保證作業系統資訊安全。

接著我們就可以開始看看如何使用VBA(或巨集)來完成相同的簡單移動平均線。

首先打開本章節附加的Excel範例檔,內容是加權指數從2000/01~2011/10/19的資料。

如下圖可以看到,在欄G裡,已經使用之前所提過的技巧,利用AVERAGE這個Excel函數,完成了5MA的製作。

接下來要說明的,就是兩種利用VBA服務碼完成相同目標的方法。

第一種是直接利用程式碼,在每個需要計算的空格內,填入我們需要的公式來計算數值。

第二種則是直接利用VB程式,運用變數計算出我們要的數值內容,最後再填入空格內。

首先示範第一種方法,在這個章節,我們不打算先講解程式,而是先練習執行一個服務程式碼(或巨集)。

●使用VBA自動產生資料空格中所需的的公式:第一步是呼叫巨集列表。

以OfficeExcel2010為例,執行巨集的路如下:檢視→巨集→檢視巨集(快速鍵為Alt+F8)以OfficeExcel2003為例,執行巨集的路如下:工具→巨集→巨集(快速鍵為Alt+F8)呼叫出巨集列表後,我們選擇第一個Sheet1.Calc5MA_byFill,點選【執行】後就可以看到執行結果如下圖。

請先忽略這個巨集的名稱,因為在這裡僅僅是展示如何利用程式碼完成與手動一樣的目的。

從下圖可以發現在欄H已經自動將H6以下的儲存格都填妥了AVERAGE的公式,就與欄G中手動輸入的結果一模一樣。

●使用VBA服務程式碼直接產生儲存格內的內容:先不要急著關掉Excel,這次一樣使用快速鍵Alt+F8叫出巨集列表後,執行第二支程式碼Sheet1.Calc5MA。

按下執行後,我們可以看到在欄I中多了些內容,看起來數值與欄G、H是一致的,但實際上儲存格的內容直接就是5MA的數值而非AVERAGE的公式。

以上簡單示範了兩種完成自動化的方法:一種是在儲存格中填入與手動輸入相同的公式,另一種則是直接運算出數值後,將運算結果填入儲存格中。

這兩種方法沒有好壞之分,使用的技巧也是相同的,在後續章節中,將示範如何將自己的分析方法透過程式進行快速而大量的模擬。

※本章節使用之範例檔下載:SMA-VBA-TX※本部落格所有內容均歡迎轉載,但煩請註明出處: https://allintechnology.wordpress.com全站熱搜創作者介紹戮克自由手記戮克發表在痞客邦留言(0)人氣


常見投資理財問答


延伸文章資訊