XS學習地圖

By | 2016-03-03

如何學習透過XS提供的語法,撰寫指標,選股及交易策略,對於沒有學過程式設計的朋友,是比較困難的,"我是文組,我沒有邏輯",深深知道學習過程會踢到那些鐵板。所以根據大家學習的進程,試著把先前寫過的相關文章,分門別類地整理在這裡,希望可以協助跟我一樣唸文組的朋友,循序漸近,從不會到會,從會到精通地學會用XS來隨意撰寫交易策略。

基礎篇

要學任何一種程式語言,首先要先學會使用程式編輯器,就像我們用Word來寫文章,打報告,程式編輯器是用來設計程式的軟體,XS的程式編輯器就XScript編輯器,要如何使用,可以參考以下的連結影片

IDE操作說明影片

在學會使用語法編輯器之後,接下來就可以逐漸地學習XS語法,首先要學習的是XS語法跟一般程式語法間最大的不同: 取得財經相關數據的語法及時序的表達方式

首先是回傳值的概念,例如開高低收成交量的取得,請看以下兩個連結

回傳值的意義說明

時間的回傳格式

接下來要學習的是在XS語法上,如何描述前後根K棒的關係,以及建立敘述與腳本的觀念,請看以下的文章

xs語法的基本結構

在學會XS語法裡與一般語言如C及Python最大的差異之後,接下來我們回頭來學習每一種語言裡一定會有的幾個元素

一,運算子

運算子的種類

二,忽略字

忽略字

三,常數

常數

四,標點符號

標點符號

 

輸出語法

以上是一般語法也都會有的元素,學會使用這些基本元素之後,就可以寫出一些基本的交易語法或自訂的指標。

有了一般的語法知識,也知道如何使用開高低收成交量等回傳值之後,寫出了腳本,接下來就需要輸出的語法,讓我們可以照自己的意思畫指標,選股票, 或是請電腦在價量符合某個條件時請電腦通知我們,以下就是輸出語法的幾項類別及相關的說明

輸出的語法說明

策略雷達的教學影片

影音範例

retmsg的示範

print指定輸出檔名

在主圖上繪製進出場訊號

學到這裡,已經可以用簡單的語法來自訂指標,或是選股,或是讓寫一個盤中會把符合條件的標的即時通知您的策略雷達。

使用數據的相關語法

透過以上的幾篇文章,大致可以學會基本的XS語法,接下來要說明的是,XS如何使用變數,參數來強化撰寫量化語法的能力。

首先要說明的是變數的概念

變數

變數的說明

interbarpersist

這個語法是用來宣告在同一根bar裡,變數值的計算,不是直接計算最新值,而是把前一值當做前一根bar的值來運算最新值,這種宣告變數的方式,常被用來在逐筆洗價的腳本中,用來計算累計值之類的數值,以下就是這個語法的說明。

intrabarpersist

接下來要說明的是參數

參數

參數的意義與例子

學了參數及變數之後,接下來要介紹的是用GetField這個語法,來取得除了開高低收成交量之外的其他欄位

Getfield

xs這個語法跟其他程式交易平台最大的差別,就在於它有大量的台股專屬的欄位可以取用,這些欄位的取得,用的就是Getfield的語法。

getfield可以取得的欄位

產業數據的應用

籌碼相關的欄位

在使用getfield時,資料的更新時間,是大家最常問的問題,以下是更新時間的總整理

XS資料更新時間總整理

學會了GetField之後,另一個XS特有的語法是GetQuote,可以取得分時走勢圖裡的,提供的各種即時的欄位

Getquote

getquote可以取得的欄位

以下是一個用Getquote語法來撰寫盤中出現大單的寫法

大單的寫法

學會變數及參數的使用之後,有些常用的語法,如果每次都要很重覆寫,會很煩,所以XS提供使用者把一定程序的語法自訂成一個函數,未來要用這樣的運算,只要直接引用該函數即可,所以接下來要學的是函數的概念

 函數

函數的基本說明

學會了函數的概念之後,接下來要跟大家介紹XS的內建函數

內建函數

內建函數的全集合

常用的內建函數介紹

取整數

內建函數再多,也不見得符合使用者的需求,這時候就可以透過自訂函數的方式,來創造獨有的函數,用在各種語法的撰寫上。

以下的連結裡有自訂函數的基本流程介紹

自訂函數的基本流程

以週轉率為例,介紹自訂函數及其應用

預估量函數的寫法

自定函數裡最難以理解的問題是,要如何宣告正確的資料格式

資料格式宣告

下面是常用函數的應用例子

區間漲跌幅

除了英文函數之外,XS也支援了中文函數,以讓使用者可以用它來選股排行,以下是中文函數的介紹

中文函數

如何應用中文函數

學會如何使用中文函數之後,接下來就可以應用中文函數,在選股的時候,設定各種排行條件,以下的這篇文章,就是來介紹這個功能

如何創造個人排行榜

 

學會了變數,參數及函數的概念之後,基本的程式大約都難不倒您了,但目前我們在設定思考的流程時,一直都是用IF .. Then這樣平鋪直述的語法,但其實很多時候,情況並不單純,需要運用各種不同的流程控制方法,所以各種不同的程式語言,都支援了流程控制的相關語法,以讓使用者可以進行更複雜的語法撰寫,接下來我們就來學習XS裡的一些常用流程控制語法

 

