版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.DragonSoft Information Technology Co. Ltd.:.;DTS2.0 戰(zhàn)略編程言語 用戶編程手冊(cè)Author : DTS研發(fā)部門 Version2.08DTS2.0 Version: 2.0.8戰(zhàn)略編程言語 Last Updated: 2021/09/19用戶編程手冊(cè)Confidential上海龍軟信息技術(shù), 2006-2021 PAGE viRevision HistoryDateVersionDescriptionAuthorApprover2021/11/192.00Initial version.Aaron.Peng2021/3/162.0.1添加3
2、.3.3.3.5 內(nèi)部修正命令3.5.2.2 注冊(cè)要收聽的價(jià)錢3.5.2.5 查找價(jià)錢更新3.5.4.2 _OnEventOrderResponse回 調(diào)Jack.shiPeter.cao2021/4/22.0.2更新3.5.3.3_OnEventPosition回調(diào)Jack.shiPeter.cao2021/5/272.0.3更新2.1.3的3.API接口關(guān)鍵字2.3.1.1 nil類型和邏輯判別,針對(duì)于指針變量作了闡明添加3.3.3.2.3 DTSMicroTime3.3.3.3.4 發(fā)送Order下單、撤單命令,添加了單個(gè)Order下單的闡明更新3.3.3.3.5內(nèi)部修正命令更新3.5.
3、2.5查找價(jià)錢更新3.5.4.2 _OnEventOrderResponse回調(diào)更新3.5.5.1 DTSMessageRecordAccess類型3.6系統(tǒng)工具函數(shù),添加3.6.53.6.10部分xuebin.liPeter.cao2021/6/202.0.4添加批量撤單接口3.3.3.3.3,3.3.3.3.6Yousong.ZhangPeter.cao2021/6/302.0.5添加matlab的接口闡明3.7,添加簡(jiǎn)單加密的闡明3.6.9,3.6.10。Jack.shiPeter.cao2021/8/102.0.6添加市場(chǎng)逐筆行情信息 3.5.36.1修正ClosePriceInput
4、Flag的闡明添加DTSQUEUEPRICE FIELD一覽 6.2Lin.gongJack.shi2021/9/152.0.7添加2.3.1.2 sys_find的闡明更新3.7的matlab圖只顯示半個(gè)6.1添加ETFIOPV闡明,修正VWAPEVEPrice闡明更新6.3DTSNewOrderAccess field 一覽更新6.4DTSCancelOrderAccess field 一覽xiang.shuJack.shi2021/9/192.0.8添加PriceCondition的闡明Jack.shi目錄 TOC o 1-5 h z u HYPERLINK l _Toc30421887
5、8 Revision History PAGEREF _Toc304218878 h ii HYPERLINK l _Toc304218879 1.DTS戰(zhàn)略編程言語簡(jiǎn)介 PAGEREF _Toc304218879 h 1 HYPERLINK l _Toc304218880 1.1DTS戰(zhàn)略編程平臺(tái)及其原理 PAGEREF _Toc304218880 h 1 HYPERLINK l _Toc304218881 1.2戰(zhàn)略在系統(tǒng)平臺(tái)上的生命周期和運(yùn)轉(zhuǎn)過程 PAGEREF _Toc304218881 h 2 HYPERLINK l _Toc304218882 1.2.1戰(zhàn)略生命周期 PAGEREF
6、 _Toc304218882 h 2 HYPERLINK l _Toc304218883 1.2.2系統(tǒng)通訊和Event PAGEREF _Toc304218883 h 3 HYPERLINK l _Toc304218884 1.2.2.1事件定義 PAGEREF _Toc304218884 h 3 HYPERLINK l _Toc304218885 1.2.2.2輸入輸出事件 PAGEREF _Toc304218885 h 3 HYPERLINK l _Toc304218886 1.2.2.3Buffer flag PAGEREF _Toc304218886 h 3 HYPERLINK l
7、_Toc304218887 1.2.2.4事件回調(diào) PAGEREF _Toc304218887 h 3 HYPERLINK l _Toc304218888 1.2.3戰(zhàn)略參數(shù)和參數(shù)變化回調(diào) PAGEREF _Toc304218888 h 4 HYPERLINK l _Toc304218889 1.2.4運(yùn)轉(zhuǎn)戰(zhàn)略 PAGEREF _Toc304218889 h 4 HYPERLINK l _Toc304218890 2.DTS Script編程根底 PAGEREF _Toc304218890 h 7 HYPERLINK l _Toc304218891 2.1DTS Script根本語法格式 PA
8、GEREF _Toc304218891 h 7 HYPERLINK l _Toc304218892 2.1.1言語字符要求 PAGEREF _Toc304218892 h 7 HYPERLINK l _Toc304218893 2.1.2程序注釋 PAGEREF _Toc304218893 h 7 HYPERLINK l _Toc304218894 2.1.3關(guān)鍵字 PAGEREF _Toc304218894 h 8 HYPERLINK l _Toc304218895 2.1.4特殊字符的表示 PAGEREF _Toc304218895 h 11 HYPERLINK l _Toc3042188
9、96 2.2變量及變量的作用域 PAGEREF _Toc304218896 h 11 HYPERLINK l _Toc304218897 2.2.1全局變量及其作用域 PAGEREF _Toc304218897 h 11 HYPERLINK l _Toc304218898 2.2.2部分變量local及其作用域 PAGEREF _Toc304218898 h 12 HYPERLINK l _Toc304218899 2.2.3同名的全局變量和部分變量的作用原那么 PAGEREF _Toc304218899 h 12 HYPERLINK l _Toc304218900 2.3類型 PAGEREF
10、 _Toc304218900 h 12 HYPERLINK l _Toc304218901 2.3.1變量?jī)?nèi)部的類型 PAGEREF _Toc304218901 h 12 HYPERLINK l _Toc304218902 2.3.1.1nil類型和邏輯判別 PAGEREF _Toc304218902 h 12 HYPERLINK l _Toc304218903 2.3.1.2string類型及針對(duì)string的操作 PAGEREF _Toc304218903 h 12 HYPERLINK l _Toc304218904 2.3.1.3數(shù)值類型及內(nèi)建的數(shù)值計(jì)算函數(shù) PAGEREF _Toc30
11、4218904 h 14 HYPERLINK l _Toc304218905 2.3.1.4table類型 PAGEREF _Toc304218905 h 15 HYPERLINK l _Toc304218906 2.3.2支持的各類型間的自動(dòng)轉(zhuǎn)換 PAGEREF _Toc304218906 h 15 HYPERLINK l _Toc304218907 2.3.3顯式轉(zhuǎn)換類型 PAGEREF _Toc304218907 h 15 HYPERLINK l _Toc304218908 2.3.4類型轉(zhuǎn)換時(shí)的本卷須知 PAGEREF _Toc304218908 h 16 HYPERLINK l _T
12、oc304218909 2.3.5sys_format函數(shù) PAGEREF _Toc304218909 h 16 HYPERLINK l _Toc304218910 2.4函數(shù) PAGEREF _Toc304218910 h 18 HYPERLINK l _Toc304218911 2.4.1函數(shù)定義 PAGEREF _Toc304218911 h 18 HYPERLINK l _Toc304218912 2.4.2函數(shù)調(diào)用 PAGEREF _Toc304218912 h 19 HYPERLINK l _Toc304218913 2.4.3對(duì)函數(shù)的限制 PAGEREF _Toc30421891
13、3 h 19 HYPERLINK l _Toc304218914 2.4.4pcall 函數(shù)調(diào)用 PAGEREF _Toc304218914 h 19 HYPERLINK l _Toc304218915 2.5運(yùn)算符 PAGEREF _Toc304218915 h 20 HYPERLINK l _Toc304218916 2.5.1邏輯運(yùn)算符 PAGEREF _Toc304218916 h 20 HYPERLINK l _Toc304218917 2.5.2算術(shù)運(yùn)算符 PAGEREF _Toc304218917 h 20 HYPERLINK l _Toc304218918 2.5.3字符串銜接
14、運(yùn)算 PAGEREF _Toc304218918 h 20 HYPERLINK l _Toc304218919 2.5.4賦值運(yùn)算符 PAGEREF _Toc304218919 h 20 HYPERLINK l _Toc304218920 2.5.5比較運(yùn)算符 PAGEREF _Toc304218920 h 21 HYPERLINK l _Toc304218921 2.5.6元運(yùn)算符 PAGEREF _Toc304218921 h 21 HYPERLINK l _Toc304218922 2.5.7運(yùn)算符優(yōu)先級(jí) PAGEREF _Toc304218922 h 21 HYPERLINK l _T
15、oc304218923 2.6程序控制流程 PAGEREF _Toc304218923 h 21 HYPERLINK l _Toc304218924 2.6.1順序構(gòu)造 PAGEREF _Toc304218924 h 21 HYPERLINK l _Toc304218925 2.6.2If條件語句 PAGEREF _Toc304218925 h 21 HYPERLINK l _Toc304218926 2.6.3do 塊 PAGEREF _Toc304218926 h 22 HYPERLINK l _Toc304218927 2.6.4while循環(huán)語句 PAGEREF _Toc3042189
16、27 h 22 HYPERLINK l _Toc304218928 2.6.5repeat循環(huán)語句 PAGEREF _Toc304218928 h 22 HYPERLINK l _Toc304218929 2.6.6普通for循環(huán)語句 PAGEREF _Toc304218929 h 22 HYPERLINK l _Toc304218930 2.6.7用于遍歷表的for循環(huán)語句generic for PAGEREF _Toc304218930 h 23 HYPERLINK l _Toc304218931 2.6.8return和break語句 PAGEREF _Toc304218931 h 23
17、 HYPERLINK l _Toc304218932 2.7根本容器table PAGEREF _Toc304218932 h 24 HYPERLINK l _Toc304218933 2.7.1table的根本概念 PAGEREF _Toc304218933 h 24 HYPERLINK l _Toc304218934 2.7.2創(chuàng)建和初始化一個(gè)table PAGEREF _Toc304218934 h 24 HYPERLINK l _Toc304218935 2.7.3table下標(biāo)的運(yùn)用 PAGEREF _Toc304218935 h 24 HYPERLINK l _Toc3042189
18、36 2.7.4table的“.運(yùn)算符 PAGEREF _Toc304218936 h 25 HYPERLINK l _Toc304218937 2.7.5順序存儲(chǔ)元素和按key索引元素 PAGEREF _Toc304218937 h 25 HYPERLINK l _Toc304218938 2.7.6table的insert操作 PAGEREF _Toc304218938 h 25 HYPERLINK l _Toc304218939 2.7.7table的長(zhǎng)度 PAGEREF _Toc304218939 h 25 HYPERLINK l _Toc304218940 2.7.8table的遍歷
19、 PAGEREF _Toc304218940 h 26 HYPERLINK l _Toc304218941 2.7.8.1全遍歷pairs PAGEREF _Toc304218941 h 26 HYPERLINK l _Toc304218942 2.7.8.2自然數(shù)序遍歷ipairs PAGEREF _Toc304218942 h 26 HYPERLINK l _Toc304218943 2.7.9table的sort算法僅對(duì)自然數(shù)序table有效 PAGEREF _Toc304218943 h 26 HYPERLINK l _Toc304218944 2.8參考Lua的根本語法 PAGERE
20、F _Toc304218944 h 27 HYPERLINK l _Toc304218945 2.8.1參考部分Lua的語法和Lua的參考資料 PAGEREF _Toc304218945 h 27 HYPERLINK l _Toc304218946 2.8.2與Lua的重要不同 PAGEREF _Toc304218946 h 27 HYPERLINK l _Toc304218947 3.DTS API PAGEREF _Toc304218947 h 27 HYPERLINK l _Toc304218948 3.1DTS API簡(jiǎn)介 PAGEREF _Toc304218948 h 27 HYPE
21、RLINK l _Toc304218949 3.2事件處置 PAGEREF _Toc304218949 h 27 HYPERLINK l _Toc304218950 3.2.1詳細(xì)的事件定義和事件屬性設(shè)置 PAGEREF _Toc304218950 h 27 HYPERLINK l _Toc304218951 3.2.2事件注冊(cè)Client PAGEREF _Toc304218951 h 28 HYPERLINK l _Toc304218952 3.2.3事件回調(diào)詳解 PAGEREF _Toc304218952 h 29 HYPERLINK l _Toc304218953 3.2.4戰(zhàn)略參數(shù)事
22、件及其回調(diào) PAGEREF _Toc304218953 h 29 HYPERLINK l _Toc304218954 3.2.5事件內(nèi)容設(shè)置和發(fā)送事件 PAGEREF _Toc304218954 h 30 HYPERLINK l _Toc304218955 3.2.6事件存盤和讀取保管事件DynamicData PAGEREF _Toc304218955 h 30 HYPERLINK l _Toc304218956 3.3DTS API 變量類型 PAGEREF _Toc304218956 h 31 HYPERLINK l _Toc304218957 3.3.1用戶定義的事件類型 PAGERE
23、F _Toc304218957 h 31 HYPERLINK l _Toc304218958 3.3.2戰(zhàn)略參數(shù)類型DTSParameter PAGEREF _Toc304218958 h 32 HYPERLINK l _Toc304218959 3.3.3DTS系統(tǒng)類型 PAGEREF _Toc304218959 h 32 HYPERLINK l _Toc304218960 3.3.3.1用于和普通Script邏輯交換信息的內(nèi)部類型 PAGEREF _Toc304218960 h 32 HYPERLINK l _Toc304218961 3.3.3.2時(shí)間類型 PAGEREF _Toc304
24、218961 h 32 HYPERLINK l _Toc304218962 3.3.3.2.1DTSDate PAGEREF _Toc304218962 h 32 HYPERLINK l _Toc304218963 3.3.3.2.2DTSTime PAGEREF _Toc304218963 h 32 HYPERLINK l _Toc304218964 3.3.3.2.3DTSMicroTime PAGEREF _Toc304218964 h 33 HYPERLINK l _Toc304218965 3.3.3.3用于下單和撤單的類型 PAGEREF _Toc304218965 h 33 HY
25、PERLINK l _Toc304218966 3.3.3.3.1DTSNewOrderAccess PAGEREF _Toc304218966 h 33 HYPERLINK l _Toc304218967 3.3.3.3.2DTSCancelOrderAccess PAGEREF _Toc304218967 h 33 HYPERLINK l _Toc304218968 3.3.3.3.3DTSBasket容器 PAGEREF _Toc304218968 h 33 HYPERLINK l _Toc304218969 3.3.3.3.4發(fā)送Order下單、撤單命令 PAGEREF _Toc304
26、218969 h 34 HYPERLINK l _Toc304218970 3.3.3.3.5內(nèi)部修正命令 PAGEREF _Toc304218970 h 35 HYPERLINK l _Toc304218971 3.3.3.3.6批量撤單接口 PAGEREF _Toc304218971 h 39 HYPERLINK l _Toc304218972 3.3.4其他系統(tǒng)類型 PAGEREF _Toc304218972 h 39 HYPERLINK l _Toc304218973 3.4存取數(shù)據(jù)庫(kù)信息StaticData PAGEREF _Toc304218973 h 39 HYPERLINK l
27、 _Toc304218974 3.4.1從數(shù)據(jù)庫(kù)取數(shù)據(jù)_GetCommonData PAGEREF _Toc304218974 h 40 HYPERLINK l _Toc304218975 3.4.2更新數(shù)據(jù)_UpdateCommonData PAGEREF _Toc304218975 h 40 HYPERLINK l _Toc304218976 3.5固化系統(tǒng)回調(diào)事件 PAGEREF _Toc304218976 h 41 HYPERLINK l _Toc304218977 3.5.1Timer PAGEREF _Toc304218977 h 41 HYPERLINK l _Toc304218
28、978 3.5.1.1啟動(dòng)/停頓一個(gè)Timer PAGEREF _Toc304218978 h 41 HYPERLINK l _Toc304218979 3.5.1.2_OnEventTimer回調(diào) PAGEREF _Toc304218979 h 41 HYPERLINK l _Toc304218980 3.5.2收聽市場(chǎng)價(jià)錢 PAGEREF _Toc304218980 h 41 HYPERLINK l _Toc304218981 3.5.2.1DTSPrice類型 PAGEREF _Toc304218981 h 41 HYPERLINK l _Toc304218982 3.5.2.2注冊(cè)要收
29、聽的Price PAGEREF _Toc304218982 h 41 HYPERLINK l _Toc304218983 3.5.2.3_OnEventPrice回調(diào) PAGEREF _Toc304218983 h 42 HYPERLINK l _Toc304218984 3.5.2.4停頓收聽價(jià)錢 PAGEREF _Toc304218984 h 42 HYPERLINK l _Toc304218985 3.5.2.5查找價(jià)錢 PAGEREF _Toc304218985 h 42 HYPERLINK l _Toc304218986 3.5.3收聽市場(chǎng)逐筆行情價(jià)錢 PAGEREF _Toc304
30、218986 h 43 HYPERLINK l _Toc304218987 3.5.3.1DTSQueuePrice類型 PAGEREF _Toc304218987 h 43 HYPERLINK l _Toc304218988 3.5.3.2注冊(cè)要收聽的Price PAGEREF _Toc304218988 h 46 HYPERLINK l _Toc304218989 3.5.3.3_OnEventQueuePrice回調(diào) PAGEREF _Toc304218989 h 46 HYPERLINK l _Toc304218990 3.5.3.4停頓收聽分筆行情價(jià)錢 PAGEREF _Toc304
31、218990 h 46 HYPERLINK l _Toc304218991 3.5.3.5查找分筆行情價(jià)錢 PAGEREF _Toc304218991 h 47 HYPERLINK l _Toc304218992 3.5.4監(jiān)視倉(cāng)位變化 PAGEREF _Toc304218992 h 47 HYPERLINK l _Toc304218993 3.5.4.1DTSPosition類型 PAGEREF _Toc304218993 h 47 HYPERLINK l _Toc304218994 3.5.4.2注冊(cè)要監(jiān)聽的Position PAGEREF _Toc304218994 h 47 HYPER
32、LINK l _Toc304218995 3.5.4.3_OnEventPosition回調(diào) PAGEREF _Toc304218995 h 48 HYPERLINK l _Toc304218996 3.5.4.4停頓收聽Position PAGEREF _Toc304218996 h 48 HYPERLINK l _Toc304218997 3.5.5監(jiān)聽下單回復(fù) PAGEREF _Toc304218997 h 48 HYPERLINK l _Toc304218998 3.5.5.1DTSExecution類型 PAGEREF _Toc304218998 h 48 HYPERLINK l _
33、Toc304218999 3.5.5.2_OnEventOrderResponse回調(diào) PAGEREF _Toc304218999 h 49 HYPERLINK l _Toc304219000 3.5.6監(jiān)聽成交信息 PAGEREF _Toc304219000 h 50 HYPERLINK l _Toc304219001 3.5.6.1DTSMessageRecordAccess類型 PAGEREF _Toc304219001 h 50 HYPERLINK l _Toc304219002 3.5.6.2選擇需求監(jiān)聽的成交信息 PAGEREF _Toc304219002 h 50 HYPERLI
34、NK l _Toc304219003 3.5.6.3_OnEventExecution回調(diào) PAGEREF _Toc304219003 h 50 HYPERLINK l _Toc304219004 3.6系統(tǒng)工具函數(shù) PAGEREF _Toc304219004 h 51 HYPERLINK l _Toc304219005 3.6.1獲得戰(zhàn)略信息 PAGEREF _Toc304219005 h 51 HYPERLINK l _Toc304219006 3.6.2獲得運(yùn)轉(zhuǎn)信息 PAGEREF _Toc304219006 h 51 HYPERLINK l _Toc304219007 3.6.3獲得用
35、戶信息 PAGEREF _Toc304219007 h 51 HYPERLINK l _Toc304219008 3.6.4獲得環(huán)境信息 PAGEREF _Toc304219008 h 51 HYPERLINK l _Toc304219009 3.6.5獲得錯(cuò)誤詳細(xì)描畫 PAGEREF _Toc304219009 h 51 HYPERLINK l _Toc304219010 3.6.6獲得下單形狀 PAGEREF _Toc304219010 h 51 HYPERLINK l _Toc304219011 3.6.7獲得第一條買賣流水信息 PAGEREF _Toc304219011 h 51 HY
36、PERLINK l _Toc304219012 3.6.8生成全局獨(dú)一序列號(hào) PAGEREF _Toc304219012 h 51 HYPERLINK l _Toc304219013 3.6.9字符串加密 PAGEREF _Toc304219013 h 51 HYPERLINK l _Toc304219014 3.6.10字符串解密 PAGEREF _Toc304219014 h 51 HYPERLINK l _Toc304219015 3.6.11停頓效力 PAGEREF _Toc304219015 h 52 HYPERLINK l _Toc304219016 3.6.12寫log的函數(shù) P
37、AGEREF _Toc304219016 h 52 HYPERLINK l _Toc304219017 3.7MATLAB支持 PAGEREF _Toc304219017 h 52 HYPERLINK l _Toc304219018 3.7.1啟動(dòng)MATLAB engine PAGEREF _Toc304219018 h 52 HYPERLINK l _Toc304219019 3.7.2判別MATLAB engine能否啟動(dòng) PAGEREF _Toc304219019 h 52 HYPERLINK l _Toc304219020 3.7.3設(shè)置MATLAB變量 PAGEREF _Toc304
38、219020 h 53 HYPERLINK l _Toc304219021 3.7.4獲取MATLAB變量 PAGEREF _Toc304219021 h 53 HYPERLINK l _Toc304219022 3.8一個(gè)完好的例子 PAGEREF _Toc304219022 h 53 HYPERLINK l _Toc304219023 4.完好的語法規(guī)那么 PAGEREF _Toc304219023 h 55 HYPERLINK l _Toc304219024 5.LuaEditor PAGEREF _Toc304219024 h 55 HYPERLINK l _Toc304219025
39、5.1DTS Lua Editor簡(jiǎn)介 PAGEREF _Toc304219025 h 55 HYPERLINK l _Toc304219026 5.2LuaEditor功能引見 PAGEREF _Toc304219026 h 57 HYPERLINK l _Toc304219027 5.2.1添加一個(gè)新戰(zhàn)略 PAGEREF _Toc304219027 h 57 HYPERLINK l _Toc304219028 5.2.2語法檢查 PAGEREF _Toc304219028 h 59 HYPERLINK l _Toc304219029 5.2.3提交 PAGEREF _Toc30421902
40、9 h 59 HYPERLINK l _Toc304219030 5.2.4發(fā)布 PAGEREF _Toc304219030 h 60 HYPERLINK l _Toc304219031 5.2.5戰(zhàn)略管理 PAGEREF _Toc304219031 h 61 HYPERLINK l _Toc304219032 5.3LuaEditor運(yùn)用技巧 PAGEREF _Toc304219032 h 62 HYPERLINK l _Toc304219033 5.3.1LuaEditor對(duì)DTSScript語法關(guān)鍵字和符號(hào)能本人編輯顏色 PAGEREF _Toc304219033 h 62 HYPERL
41、INK l _Toc304219034 5.3.2語法錯(cuò)誤的提示 PAGEREF _Toc304219034 h 62 HYPERLINK l _Toc304219035 6.附錄 PAGEREF _Toc304219035 h 63 HYPERLINK l _Toc304219036 6.1DTSPrice field一覽 PAGEREF _Toc304219036 h 63 HYPERLINK l _Toc304219037 6.2DTSQueuePrice field一覽 PAGEREF _Toc304219037 h 65 HYPERLINK l _Toc304219038 6.3DT
42、SNewOrderAccess field 一覽 PAGEREF _Toc304219038 h 65 HYPERLINK l _Toc304219039 6.4DTSCancelOrderAccess field 一覽 PAGEREF _Toc304219039 h 67 HYPERLINK l _Toc304219040 6.5參考資料 PAGEREF _Toc304219040 h 68Confidential上海龍軟信息技術(shù), 2006-2007 PAGE 70DTS戰(zhàn)略編程言語簡(jiǎn)介DTS系統(tǒng)戰(zhàn)略編程言語是針對(duì)DTS程式化套利系統(tǒng)編寫套利戰(zhàn)略的戰(zhàn)略編程言語, 提供靈敏的,具有普通性的編
43、程言語接口, 可以為DTS系統(tǒng)編寫高效的戰(zhàn)略效力程序。DTS戰(zhàn)略編程言語綜合了Lua和基于C+的DTS系統(tǒng)API接口, 最終將腳本翻譯成C+效力器程序編譯執(zhí)行, 具有靈敏高效的特點(diǎn)。DTS戰(zhàn)略編程言語由根本DTSScript和DTS系統(tǒng)API 兩部分組成, DTSScript提供了根本用戶編程邏輯的編寫接口, DTSAPI提供了Server編程框架和用戶戰(zhàn)略邏輯對(duì)DTS后臺(tái)系統(tǒng)數(shù)據(jù)的訪問和運(yùn)用接口。本手冊(cè)討論這種言語的根本組成,語法特點(diǎn)和詳細(xì)運(yùn)用方法, 同時(shí)引見DTS客戶端系統(tǒng)附帶的LuaEditor的根本功能和運(yùn)用技巧。DTS戰(zhàn)略編程平臺(tái)及其原理DTS戰(zhàn)略編程平臺(tái)主要由 DTSClient
44、下帶的 DTS Script EditorLua Editor為客戶端, 配合Strategy Control Server SCS為效力器端組成。用戶編寫的戰(zhàn)略經(jīng)過Client端 自帶的Event打包解包庫(kù)EventCommunicator,打包成事件Event發(fā)送給SCS, 由SCS內(nèi)的Script TranslatorL2C翻譯成C+源代碼后由GNU編譯成戰(zhàn)略效力器程序SS。啟動(dòng)時(shí), 由客戶端發(fā)送啟動(dòng)Event給SCS控制啟動(dòng)SS, 并告知客戶端SS端口及ip地址, 由客戶端直接Socket鏈接SS獲取戰(zhàn)略效力; 停頓時(shí), 也由客戶端發(fā)送停頓Event給SCS控制終了SS效力。由于SS是
45、直接編譯運(yùn)轉(zhuǎn)的, 所以擁有效率高的特點(diǎn); 同時(shí)每個(gè)客戶有本人的戰(zhàn)略效力器, 故每個(gè)效力器程序負(fù)載不會(huì)很重, 所以又有穩(wěn)定,快速的優(yōu)點(diǎn)。戰(zhàn)略在系統(tǒng)平臺(tái)上的生命周期和運(yùn)轉(zhuǎn)過程戰(zhàn)略生命周期要完好地編寫一個(gè)能用的戰(zhàn)略效力器, 需求以下幾個(gè)步驟:1. 在Script Editor中編寫完好的戰(zhàn)略腳本。2. 語法檢查經(jīng)過。3. 提交SVN經(jīng)過SCS勝利。4. 發(fā)布勝利編譯勝利。當(dāng)戰(zhàn)略被發(fā)布勝利后, 用戶可以在本人的戰(zhàn)略管理界面上看到相應(yīng)的戰(zhàn)略;用戶可以選擇加載需求的戰(zhàn)略版本,并且運(yùn)轉(zhuǎn)此戰(zhàn)略;戰(zhàn)略一旦運(yùn)轉(zhuǎn), 就開場(chǎng)提供既定的效力直到用戶停頓此戰(zhàn)略。戰(zhàn)略的生命周期:系統(tǒng)通訊和EventDTS系統(tǒng)內(nèi)部各個(gè)組成部
46、件間的通訊都是建立在事件Event處置上的,SCS,Client及SS之間信息的互換都是經(jīng)過Event來完成的。一切的Event都是一致格式存放的, 由包含在Client和Server端程序中的EventCommunicatorLib進(jìn)展編碼/解碼。我們可以把Event看作是可以自定義字段的Message。事件定義一切用戶事件都是可以在腳本中定義的。以下例程定義了一個(gè)最簡(jiǎn)單的事件,_DefineEventObject TestEvent _AS _Output_DefFld(TestField,_String ,12);_End這個(gè)Event被定義為包含一個(gè)名叫“TestField的字段, 字
47、段類型為String類型, 長(zhǎng)度為12。事件定義和處置被做為一種DTSAPI的特性將在第3章 節(jié)中詳細(xì)引見。輸入輸出事件做為戰(zhàn)略編程言語, DTSScript寫好的腳本最終會(huì)被編譯成戰(zhàn)略效力器程序SS;相對(duì)SS來說是輸入的Event被以為是輸入事件, 例如Client向SS傳送的參數(shù)可以被以為是一個(gè)In事件;相反的, SS發(fā)送出去的事件被以為是Out事件, 如上面的例程就是定義了一個(gè)Out事件, 填寫完好這個(gè)TestEvent后, SS可以創(chuàng)建一個(gè)Out事件的實(shí)例并且經(jīng)過API將這個(gè)實(shí)例發(fā)送給一切監(jiān)聽這個(gè)事件的客戶端能夠是DTSClient端或者另外一個(gè)SS。Buffer flag由于系統(tǒng)中一
48、切的通訊都被以為是事件處置, 也就是說一切的Server,Client和Server之間都是基于一方發(fā)送Out事件,一方接納事件并觸發(fā)回調(diào)來到達(dá)交換信息的目的, 這樣,為了可以使不同時(shí)間銜接上來的客戶端可以收到完好的Event流, Event被設(shè)計(jì)成帶有一個(gè)Buffer標(biāo)志, Buffer Flag一共有3種值, 0代表沒有Buffer, 即后來銜接上來的Client不會(huì)接納到銜接上來之前Server曾經(jīng)發(fā)送過的Event;1代表list類型的Buffer, 即后來銜接上來的Client可以收到符合條件的自Server啟動(dòng)以來發(fā)送過的一切這種類型的Event, 并且是按事件順序陳列的;2代表m
49、ap類型的Event, 即后來銜接上來的Client可以收到一切以某個(gè)字段為Key的Server曾經(jīng)發(fā)送過的Event, 反復(fù)Key的Event只保管最新的一個(gè)。有了這2種buffer, 像諸如HDSHistorical Data Sever這種需求保管歷史數(shù)據(jù)的效力器也可以用戰(zhàn)略來描畫了。事件回調(diào)對(duì)于接納別的Server或Client發(fā)送的事件一方的Server或Client, 只需求知道接納的是哪里的什么Event就可以了:_RegisterEventObject(PortfolioID=P2007091319484800001, StrageyID=2007091319484800001
50、,EventID=TbtPEvent,condition=IssueCode#issueCode1,issueCode2,issueCode3)運(yùn)用_RegisterEventObject命令可以注冊(cè)與什么戰(zhàn)略效力器銜接, 并獲得什么Event。當(dāng)銜接建立后, 每當(dāng)那個(gè)戰(zhàn)略效力器向外發(fā)送既定的Event, 接納方就會(huì)收到一條Event的回調(diào):_OnEventDefined(TbtPEvent evt) -用戶邏輯_End 收到Event回調(diào)后, 接納方就經(jīng)過_OnEventDefined接口回調(diào)函數(shù)執(zhí)行既定的用戶邏輯。戰(zhàn)略參數(shù)和參數(shù)變化回調(diào)在DTS2.0系統(tǒng)中, 一切的系統(tǒng)間交互都是經(jīng)過Eve
51、nt完成的, 所以戰(zhàn)略效力器的輸入?yún)?shù)實(shí)踐上也是一種特殊的Event。輸入?yún)?shù)Event做為一種特殊Event,被設(shè)計(jì)為是同時(shí)擁有Input和OutPut屬性的Event,做為Input Event客戶端向SS發(fā)送參數(shù)值,其Buffer Flag為0, SS只需求最新的參數(shù);而做為Output Event SS前往給客戶端的Ack,其Buffer Flag為2, Key是一個(gè)永遠(yuǎn)為1的值,這樣可以保管最新一個(gè)Ack也能被Client收到,防止Client重啟后參數(shù)不同步的情況。一切定義的參數(shù)都會(huì)在戰(zhàn)略效力器中對(duì)應(yīng)一個(gè)同名同類型的全局變量,腳本中可以直接運(yùn)用這些參數(shù), 同時(shí)當(dāng)參數(shù)值變化時(shí), Cl
52、ient端發(fā)送來的參數(shù)變化也會(huì)被同步到這些全局變量中??梢越?jīng)過_DefineStrategyParameters關(guān)鍵字定義一組戰(zhàn)略Server的參數(shù),并經(jīng)過_OnEventParameterChanged(DTSParameter parameter) 回調(diào)來處置從客戶端發(fā)送過來的參數(shù)變化:_DefineStrategyParameters_String issueCode1_String issueCode2_String issueCode3_Number factor1_Number factor2_Number factor3_Number constant_String period
53、Type_String periodCount_End_OnEventParameterChanged(DTSParameter parameter) -用戶處置邏輯_End運(yùn)轉(zhuǎn)戰(zhàn)略當(dāng)戰(zhàn)略被發(fā)布好以后, DTSClient中的戰(zhàn)略管理頁(yè)面也就有了相應(yīng)的戰(zhàn)略列表:在需求啟動(dòng)此戰(zhàn)略的模型中添加此戰(zhàn)略:?jiǎn)?dòng)戰(zhàn)略:停頓戰(zhàn)略:DTS Script編程根底DTS Script根本語法格式言語字符要求DTS Script中的名字變量名,函數(shù)名,Table的字段名等標(biāo)識(shí)符可以由恣意字母,數(shù)字和下劃線組成,但是不能以數(shù)字開頭, 由于DTS API將在第3章詳細(xì)引見關(guān)鍵字以_開頭,所以應(yīng)盡量防止運(yùn)用_做為稱號(hào)的起
54、始符號(hào), 以防止和系統(tǒng)關(guān)鍵字相互沖突。DTS Script 是嚴(yán)厲區(qū)分大小寫的, 比如Text和text是不同的變量名, 可以用來代表不同的2個(gè)變量。DTS Script中的字符串可以是以一對(duì)單引號(hào)引起或者一對(duì)雙引號(hào)引起的一串字符,內(nèi)容里可以支持恣意字符, 包括中文, 系統(tǒng)傳輸和翻譯中不會(huì)改動(dòng)字符的編碼方式, 但是為了終端顯示和防止編碼解碼方式不同帶來的費(fèi)事, 建議一致運(yùn)用utf-8編碼方式留意不要運(yùn)用帶signal的UTF-8編碼, 頭標(biāo)志會(huì)被以為是非法字符。對(duì)于_開頭的函數(shù), 普通以為是系統(tǒng)保管的函數(shù)名, 建議盡量防止運(yùn)用。對(duì)于“DTS開頭的詞, 普通以為是系統(tǒng)API數(shù)據(jù)類型, 請(qǐng)不要運(yùn)用
55、其命名普通變量和函數(shù)等。名字,函數(shù)調(diào)用和關(guān)鍵字,算符等之間以空白分隔, 空白可以是恣意的空白,不限數(shù)量和種類,包括 空格 ,TABt,分割符f和分行/回車rn,r,n。DTS Script各個(gè)段聲明,構(gòu)造,語句等間可以以分號(hào);分隔,也可以以上述的空白分隔。但是有一種情況必需用分號(hào)分隔:local a - 1b = “b - 2_String str = b -3由于DTS API允許定義帶類型限定如上例第3行, 限定str為_String類型的變量, 而某些自定義類型名也能夠運(yùn)用名字Identifier,所以對(duì)上例中1,2行中的a和b中的a,Script翻譯器不能確定其是b的類型限定名還是一個(gè)
56、變量定義,所以這種情況下, a b間必需加一個(gè)分號(hào)分隔2個(gè)語句:local a ; - 1b = “b - 2_String str = b -3DTS Script支持各種數(shù)字表述方式,包括整數(shù),負(fù)數(shù)-,小數(shù)帶小數(shù)點(diǎn)., 16進(jìn)制數(shù)0 x和科學(xué)計(jì)數(shù)法表示的數(shù)值:3 3.0 3.1416 314.16e-2 0.31416E1 0 xff 0 x56程序注釋DTS Script采用Lua的程序注釋方式, 分為行注釋和塊注釋2種:DTS Script運(yùn)用- 來表示行注釋, 例如:a = alon123 - Assign alon123to aDTS Script 采用 - 對(duì)來表示塊注釋, 例如
57、:- DTS Script CommentCopyRight DragonSoft關(guān)鍵字DTS Script 關(guān)鍵字分為普通關(guān)鍵字,運(yùn)算符和系統(tǒng)API關(guān)鍵字3部分。關(guān)鍵字不能當(dāng)作名字標(biāo)識(shí)符運(yùn)用。擁有系統(tǒng)給定的含義。DTS Script 普通關(guān)鍵字有:關(guān)鍵字含義關(guān)鍵字含義關(guān)鍵字含義關(guān)鍵字含義and邏輯與break跳出循環(huán)do塊開場(chǎng)else非條件end塊終了false布爾假forFor循環(huán)function函數(shù)聲明inTable inlocal本地聲明nil空not邏輯否repeatRepeatreturn前往thenThentrue真whileWhileelseifelse ifif條件語句or邏
58、輯或untilRepeat留意:1. nil 表示DTS Script的空, 與NULL意義相近但不是NULL。2. elseif 為連寫的else if, 和其他言語不同, 不能寫成分開的else if。DTS Script 運(yùn)算符和關(guān)鍵符號(hào):關(guān)鍵符號(hào)含義關(guān)鍵符號(hào)含義關(guān)鍵符號(hào)含義HUGE_VAL最大數(shù)+加號(hào)-減號(hào)*乘號(hào)/除號(hào)%取余乘方=賦值=等于=不等于=大于等于大于, =和=其中值得留意的是=和=, 留意等于是2個(gè)=號(hào),以示區(qū)別于賦值=, 而不等于是=,與其他言語也有些不同。元運(yùn)算符元運(yùn)算符只需2個(gè):-負(fù)號(hào)和邏輯運(yùn)算符not。運(yùn)算符優(yōu)先級(jí)DTS Script和大部分言語的運(yùn)算符優(yōu)先級(jí)都一樣
59、,最優(yōu)先的是table中的點(diǎn) . 運(yùn)算,就是取字段操作和table的也是取字段操作,這2種將在table中引見。剩下的真正的運(yùn)算符優(yōu)先級(jí)如下從上至下優(yōu)先級(jí)依次遞減:-, not 優(yōu)先于. 優(yōu)先于*,/,% 優(yōu)先于+,- 優(yōu)先于,=,=,= 優(yōu)先于and,or程序控制流程順序構(gòu)造DTS Script的程序塊中遵照順序執(zhí)行原那么,即寫在上面的語句比寫在下面的語句先執(zhí)行。If條件語句條件語句:if exp1 thenblock1elseif exp2 thenblock2elseif exp3 thenblock3.elseblock_elsend含義為:假設(shè)滿足exp1即表達(dá)式exp1為真或非ni
60、l,那么執(zhí)行block1塊中的語句;假設(shè)不滿足exp1而滿足exp2,那么執(zhí)行block2中的語句,elseif可以寫多個(gè), 假設(shè)全不滿足, 那么執(zhí)行block_els中的語句。do 塊do語句:doblockend執(zhí)行block中的語句,作用相當(dāng)于C言語中的 。while循環(huán)語句while語句:while exp doblockend只需exp滿足,就執(zhí)行block中的語句,直到exp不滿足為止。repeat循環(huán)語句repeat語句:repeatblockuntil exp執(zhí)行block中的語句,直到exp滿足為止。留意:這里不論exp滿足還是不滿足,一開場(chǎng)block中的語句都會(huì)被執(zhí)行一遍。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司員工形象管理制度
- 2024年濰坊食品科技職業(yè)學(xué)院輔導(dǎo)員招聘考試真題匯編附答案
- 2024年鹽城農(nóng)業(yè)科技職業(yè)學(xué)院輔導(dǎo)員考試筆試真題匯編附答案
- 2024年蘇州工業(yè)園區(qū)職業(yè)技術(shù)學(xué)院輔導(dǎo)員招聘考試真題匯編附答案
- 2024年西南科技大學(xué)輔導(dǎo)員招聘?jìng)淇碱}庫(kù)附答案
- 2024年西安電子科技大學(xué)長(zhǎng)安學(xué)院輔導(dǎo)員考試筆試題庫(kù)附答案
- 2024年邯鄲應(yīng)用技術(shù)職業(yè)學(xué)院輔導(dǎo)員考試筆試題庫(kù)附答案
- 2024年重慶對(duì)外經(jīng)貿(mào)學(xué)院輔導(dǎo)員考試參考題庫(kù)附答案
- 2024年金陵科技學(xué)院輔導(dǎo)員招聘考試真題匯編附答案
- 2024年集美大學(xué)輔導(dǎo)員考試筆試題庫(kù)附答案
- 2026年陜西省森林資源管理局局屬企業(yè)公開招聘工作人員備考題庫(kù)及參考答案詳解1套
- 承包團(tuán)建燒烤合同范本
- 2023-2024學(xué)年深圳市初三中考適應(yīng)性考試英語試題(含答案)
- NB-T 47013.15-2021 承壓設(shè)備無損檢測(cè) 第15部分:相控陣超聲檢測(cè)
- 人教新起點(diǎn)英語五上《Unit5shopping》課件-課件
- 各品牌挖掘機(jī)挖斗連接尺寸數(shù)據(jù)
- 四川省成都市八年級(jí)上學(xué)期物理期末考試試卷及答案
- GB/T 38697-2020塊菌(松露)鮮品質(zhì)量等級(jí)規(guī)格
- 三菱FX3U系列PLC編程技術(shù)與應(yīng)用-第二章課件
- RoHS培訓(xùn)資料課件
- 協(xié)調(diào)控制系統(tǒng)
評(píng)論
0/150
提交評(píng)論