流程控制

if… then

單一條件或多條件的寫法

魚骨圖的語法示範

多空策略的轉換

begin … end

多敘述的寫法

switch … case

switch的流程圖及範例

迴圈

當我們要重覆執行某些指令時,我們可以使用迴圈相關的語法,如果一開始就知道要執行多少次,用的是For這個語法,如果不知道要執行多少次,就用while這個語法,詳細的說明如下面的連結

迴圈

以上是基礎的XS語法介紹,在進入到更進階的語法介紹前,先來學習當寫錯時,要如何運用勘誤的功能來修正錯誤。

勘誤

選寫交易策略的SOP及常見錯誤

用outputfield與getfielddate來除錯

在寫出符合自己想法的腳本後,可以使用回測的功能來看看自己的腳本是不是一個具有實戰效果的腳本 ,如何使用回測的功能,請看下面的連結

回測

回測的基本功能介紹

回測時參數設定的說明

回測報告的內容說明

進階篇

在學會XS語法的基礎應用之後,接下來,跟大家介紹一些常用的進階語法,學會這些語法之後,有些原本寫不出來的,或是寫出來跟原來的意思不一致的,應該可以得到蠻大幅度的改善。首先跟大家介紹的,是在時序及時間上常被拿來使用的函數及語法。

時間與頻率的語法

時間與頻率的設定  透過這一篇文章可以學會BarFreq,Barinterval及CurrentTime的用法,用來指定程式運算的頻率及指定的時間。

時序常用內建函數

getbaroffset

這個語法是用來計算某一特定日期距離現在是多少根bar

getbaroffset的例子

getbaroffset例二

barslast

這個函數是用來計算上一次符合特定條件距離現在多少跟bar

它的說明如以下的

連結

CurrentBar

當使用者需要知道目前是算到第幾根bar時,可以使用CurrentBar這個函數,它的說明在以下的

連結

關於資料讀取範圍的設定及相關知識

資料讀取範圍的設定,是XS這種以K棒時序為計算基礎的語法裡,很容易因為沒有定義清楚,而容易出錯的部份,以下的這個連結,有清楚的說明了這部份的觀念

資料讀取範圍的設定 

常用的函數

邏輯函數

邏輯函數總整理

Trueall

Trueany

crossover

crossunder

countif

truecount 與 countifARow

summationIF

AverageIF

IFF

數學函數

數學函數總整理

Summation

Average

EMA

Xaverage

MaxList & MinList

平方與開根號

強弱勢股的寫法示範

統計函數

統計函數總整理

用線性迴歸來寫背離

布林通道

標準差的應用

R平方

技術分析函數

技術指標函數總整理

DMI

Q指標

KO克林格擺動指標

DKX多空線

型態相關函數

Angle

highest

highestbar

NthHighest

NthHighestBar

NthExtremes

SwingHigh

SwingHighBar

BarsLast

平台整理的寫法

M頭的寫法

平台整理後的突破與跌破

跨商品

跨商品與跨頻率語法的介紹

跨頻率

跨頻率的常用函數

跨頻率函數總整理

陣列

陣列的應用一

陣列的應用二

實戰篇

大盤分析

大盤分析可以使用的欄位

內外盤量

上漲下跌家數

漲跌停家數

大盤多空判斷標準

上漲下跌家數差RSI指標

MFO資金流震盪指標

上漲家數有沒有200檔

多空檢查表

大盤儀表板

OTC與上市成交量比值

上漲下跌家數

DBCD

大盤儀表板示範

大盤多空對策分數

例子一

例子二

大盤策略的函數化

打造自己的多空函數

選股中心

選股中心使用說明

打造私房選股策略

選股結果之OutputFiled語法應用

選股結果的輸出與驗證

outputfield的排序

自訂選股排行條件

創造個人的排行榜

自訂指標

自訂指標是一個學習語法的好方法,一方面演算的數據可以視覺化呈現,二方面可以透過前賢們發明過的指標,學習如何用語法演算有意義的數據,為了讓大家可以加快學習的速度,把儘量收集了坊間常見的各種技術指標,用XS語法來撰寫,然後以A~Z的順序,排列在下方,大家可以拿這些指標的寫法作為學習的範本。

自訂指標影音教學

設定指標參數影音教學

自訂指標轉換成交易策略

例一

技術指標A~Z

 

從股性出發的自訂指標

比大盤強的天數

真實波動區間

承接的力道

開盤委買委賣

法人買張佔成交量比例

資金流向

N日來有幾日漲幅較大

打造個股的儀表板

例一

個股儀表板演化的交易決策

例二

進場訊號放置位置的設定

月報酬率等績效圖的寫法

常用的語法介紹

背離的寫法

累計值的寫法

盤中有大單的寫法

從今天開盤起算的語法

反彈的寫法

程式交易的完整流程

撰寫交易策略的SOP

交易決策的四大步驟

一個交易策略的熟成

程式自動下單

模擬交易的規則說明

模擬交易的功能教學

下單的串接影音說明

平倉的設定UI

 

 

 

你可能會有興趣的文章

回應