![金字塔決策交易系統(tǒng)-高級教程(XXXX修訂版)_第1頁](http://file4.renrendoc.com/view/f2c150b9e9c289e3f39db4d47ea5891d/f2c150b9e9c289e3f39db4d47ea5891d1.gif)
![金字塔決策交易系統(tǒng)-高級教程(XXXX修訂版)_第2頁](http://file4.renrendoc.com/view/f2c150b9e9c289e3f39db4d47ea5891d/f2c150b9e9c289e3f39db4d47ea5891d2.gif)
![金字塔決策交易系統(tǒng)-高級教程(XXXX修訂版)_第3頁](http://file4.renrendoc.com/view/f2c150b9e9c289e3f39db4d47ea5891d/f2c150b9e9c289e3f39db4d47ea5891d3.gif)
![金字塔決策交易系統(tǒng)-高級教程(XXXX修訂版)_第4頁](http://file4.renrendoc.com/view/f2c150b9e9c289e3f39db4d47ea5891d/f2c150b9e9c289e3f39db4d47ea5891d4.gif)
![金字塔決策交易系統(tǒng)-高級教程(XXXX修訂版)_第5頁](http://file4.renrendoc.com/view/f2c150b9e9c289e3f39db4d47ea5891d/f2c150b9e9c289e3f39db4d47ea5891d5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、上海金之塔信息技術(shù)有限公司2016金字塔決策交易系統(tǒng)高級教程上海金之塔信息技術(shù)有限公司2016金字塔決策交易系統(tǒng)高級教程本教程主要介紹金字塔的后臺程序化交易,VBA、C+二次開發(fā)的編程。目錄TOC o 1-3 h z u HYPERLINK l _Toc453071879 目錄 PAGEREF _Toc453071879 h 2 HYPERLINK l _Toc453071880 第一章 金金字塔的的后臺程程序化交交易 PAGEREF _Toc453071880 h 1 HYPERLINK l _Toc453071881 1.1后臺臺程序化化工作機(jī)機(jī)理 PAGEREF _Toc45307188
2、1 h 1 HYPERLINK l _Toc453071882 1.2 后后臺程序序化交易易函數(shù) PAGEREF _Toc453071882 h 2 HYPERLINK l _Toc453071883 1.3 后后臺套利利模型范范例 PAGEREF _Toc453071883 h 5 HYPERLINK l _Toc453071884 1.4 后后臺程序序化的啟啟用 PAGEREF _Toc453071884 h 7 HYPERLINK l _Toc453071885 1.5 后后臺程序序化的調(diào)調(diào)試 PAGEREF _Toc453071885 h 8 HYPERLINK l _Toc45307
3、1886 1.6 后后臺程序序化注意意事項(xiàng) PAGEREF _Toc453071886 h 10 HYPERLINK l _Toc453071887 第二章 圖圖表交易易和后臺臺交易的的主要區(qū)區(qū)別和聯(lián)聯(lián)系 PAGEREF _Toc453071887 h 12 HYPERLINK l _Toc453071888 2.1 圖圖表、交交易函數(shù)數(shù)的區(qū)別別 PAGEREF _Toc453071888 h 12 HYPERLINK l _Toc453071889 2.11 圖表交交易函數(shù)數(shù) PAGEREF _Toc453071889 h 12 HYPERLINK l _Toc453071890 2.12
4、后臺交交易函數(shù)數(shù) PAGEREF _Toc453071890 h 12 HYPERLINK l _Toc453071891 2.3圖表表交易和和后臺交交易的主主要區(qū)別別 PAGEREF _Toc453071891 h 13 HYPERLINK l _Toc453071892 第三章 基基于VBBA的二二次開發(fā)發(fā) PAGEREF _Toc453071892 h 14 HYPERLINK l _Toc453071893 3.1金字字塔VBBA與OFFFICEE VBBA區(qū)別別和聯(lián)系系 PAGEREF _Toc453071893 h 14 HYPERLINK l _Toc453071894 3.2
5、VVBA 原理的的隱喻 PAGEREF _Toc453071894 h 14 HYPERLINK l _Toc453071895 3.3 VVBA 簡介 PAGEREF _Toc453071895 h 15 HYPERLINK l _Toc453071896 3.3.11VBAA 及其其IDEE 初步步 PAGEREF _Toc453071896 h 15 HYPERLINK l _Toc453071897 3.3.22模塊、函函數(shù)和過過程 PAGEREF _Toc453071897 h 18 HYPERLINK l _Toc453071898 3.3.33數(shù)據(jù)類類型和變變量 PAGEREF
6、_Toc453071898 h 20 HYPERLINK l _Toc453071899 3.3.44VBAA 語言言基礎(chǔ) PAGEREF _Toc453071899 h 23 HYPERLINK l _Toc453071900 3.3.55用戶窗窗體 PAGEREF _Toc453071900 h 29 HYPERLINK l _Toc453071901 3.4金字字塔的對對象模型型 PAGEREF _Toc453071901 h 33 HYPERLINK l _Toc453071902 3.4.11Apppliccatiion 對象 PAGEREF _Toc453071902 h 34 H
7、YPERLINK l _Toc453071903 3.4.22Ordder 對象 PAGEREF _Toc453071903 h 36 HYPERLINK l _Toc453071904 3.4.33MarrkettDatta 對對象 PAGEREF _Toc453071904 h 45 HYPERLINK l _Toc453071905 3.4.44 ReeporrtDaata對對象 PAGEREF _Toc453071905 h 49 HYPERLINK l _Toc453071906 3.4.55 HiistooryDDataa 對象象 PAGEREF _Toc453071906 h 5
8、0 HYPERLINK l _Toc453071907 3.4.66 Doocummentt對象 PAGEREF _Toc453071907 h 52 HYPERLINK l _Toc453071908 3.4.77 Frramee 對象象 PAGEREF _Toc453071908 h 54 HYPERLINK l _Toc453071909 3.4.88 Grrid對對象 PAGEREF _Toc453071909 h 56 HYPERLINK l _Toc453071910 3.4.99 Foormuula 對象 PAGEREF _Toc453071910 h 62 HYPERLINK
9、l _Toc453071911 3.4.110 NNetWWorkk 對象象 PAGEREF _Toc453071911 h 63 HYPERLINK l _Toc453071912 3.4.111 TTesttRepportt 對象象 PAGEREF _Toc453071912 h 65 HYPERLINK l _Toc453071913 第四章 VVBA實(shí)實(shí)用范例例 PAGEREF _Toc453071913 h 75 HYPERLINK l _Toc453071914 4.1 跨跨期套利利交易范范例 PAGEREF _Toc453071914 h 75 HYPERLINK l _Toc4
10、53071915 4.2 金金字塔VVBA指指標(biāo)調(diào)用用數(shù)據(jù)庫庫教程 PAGEREF _Toc453071915 h 76 HYPERLINK l _Toc453071916 4.2.11數(shù)據(jù)庫庫的準(zhǔn)備備工作(vba使用數(shù)據(jù)庫首先我們需要連接數(shù)據(jù)庫) PAGEREF _Toc453071916 h 76 HYPERLINK l _Toc453071917 4.2.22 數(shù)據(jù)據(jù)庫操作作方法(具具體代碼碼和注釋釋) PAGEREF _Toc453071917 h 77 HYPERLINK l _Toc453071943 第五章 基基于C+二次次開發(fā) PAGEREF _Toc453071943 h 8
11、5 HYPERLINK l _Toc453071944 5.1使用用金字塔塔C+ APPI開發(fā)發(fā)策略的的優(yōu)勢 PAGEREF _Toc453071944 h 85 HYPERLINK l _Toc453071945 5.2金字字塔的CC+ APII與主程程序的組組織結(jié)構(gòu)構(gòu) PAGEREF _Toc453071945 h 86 HYPERLINK l _Toc453071946 5.3金字字塔的接接口范例例下載與與簡要說說明 PAGEREF _Toc453071946 h 86 HYPERLINK l _Toc453071947 5.3.11 APPI接口口報(bào)價(jià)行行情訂閱閱 PAGEREF _T
12、oc453071947 h 86 HYPERLINK l _Toc453071948 5.3.22報(bào)價(jià)行行情變化化通知 PAGEREF _Toc453071948 h 87 HYPERLINK l _Toc453071949 5.3.33獲取指指定市場場全部合合約報(bào)價(jià)價(jià) PAGEREF _Toc453071949 h 87 HYPERLINK l _Toc453071950 5.3.44歷史數(shù)數(shù)據(jù)的獲獲取 PAGEREF _Toc453071950 h 87 HYPERLINK l _Toc453071951 5.3.55下單委委托指令令 PAGEREF _Toc453071951 h 88
13、HYPERLINK l _Toc453071952 5.3.66訂單狀狀態(tài)推送送回報(bào) PAGEREF _Toc453071952 h 88 HYPERLINK l _Toc453071953 5.3.77策略編編寫調(diào)試試與跟蹤蹤 PAGEREF _Toc453071953 h 89 HYPERLINK l _Toc453071954 5.3.88APII接口更更多功能能信息 PAGEREF _Toc453071954 h 90 HYPERLINK l _Toc453071955 第六章 自自定義PPEL函函數(shù) PAGEREF _Toc453071955 h 91 HYPERLINK l _To
14、c453071956 6.1 使使用VBBA自定定義PEEL函數(shù)數(shù) PAGEREF _Toc453071956 h 91 HYPERLINK l _Toc453071957 6.1.11自定義義函數(shù)的的格式 PAGEREF _Toc453071957 h 91 HYPERLINK l _Toc453071958 6.1.22自定義義函數(shù)的的兩種工工作模式式 PAGEREF _Toc453071958 h 92 HYPERLINK l _Toc453071959 6.2 使使用C+DLLL擴(kuò)展展函數(shù)程程序調(diào)用用 PAGEREF _Toc453071959 h 94第一章 金金字塔的的后臺程程序化
15、交交易金字塔提供供功能性性和擴(kuò)展展性更為為強(qiáng)大的的基于后后臺預(yù)警警模式的的程序化化交易模模式(后后臺程序序化),可以在在不影響響用戶前前臺圖形形操作的的情況下下,高效效地與預(yù)警系系統(tǒng)一起起工作,實(shí)現(xiàn)自自動(dòng)交易易。由于該模模式運(yùn)行行在后臺,不需要要打開圖圖表占用用過多的的資源,且且只需最后后一個(gè)周周期的信信號,所以原原則上公公式不做做多余計(jì)計(jì)算,效率高高,便于對對多個(gè)品品種同一一個(gè)策略略進(jìn)行輪輪循監(jiān)控控。從某種意義義講,后后臺程序序化屬于于圖表程程序的深化,它它的優(yōu)點(diǎn)點(diǎn)是更注注重于策策略的高高效執(zhí)行行,更完美地地實(shí)現(xiàn)策策略的設(shè)設(shè)計(jì)初衷衷。雖然然后臺程程序化的的功能強(qiáng)強(qiáng)大,但但用戶切切忌直接接使用
16、后后臺策略略,而跳跳過學(xué)習(xí)習(xí)圖表程程序化的的過程。原因是在后臺程序化中用戶無法直接在圖表上看到信號的整個(gè)出現(xiàn)過程,因此對用戶的公式編寫水平有一定的要求。其次,用戶需要對金字塔的后臺交易系統(tǒng)工作機(jī)理有比較深的了解,并且要對自己的公式系統(tǒng)有清晰的認(rèn)識,這樣一旦遇到問題也能及時(shí)找到原因。后臺交易過程中,一旦遇到問題,需要客戶掌握第八章后臺程序化交易調(diào)試的技巧。以我們多年的經(jīng)驗(yàn)來看,用戶先將策略經(jīng)測評、優(yōu)化、圖表實(shí)盤上運(yùn)行后,再轉(zhuǎn)化成后臺策略,會(huì)取得非常好的效果。1.1后臺臺程序化化工作機(jī)機(jī)理在初級教程程中,我我們介紹紹了基于于虛擬數(shù)數(shù)據(jù)技術(shù)術(shù)的圖表表程序化化交易。想想必經(jīng)過過一段時(shí)時(shí)間的學(xué)學(xué)習(xí),大大
17、家已將將圖表程程序化運(yùn)運(yùn)用的相相當(dāng)純熟熟。不過過當(dāng)你進(jìn)進(jìn)行實(shí)盤盤的時(shí)候候,是否否發(fā)現(xiàn)在在某些情情況下,例例如碰到到未成交交單、未未完全成成交單、需需要進(jìn)行行追撤單單等更精精細(xì)的下下單操作作時(shí),圖圖表程序序化就束束手無策策了。這這是由于于圖表基基于虛擬擬數(shù)據(jù)的的特性,無無法與真真實(shí)賬戶戶進(jìn)行交交互,虛虛擬數(shù)據(jù)據(jù)的成交交并不考考慮實(shí)盤盤的的流動(dòng)性性情況,只只要價(jià)格格達(dá)到即即成交。而而實(shí)際情情況可能能并不是是這樣。另一方面,當(dāng)當(dāng)圖表程程序化碰碰上多品品種、多多策略、或或者較復(fù)復(fù)雜的策策略時(shí),有有時(shí)系統(tǒng)統(tǒng)會(huì)顯得得相對較較慢、不不流暢。這這是由于于圖表需需要計(jì)算算大量以以往的歷歷史數(shù)據(jù)據(jù)進(jìn)行判判斷操作作
18、,并在在圖表上上進(jìn)行輸輸出。這這消耗了了相當(dāng)多多的資源源。但實(shí)實(shí)盤并不不需要考考慮歷史史曾經(jīng)如如何,實(shí)實(shí)時(shí)交易易需要考考慮的是是如何高高效的執(zhí)執(zhí)行,其其實(shí)只需需根據(jù)最最后一根根K線上上的數(shù)據(jù)據(jù),來確確定開平平倉的動(dòng)動(dòng)作。這這也就是是例如DDYNAAINFFO等這這些常數(shù)數(shù)函數(shù)無無法進(jìn)行行測評而而實(shí)盤的的公式確確可以用用的主要要原因,因因?yàn)镈YYNAIINFOO只有最最新的一一筆行情情數(shù)據(jù),而而沒有歷歷史的序序列數(shù)據(jù)據(jù)。金字字塔后臺臺程序化化也是這這個(gè)道理理,因?yàn)闉榻鹱炙暮笈_臺程序化化只注重重交易,因因此無法法用來測測評??偨Y(jié)一下,金字塔的后臺程序化交易是金字塔很大的特色。從工作機(jī)制的角度看
19、,后臺程序化在沿用PEL語言體系的情況下,為用戶創(chuàng)造了近似VB、C+才能達(dá)到的精細(xì)化、高效快捷程序化下單模式。因此它特別適合那些多周期、多策略、多品種的組合交易以及對效率要求較高的套利交易,為您的交易帶來無與倫比的便捷。1.2 后后臺程序序化交易易函數(shù)金字塔的后后臺程序序化交易易只能在在專業(yè)版版及更高高級的版版本中使使用,它它可以運(yùn)運(yùn)行在序序列和逐逐K線兩兩種模式式,但是是推薦序序列模式式運(yùn)行,這這樣可以以極大提提高后臺臺執(zhí)行的的效率。為了讓用戶戶更快的的編寫和和熟悉金金字塔的的后臺程程序化交交易,金金字塔的的程序化化交易函函數(shù),前前面都在在交易系系統(tǒng)函數(shù)數(shù)名稱前前加 TT 字母母,比如如BU
20、YY改為TTBUYY, 使使用方法法大致相相同,用用戶仔細(xì)細(xì)注意查查看函數(shù)數(shù)的使用用說明。與與圖表交交易系統(tǒng)統(tǒng)函數(shù)不不同的是是,后臺臺程序化化交易的的函數(shù)都都使用實(shí)實(shí)際的用用戶持倉倉和資金金。讓我們通過過案例來來學(xué)習(xí)后后臺程序序化交易易函數(shù)。例1:MAA指標(biāo)后后臺公式式/中間變變量MA3:MMA(CC,3);MA5:MMA(CC,5);/交易系系統(tǒng)TBUY(CROOSS(MA33,MAA5),1,LLMT,C); /按照最最新價(jià)限限價(jià)開多多TSELLL(CRROSSS(MAA5,MMA3),0,LMTT,C);/按照最最新價(jià)限限價(jià)平多多,0表表示平掉掉全部持持倉請注意TBBUY和和TSEELL
21、函函數(shù)的參參數(shù)出現(xiàn)現(xiàn)了變化化,真正正的下單單時(shí),需需要指定定下單類類型和價(jià)價(jià)格的,否否則系統(tǒng)統(tǒng)會(huì)按照照市價(jià)進(jìn)進(jìn)行交易易。 用以模擬交交易的函函數(shù)和真真實(shí)交易易的函數(shù)數(shù),大部部分只是是有了前前面T字字母差別別,大部部分的用用以交易易評測的的交易系系統(tǒng),只只要將交交易函數(shù)數(shù)部分前前面加TT字母即即可解決決,唯一一區(qū)別最最大的就就是TBBUY,TSEELL,TBUUYSHHORTT,TSEELLSSHORRT 這這4個(gè)函函數(shù)與模模擬交易易用的函函數(shù)區(qū)別別較大,請請仔細(xì)辨辨別。請注意后臺臺程序化化交易不不能使用用圖表交交易功能能,且圖圖表交易易和后臺臺交易的的函數(shù)不不能混用用。交易控控制符 THIIS
22、CLLOSEE 在真真實(shí)交易易中被 LMTT 等真真實(shí)交易易控制符符所取代代,金字字塔的模模擬交易易控制符符和真實(shí)實(shí)交易控控制符兩兩者不能能通用。金字塔的真實(shí)下單函數(shù)只支持LMT限價(jià) MKT市價(jià) STP止損 STPLMT限價(jià)止損 這4個(gè)交易控制符。真實(shí)下單交交易函數(shù)數(shù),下單單數(shù)量不再支持持百分比比模式。程序化交易易的函數(shù)數(shù)介紹:程序化交易易系統(tǒng)之之開多操操作:用法:TBBUY(CONND,VV,TTypee,P11,P22,ACC,STTOCKK);表示當(dāng)當(dāng)CONND條件件成立時(shí)時(shí),買入V股(手手)當(dāng)前前品種,TYPE表表示開倉倉類型,LMT限價(jià) MKT市價(jià) STP止損 STPLMT限價(jià)止損P
23、1表示開開倉價(jià)格格,當(dāng)TTYPEE為LMTT和STPP,STPPLMTT時(shí)為指指定限價(jià)價(jià)和止損損價(jià)格,其他情情況填00P2為止損損限價(jià),當(dāng)TYYPE為為STPPLMTT時(shí),必必須指定定P2的止止損限價(jià)價(jià),其他他情況填填0,當(dāng)當(dāng)P1止損損價(jià)觸發(fā)發(fā)時(shí)按照照P2價(jià)格格止損操操作.當(dāng)TYPEE參數(shù)省省略時(shí),為市價(jià)價(jià)開倉。AC為帳戶ID,為空時(shí)為系統(tǒng)默認(rèn)帳戶,否則將下單到指定帳戶中STOCKK為品種種代碼,比比如SSH60002115,為空或或者不填填時(shí)為當(dāng)當(dāng)前品種種后臺程序化化交易不不能使用用圖表交交易功能能,且圖圖表交易易和后臺臺交易的的函數(shù)不不能混用用。例如如,限價(jià)價(jià)在圖表表中函數(shù)數(shù)為Liimit
24、t,后臺臺為Lmmt。市市價(jià)在圖圖表是函函數(shù)Maarkeet,在在后臺是是Mktt。例如:TBBUY(COO ,110000,LMMT,CC);表表示收陽陽線則在在本周期期收盤價(jià)價(jià)上買入入10000股(手手)。TBUY(C00,10000,STPP,CLLOSEE+0.2);表示收收陽線則則在本周周期收盤盤價(jià)高于于0.22元下110000股(手手)止損損單,當(dāng)當(dāng)盤中價(jià)價(jià)格到了了觸發(fā)價(jià)價(jià)時(shí)按市市價(jià)開倉倉止損.TBUY(C00,10000,STPPLMTT,CLLOSEE+0.2,CCLOSSE);表示收收陽線則則在本周周期收盤盤價(jià)高于于0.22元下110000股(手手)止損損單,當(dāng)當(dāng)盤中價(jià)價(jià)格到
25、了了觸發(fā)價(jià)價(jià)時(shí)按CCLOSSE價(jià)格格開倉止止損。程序化交易易系統(tǒng)之之平多操操作:TSELLL(COOND,V,Typpe,PP1,PP2,AAC,SSTOCCK); 用用法同上上程序化交易易系統(tǒng)之之開空操操作:TBUYSSHORRT(CCONDD,V,Tyype,P1,P2,AC,STOOCK); 用法同同上程序化交易易系統(tǒng)之之平空操作作:TSELLLSHOORT(CONND,VV,TTypee,P11,P22,ACC,STTOCKK); 用法法同上注意:程序序化交易易系統(tǒng)的的函數(shù)中中交易類類型Tyype與與交易測測試系統(tǒng)統(tǒng)的差別別例2:唐奇奇安通道道模型/中間變變量inputt:N(20,5
26、,100,1),NS(10,0,60,1);Pricee:=AAVGEENTEERPRRICEE;/持倉價(jià)價(jià)位/交易條條件開多平空條條件:=CROOSS(H, hhvv(reef(hh,1),N);開空平多條條件:=CROOSS(llvv(reef(ll,1), NN),LL);/交易系系統(tǒng)SELLSSHORRT(開開多平空空條件 aand 持倉0,持持倉,mmarkket);SELLSSHORRT(持持倉00,持倉倉,maarkeet);SELL(持倉0,持持倉,SStoppr,PPricce-NNS);/止止損BUYSHHORTT(開空空平多條條件 aand 持倉=0,30%,marrke
27、tt);/其他資產(chǎn):asssett,nooaxiis,ccoloorgrreenn;持倉:HOOLDIING,LINNETHHICKK0;總次數(shù): TOTTALTTRADDE,LLINEETHIICK00;盈利:NUUMWIINTRRADEE,LIINETTHICCK0;勝率:ROOUNDDS(1100*PERRCENNTWIIN,11),LLINEETHIICK00;連虧:MAAXSEEQLOOSS,LINNETHHICKK0;連盈:MAAXSEEQWIIN,LLINEETHIICK00;將交易模型型轉(zhuǎn)換成成程序化化交易系系統(tǒng),主主要是涉涉及交易易系統(tǒng)函函數(shù)的轉(zhuǎn)轉(zhuǎn)化,即即在交易易系統(tǒng)函函數(shù)前
28、加加“t”,以及及交易類類型的改改動(dòng);并并且程序序化交易易函數(shù)都都是在后后臺運(yùn)行行,不能能在圖表表中顯示示;交易易數(shù)量不不能用330%的的寫法,只只能用具具體數(shù)量量。因此,唐奇奇安通道道模型轉(zhuǎn)轉(zhuǎn)化為可可程序化化交易的的系統(tǒng):/中間變變量inputt:N(20,00,600,1) ,NNS(330,00,1000,11);持倉:=ttHOLLDINNG,LLINEETHIICK00;KCS:= inttparrt(ttassset*0.33/(cloose*mulltipplieer);/也也表示330%的的開倉數(shù)數(shù)BUY1:=hhhv(rref(h,11),NN);SELL11:=lllv(r
29、eff(l,1),N);Pricee:=ttAVGGENTTERPPRICCE; /持持倉價(jià)位位/交易條條件開多平空條條件:=CROOSS(H,BBUY11);開空平多條條件:=CROOSS(SELLL1,L);/交易系系統(tǒng)TSELLLSHOORT(開多平空空條件 aand 持倉0,tt持倉,mktt);TSELLLSHOORT(持倉0,持持倉,mmkt);TSELLL(持倉倉0,持倉,Stpp,Prricee-NSS);TBUYSSHORRT(開開空平多多條件 aand 持倉=0, KCCS,mmkt);若想與交易易模型完完全一樣樣,后句則需需這樣寫寫:tSELLLSHOORT(reff(開
30、多多平空條件件,1) annd 持持倉00,t持持倉,mmkt);tSELLLSHOORT(持倉0,tt持倉,mktt);tSELLL(持倉倉0,持倉,Stpp,Prricee-NSS);tBUYSSHORRT(rref(開空平平多條件件,1) annd 持持倉=0, KCCS,mmkt);注意:在公公式編輯輯中,點(diǎn)點(diǎn)擊 0; 平多開空條條件 :=MAACD0; /交易系系統(tǒng)TSELLLSHOORT(平多開開空條件件,100, mmkt, 0,0, , SQRRB033); /平空空TBUY(平空開多多條件,10,mktt, 0,00, SQRRB055);/開多TSELLL(平多多開空條條件
31、,110, mktt, 0,00, SQRRB055); /平平多TBUYSSHORRT(平平空開多多條件,10,mktt, 00,0, , SQRRB033); /開開空(3)如何何編制技技術(shù)指標(biāo)標(biāo)的多賬賬戶模型型:賬戶1:1168001賬戶2:1168002/中間變變量DIFF := EMAA(C,12) - EMAA(C,26); DEA := EEMA(DIFFF,99); MACD:=2*(DIIFF-DEAA); /交易系系統(tǒng)IF THHOLDDINGG00 annd TTHOLLDINNG00,100, mmkt, 0,0, 1668022); /平平空ENDIF THHOLDD
32、INGG=0 THEEN BEGGINTBUY(MACCD00 annd TTHOLLDINNG=00,100,mkkt, 0,00, 168801);/開多多TBUY(MACCD00,100,mkkt, 0,00, 168802);/開多多ENDIF THHOLDDINGG0 THEEN BEGGINTSELLL(MAACD0, THOOLDIING,10, mkkt, 0,00,168801); /平平多TSELLL(MAACD0,110, mktt, 0,00,168802); /平平多ENDIF THHOLDDINGG=0 THEEN BEGGINTBUYSSHORRT(MMACDD0
33、 andd THHOLDDINGG=0,10,mktt, 0,00,168801); /開開空TBUYSSHORRT(MMACDD下單設(shè)設(shè)置-程序化化交易-將“記記錄下單單日志”打打勾。打打勾的同同時(shí),會(huì)會(huì)提醒您您日志所所保存的的文件路路徑。在圖表交易易和后臺臺自動(dòng)交交易的甚甚至手工工下單的的過程中中,金字字塔會(huì)將將與交易易有關(guān)的的動(dòng)作記記錄在內(nèi)內(nèi),便于于用戶查查找和分分析問題題原因。1.6 后后臺程序序化注意事項(xiàng)項(xiàng)(1) 圖圖表BUUY等顯顯示函數(shù)數(shù)是不能能放在后后臺做監(jiān)監(jiān)控交易易的,但但是將允許程程序化交交易勾勾去掉后后單獨(dú)做做預(yù)警是是可以的的。(2)只有有少數(shù)的的帶T的的后臺交交易函數(shù)數(shù)
34、允許使使用在BBUY前前臺圖表表交易策策略中. Thholddingg, TAAVGEENTEERPRRICEE,Tacccouunt,Tasssett,但是是金字塔塔強(qiáng)烈不不建議使使用,因因?yàn)檫@樣樣會(huì)造成成圖表上上的交易易信號與與實(shí)際的的下單記記錄不符符。(3)金字字塔的后后臺交易易部分,使使用手工工閃電下下單的記記錄,將將無法通通過比如如TENNTERRPRIICE等等與交易易記錄有有關(guān)函數(shù)數(shù)中得到到結(jié)果,但但可以通通過程序序化交易易監(jiān)控中中的手工工下單干干預(yù)功能能完成此此項(xiàng)目的的。(4)金字字塔的后后臺交易易,查詢詢持倉和和資產(chǎn)均均為用戶戶當(dāng)前的的實(shí)際數(shù)數(shù)值,如如果多個(gè)個(gè)策略同同時(shí)多一一
35、個(gè)品種種或通一一個(gè)帳戶戶進(jìn)行操操作會(huì)產(chǎn)產(chǎn)生相互互干擾現(xiàn)現(xiàn)象,解解決辦法法就是通通過使用用交易系系統(tǒng)使用用虛擬持持倉和資資金,這這樣就完完全可以以避免這這種共振振現(xiàn)象,但但是推薦薦高級用用戶使用用,因?yàn)闉樾枰芎芏嗉记汕尚枰幪幚?。?)用以以圖表顯顯示的交交易系統(tǒng)統(tǒng)和后臺臺程序化化交易的的交易指指令函數(shù)數(shù),參數(shù)數(shù)有明顯顯的不同同,用戶戶不能簡簡單的將將BUYY函數(shù)加加個(gè)T就就可以直直接后臺臺交易,使使用前應(yīng)應(yīng)該將鼠鼠標(biāo)放在在TBUUY函數(shù)數(shù)上認(rèn)真真看看函函數(shù)說明明。同名交易系系統(tǒng)函數(shù)數(shù)與程序序化交易易函數(shù)的的差別:函數(shù)意義前臺圖表交交易模型型后臺交易系系統(tǒng)開多BUYTBUY平多SELLTSEL
36、LL開空BUYSHHORTTTBUYSSHORRT平空SELLSSHORRTTSELLLSHOORT其中TYPPE:次次周期限限價(jià)LIMITTREF(條條件,11),LLMTTYPE:本周期期限價(jià)LIMITTRLMTTYPE:次周期期停損STOPREF(條條件,11),SSTPTYPE:本周期期停損STOPRRSTPTYPE:次周期期市價(jià)MARKEETREF(條條件,11),MMKTTYPE:本周期期市價(jià)MARKEETRMKT開倉百分比比30%KCS:= inttparrt(ttassset*0.33/MUULTIIPLIIER/cloose);語句語句T語句函數(shù)可在圖表上上顯示不能在圖表表上
37、顯示示總之,通過過函數(shù)列列表,了了解他們們的細(xì)微微差別。第二章 圖圖表交易易和后臺臺交易的的主要區(qū)區(qū)別和聯(lián)聯(lián)系2.1 圖圖表、交交易函數(shù)數(shù)的區(qū)別別2.11 圖表交交易函數(shù)數(shù)BUY 開多多BUYSSHORRT 開空空SELLL 平多多SELLLSHOORT 平平空適用于圖圖表程序序式交易易模式,本本函數(shù)中中可以設(shè)設(shè)置下單單條件、下下單手?jǐn)?shù)數(shù)、下單單價(jià)格等等參數(shù)。這這種交易易函數(shù)優(yōu)優(yōu)點(diǎn)在于于可以將將本交易易函數(shù)套套用到若若干個(gè)循循環(huán)邏輯輯判斷語語句中,對對下單手手?jǐn)?shù)靈活活設(shè)置,對對下單價(jià)價(jià)格靈活活的掌控控,與之之配套使使用的各各類函數(shù)數(shù)較多,因因此能夠夠用于實(shí)實(shí)現(xiàn)較為為復(fù)雜的的交易模模型;缺缺點(diǎn)是
38、沒沒有參數(shù)數(shù)設(shè)置賬賬戶名、下下單品種種、只能能運(yùn)行在在逐K線線模式等等。例2.1: BUY(vvol/reff(vool,11)33 ANND CCLOSSEOOPENN , 1 ,LIMMIT ,CLLOSEE );SELL(voll/reef(vvol,1)3 AAND CLOOSE3 THEEN BBEGIINBUY(CLOOSEOPEEN , 1 ,LIIMITT ,CCLOSSE );SELLL(CLLOSEE3 AAND CLOOSEOPEEN ,1,LLMT ,CLLOSEE ,00,33515579 ,al002);TSELLL(vool/rref(voll,1)3 ANDD
39、CLLOSEE圖圖表程序序化交易易”選項(xiàng)項(xiàng)。后臺程序化化交易的的設(shè)置和和啟用界界面位于于菜單欄欄的“交交易后后臺程序序化交易易”選項(xiàng)項(xiàng)。 (4)虛擬擬和真實(shí)實(shí)的區(qū)別別圖表程序化化交易采采用的是是虛擬持持倉、虛虛擬資金金等概念念,各個(gè)個(gè)買賣點(diǎn)點(diǎn)以及中中間過程程返回給給用戶的的持倉和和資金是是根據(jù)歷歷史交易易信號和和相關(guān)初初始化的的數(shù)據(jù)計(jì)計(jì)算得來來,資金金、費(fèi)率率等初始始化數(shù)據(jù)據(jù)是在指指標(biāo)編輯輯器中的的“費(fèi)率率設(shè)置”中中進(jìn)行設(shè)設(shè)置。后臺程序化化交易采采用的是是真實(shí)持持倉、真真實(shí)資金金的概念念,它們們調(diào)用的的是賬戶戶欄中真真實(shí)的賬賬戶數(shù)據(jù)據(jù)。 第三章 基基于VBBA的二二次開發(fā)發(fā)一個(gè)優(yōu)秀的的程序化化
40、交易軟件件不僅需需要滿足足個(gè)人個(gè)個(gè)性化的的策略實(shí)現(xiàn)現(xiàn)外,策策略的執(zhí)執(zhí)行也至至關(guān)重要要,俗話話說:細(xì)細(xì)節(jié)決定定成敗,前前面章節(jié)節(jié)我們都都是介紹紹的使用用金字塔塔內(nèi)置的的PEL腳腳本語言言作為程程序化交易使使用,但是PPEL終終歸還是是為普通通非計(jì)算機(jī)機(jī)專業(yè)投投資者準(zhǔn)準(zhǔn)備的腳腳本語言言,方便便投資者者學(xué)習(xí)和和使用的的同時(shí),也也帶來了了其自身身存在的的格式固固化,運(yùn)運(yùn)行不夠夠靈活,效效率不足足等問題題,是無無法滿足足具有更更多想法法更多需需求的程程序化交交易者的的。在各種種高級語語言中,熟熟悉和精精通VBB的人無無疑是最最多的。著名的微軟OFFICE辦公軟件中的二次開發(fā)也是使用的VBA。但是金字塔不
41、僅僅是一個(gè)被廣泛應(yīng)用的金融分析軟件,除了具有一般軟件的數(shù)據(jù)處理、統(tǒng)計(jì)分析、圖表功能外,最大的特點(diǎn)是集成了VBA 環(huán)境。并提供了VBA 的IDE 環(huán)境。可以應(yīng)用金字塔的所有現(xiàn)有功能,例如其數(shù)據(jù)處理、圖表繪制、數(shù)據(jù)庫連接、內(nèi)置函數(shù)等等。利用這些接口將極大的發(fā)揮我們專業(yè)程序化交易投資者的編程空間,使我們的交易系統(tǒng)具有強(qiáng)大的計(jì)算能力、擴(kuò)展能力和生命力。3.1金字字塔VBBA與OFFFICEE VBBA區(qū)別別和聯(lián)系系盡管金字塔塔VBAA與OFFFICEE VBBA都是是VBAA,但是是它們22個(gè)還是是有些不不同的地地方,這這里假設(shè)設(shè)讀者是是熟悉OOFFIICE VBAA的用戶戶,如果果你是VBBA的初初
42、學(xué)者,那那么可以以不必理理會(huì)這里里的差別別。金字塔的的腳本引引擎是VVBS,與與OFFFICEE的VBBA主要要區(qū)別在在于變量量無需聲聲明就可可以使用用。金字字塔軟件件的VBBA系統(tǒng)統(tǒng)是介于于傳統(tǒng)VVBS與與VBAA之間的的系統(tǒng),支支持VBBA系統(tǒng)統(tǒng)中才有有的窗體體,框架架等等更更多的對對象,另另外,語語法上又又兼容VVBS。除了類模塊塊外,所所有的框框架和窗窗體對象象模塊的的數(shù)據(jù)都都是公用用的,框框架和窗窗體之所所以獨(dú)立立是因?yàn)闉榉奖阌糜脩艟庉嬢嫼凸芾砝恚瑢?shí)際際運(yùn)行代代碼是合合在一起起的。比比如你在在框架或或者窗體體中定義義了一個(gè)個(gè)函數(shù)過過程外的的全局變變量,實(shí)實(shí)際上是是所有VVBS代代碼都
43、可可以調(diào)用用的,在在窗體框框架對象象中的過過程名在在其他窗窗體中調(diào)調(diào)用也無無需使用用 窗體體.過程程名 這這種方式式,可以以直接使使用過程程名。金字塔中的的窗體與與OFFFICEE其他組組件的窗窗體在訪訪問其內(nèi)內(nèi)部控件件時(shí)稍有有不同,例如訪訪問UsserFFormm1窗體體的Teext11編輯控控件,使使其隱藏藏。代碼碼如下: UsserFFormm1_Texxt1.Vissiblle = Faalsee除此之外外,金字字塔VBBA與OOFFIICE VBAA在IDDE界面面,使用用方法和和布局上上,完全全一致,如如果讀者者熟悉OOFFIICE VBAA的開發(fā)發(fā),那么么就應(yīng)該該很快掌掌握金字字
44、塔VBBA的開開發(fā)。3.2 VVBA 原理的的隱喻VBA 的的基本原原理可通通過下圖圖做示意意性解釋釋。金字塔金字塔對象VBA代碼VBAVBA 作作為應(yīng)用用VBAA 編寫寫的代碼碼和金字字塔對象象之間的的一個(gè)橋橋梁,為為2 者之之間的調(diào)調(diào)用提供供支持,這這種調(diào)用用是通過過COMM 自動(dòng)動(dòng)化實(shí)現(xiàn)現(xiàn)的。例例如我們們的代碼碼中一句句代碼,調(diào)調(diào)用金字字塔中一一個(gè)對象象的一個(gè)個(gè)屬性,那那么這個(gè)個(gè)過程大大概是類類似這樣樣的:VVBA 環(huán)境解解釋執(zhí)行行這句代代碼,如如果發(fā)現(xiàn)現(xiàn)對金字字塔對象象的調(diào)用用,就通通過COOM 的的方式調(diào)調(diào)用這個(gè)個(gè)對象,獲獲取其屬屬性,這這樣VBBA 代代碼就可可以和金金字塔對對象進(jìn)
45、行行交互。3.3 VVBA 簡介要使用 VVBA 進(jìn)行數(shù)數(shù)據(jù)處理理,第一一要熟悉悉VBAA 的IIDE 環(huán)境,知知道如何何進(jìn)行代代碼書寫寫,如何何編寫代代碼,設(shè)設(shè)計(jì)窗體體,創(chuàng)建建類模塊塊(對象象),第第二要熟熟悉VBBA 的的基本語語法和。二者者都是VVBA 程序設(shè)設(shè)計(jì)的基基礎(chǔ),需需要認(rèn)真真學(xué)習(xí)。VBA 語語法不是是一章就就可以全全部介紹紹完全的的,本章章介紹的的內(nèi)容是是最基本本和應(yīng)該該熟練掌掌握的內(nèi)內(nèi)容,對對于不熟熟悉或者者不理解解的內(nèi)容容可以在在學(xué)習(xí)了了后面的的內(nèi)容后后再反過過頭來學(xué)學(xué)習(xí)。有有些內(nèi)容容需要反反復(fù)練習(xí)習(xí)和熟悉悉。對于于VBAA 語法法和用法法的很多多內(nèi)容可可以隨時(shí)時(shí)通過查查看
46、幫助助來獲得得相關(guān)信信息。本章和下一一章(金金字塔 對象模模型)的的部分內(nèi)內(nèi)容,特特別是表表格內(nèi)的的一些內(nèi)內(nèi)容,沒沒有必要要完全記記住,可可以作為為參考手手冊來使使用。3.3.11VBAA 及其其IDEE 初步步本部分將對對 VBAA 及其其開發(fā)環(huán)環(huán)境IDDE(集集成開發(fā)發(fā)環(huán)境)作作一概略的的介紹。VBA IDE 是進(jìn)行程序設(shè)計(jì)和代碼編寫的地方,同一個(gè)金字塔共享同一IDE。文中會(huì)涉及到一些諸如對象、事件等部分讀者可能不熟悉或不清楚的概念,對于此類問題可直接忽略之,因?yàn)樵诤竺鏁?huì)有詳細(xì)介紹。本部分也不是一個(gè)VBA 的參考文檔,只是其語法、特征的快速瀏覽和介紹。(1)VBBA 集集成開發(fā)發(fā)環(huán)境(ID
47、E)的組成VBA 代代碼和金金字塔文文檔文件件是保存存在一起起的,可可以通過過點(diǎn)擊“工工具 宏 Viisuaal BBasiic工程”打開開VBAA 的IDEE 環(huán)境境,進(jìn)行行程序設(shè)設(shè)計(jì)和代代碼編寫寫。圖3-1VVisuual Bassic IDEE 環(huán)境境圖 3-11 為金字塔塔 VBBA 的的IDEE 環(huán)境境,缺省省情況下下,VBBA IIDE 環(huán)境上上方為菜菜單和工工具條(圖圖 3-11),左左側(cè)窗口口為工程程資源管管理器窗窗口,右右側(cè)最大大的窗口口為代碼碼窗口。每一個(gè)金金字塔文文檔文件件,對應(yīng)應(yīng)的VBBA 工工程都有有4 類對對象,包包括:框框架、窗窗體、模模塊和類類模塊(圖圖 3-2
48、2)。這這里的框架主主要是金金字塔運(yùn)運(yùn)行時(shí)的的技術(shù)分分析圖表表,例如如我們常常見的KK線走勢勢分析圖圖的框架架對象,雙擊這些對象會(huì)打開代碼窗口(圖3-1 右側(cè)窗口),在此窗口中可輸入相關(guān)的代碼,響應(yīng)事件,例如框架的打開、關(guān)閉,窗格的激活、品種顯示的修改、選擇等(有關(guān)事件、金字塔 對象模型見后)。窗體對象代表了自定義對話框或界面,模塊為自定義代碼的載體,類模塊則是以類或?qū)ο蟮姆绞骄帉懘a的載體,關(guān)于各對象的具體含義和使用見后。在工程資源管理器窗口的右鍵菜單下,有添加用戶窗體、模塊、類模塊的選項(xiàng),也可以將已有的模塊移除、導(dǎo)入和導(dǎo)出。注意:建建議用戶戶新建一一個(gè)VBBA工程程來完成成你的個(gè)個(gè)性化VV
49、BA代代碼,盡盡量不要要在默認(rèn)的的工程中添添加,防防止多個(gè)個(gè)不同工工程的代代碼相互互干擾,您您可以點(diǎn)點(diǎn)擊左側(cè)側(cè)工程資資源窗口口上的工具欄欄來新建建一個(gè)VVBA工工程。(2)在 VBAA IDDE 下下進(jìn)行開開發(fā)熟悉了 VVBA 的IDEE 環(huán)境境后,我我們來開開發(fā)VBBA 之之旅的第第一個(gè)程程序。首首先我們們雙擊左左側(cè)工程程資源管管理器上的窗窗口的模模塊分類類,然后后雙擊“MMacrro”模模塊,打打開宏模塊代碼碼編輯窗窗口(圖圖3-33),然后后選擇“插入”菜單-過程程,再隨后彈彈出的宏宏名稱編編輯窗口口里輸入入“MyyFirrstVVBAPProggramm”,然后單單擊確定定,這樣樣系統(tǒng)
50、會(huì)會(huì)自動(dòng)將將MyFFirsstVBBAPrrogrram這這個(gè)過程程函數(shù)插插入到代代碼編輯輯窗口中中,我們們只要在在打開窗口口中輸入入以下代代碼:Sub MMyFiirsttVBAAProograam()MsgBoox “我的第一個(gè)自編程序?!盓nd SSub通過“運(yùn)行行”菜單-宏,或或者按AAlt+F8快快捷鍵,彈彈出宏運(yùn)運(yùn)行窗口口,下拉拉框中選選擇我們們前面建建立的“MMyFiirsttVBAAProograam”宏宏,然后后就能看到到運(yùn)行的的結(jié)果了。圖3-2注意:與與其他程程序設(shè)計(jì)計(jì)語言不不同,VVBA 程序是是事件驅(qū)驅(qū)動(dòng)的,沒沒有Maain 函數(shù)之之類的入入口的概概念。本本質(zhì)上,VBA
51、 代碼應(yīng)該只是一些完成具體工作的集合,而通過界面元素或者金字塔 的事件驅(qū)動(dòng)執(zhí)行,你可以通過自定義按鈕、菜單,并指定一個(gè)宏(VBA 過程,自定義界面也可以通過編程手段完成此類工作),通過單擊此按鈕即可調(diào)用相應(yīng)的VBA代碼,或者將調(diào)用綁定在金字塔的某個(gè)事件下。下面我們簡簡單看一一下這段段代碼的的組成,代代碼第11 行表表示這是是一個(gè)新新的過程程,名稱稱為“MMyFiirsttVBAAProograam” 第2行行調(diào)用MMsgBBox 這個(gè)函函數(shù),顯顯示一個(gè)個(gè)對話框框,第33 行表表示過程程結(jié)束。VBA 程序由不同的模塊組成,在模塊內(nèi)部,可以定義不同的變量、過程或函數(shù),由此組成一個(gè)完整的程序。(3)
52、善用用工具及及其他VBA 集集成開發(fā)發(fā)環(huán)境,提提供了很很多便利利的工具具可以幫幫助或輔輔助我們們寫出好好的程序序,其中中的方便便必須親親自使用用才可以以體會(huì),因因此,一一定要善善用工具具。VBBA 的的代碼編編輯器提提供了幾幾項(xiàng)非常常有用的的功能,代代碼即時(shí)時(shí)提示可可以使我我們不必必記憶太太多的東東西,輸輸入對象象后會(huì)自自動(dòng)列出出其屬性性、方法法等內(nèi)容容。在實(shí)際的編編程過程程中,一一定要善善于利用用在線幫幫助,VVBA 的在線線幫助包包含了大大量對編編程有用用的參考考信息,任任何人都都不可能能記得住住所有的的函數(shù)、對對象的用用法和程程序語言言的語法法,所以以一定要要利用好好幫助。幫幫助的使使用
53、可以以在“幫幫助”菜菜單-VBAA編程信信息 處處獲得??煽梢酝ㄟ^過幫助目目錄瀏覽覽,或者者通過查查找輸入入關(guān)鍵字字查找相相關(guān)內(nèi)容容。圖3-3在代碼書寫寫中,如如果一句句代碼過過長,應(yīng)應(yīng)該使用用接行字字符(“-”)將其分為幾行,而不是書寫為一行,一般來說,代碼的長度不要超過80 個(gè)字符為宜,這樣閱讀方便,不需要橫向拉動(dòng)滾動(dòng)條,也不容易出錯(cuò)。例如上面第一個(gè)例子我們可以將對話框文字輸出分成2行:MsgBoox _“我的第一一個(gè)自編編程序?!睂τ诖a格格式,一一定要養(yǎng)養(yǎng)成縮進(jìn)進(jìn)的習(xí)慣慣,在過過程之后后,循環(huán)環(huán)語句、判判斷語句句之內(nèi),如如本書的的例子樣樣子,縮縮進(jìn)4 個(gè)字符,便便于閱讀讀。代碼碼中,在
54、在一個(gè)邏邏輯或者者操作完完成之后后,應(yīng)該該空一行行,以表表示其邏邏輯關(guān)系系,在過過程與過過程之間間,也應(yīng)應(yīng)該空一一行。VVBA 中,使使用單引引號“”表示示注釋,編編寫程序序時(shí),一一定要養(yǎng)養(yǎng)成注釋釋的習(xí)慣慣。注釋釋不是所所有代碼碼都要注注釋;一一般來說說,對一一個(gè)模塊塊、過程程、函數(shù)數(shù),要大大概說明明其功能能,參數(shù)數(shù);對于于一個(gè)過過程,如如果涉及及較復(fù)雜雜的算法法,要說說明其使使用的算算法或流流程。在在過程和和函數(shù)中中,對關(guān)關(guān)鍵代碼碼,說明明其操作作的目的的、算法法或流程程。3.3.22模塊、函函數(shù)和過過程(1)模塊塊模塊是自定定義的過過程、函函數(shù)保存存的地方方有兩種種基本類類型的模模塊:類類
55、模塊和和標(biāo)準(zhǔn)模模塊,本本節(jié)介紹紹標(biāo)準(zhǔn)模模塊,類類模塊將將在專門門介紹。模模塊可以以通過右右鍵單擊擊工程資資源管理理器的工工程名,選選擇“插插入 模塊”來來新建,新新建的模模塊缺省省的名稱稱為“模模塊 1”,“模模塊2”,建議在在模塊右右鍵-重命名名中更改改為有意意義的名名稱。模模塊有22 個(gè)任務(wù):(1)保存存過程和和函數(shù);(2)定義義類模塊內(nèi)內(nèi)的私有有變量或或整個(gè)工工程的公公有變量量。在模塊中可可以聲明明變量(包包括對象象),定定義過程程和函數(shù)數(shù)。過程程和函數(shù)數(shù)的定義義見下文文,變量量的聲明明如下。變量的聲明明:Dim II Dimm 表示示聲明變變量i注意:要求求變量聲聲明VBBA 缺缺省可
56、以以不聲明明變量,在在第一次次使用的的時(shí)候自自動(dòng)聲明明,但此此功能也也是VBBA 代代碼(包包括其他他Bassic 代碼)的的一個(gè)主主要錯(cuò)誤誤之源。試試想第一一次使用用了一個(gè)個(gè)變量sstrMMyFiirsttNamme,之之后又通通過sttrMyyFirrstNNme(少少一個(gè)aa)來使使用它,但但由于拼拼寫不同同,VBBA 以以為是一一個(gè)新的的變量,于于是會(huì)新新聲明一一個(gè)變量量,這樣樣的錯(cuò)誤誤極其難難以發(fā)現(xiàn)現(xiàn)??梢砸酝ㄟ^“工工具 選項(xiàng)”對對話框,在在“其他他”頁,選選中“VVBA變量量名必須須顯式聲明明所有變量量”,則則在使用用變量前前,都必必須先通通過Diim 語語句聲明明。(2)過程程過
57、程是最基基本的運(yùn)運(yùn)行單位位。一個(gè)個(gè)完整的的過程一一般類似似如下格格式:Sub TTestt(參數(shù)數(shù)列表) End SSub在以上程序序中,SSub 代表過過程種類類,表示示運(yùn)行指指定的操操作,但但不返回回運(yùn)行結(jié)結(jié)果;TTestt表示過過程名稱稱,最后后以Ennd SSub 結(jié)束。其中按值值按地址址傳遞參參數(shù)指一一種將參參數(shù)地址址而不是是將值傳傳遞給過過程的方方式,這這就使過過程訪問問到實(shí)際際的變量量。結(jié)果果,過程程可改變變變量的的真正值值。VBBA 缺缺省按地地址傳遞遞參數(shù)。Sub MMyTeest()dim VV1,V2V1 = 1V2 = 2MyTesstCaall (v11,v22) v
58、v1,vv2是參參數(shù)MsgBoox vv1MsgBoox vv2End SSubSub MMyTeestCCalll(V11,V22) VV1=55 VV2=.6End SSub調(diào)用的方法法是:運(yùn)行結(jié)束后后,你會(huì)會(huì)發(fā)現(xiàn)VV1和V2值值都被改改變了。所有的可執(zhí)執(zhí)行代碼碼都必須須屬于某某個(gè)過程程。不能能在別的的過程中中定義 Subb 過程程。Exxit Subb 語句句使執(zhí)行行立即從從一個(gè) Subb 過程程中退出出。程序序接著從從調(diào)用該該 Subb 過程程的語句句下一條條語句執(zhí)執(zhí)行。在在 Subb 過程程的任何何位置都都可以有有 Exiit SSub 語句。在在 Subb 過程程中使用用的變量量分
59、為兩兩類:一一類是在在過程內(nèi)內(nèi)顯式定定義的,另另一類則則不是。在在過程內(nèi)內(nèi)顯式定定義的變變量(使使用 Dimm 方法法)都是是局部變變量。過過程(包包括函數(shù)數(shù)等)的的創(chuàng)建可可以通過過在代碼碼窗口直直接鍵入入“Suub”來來創(chuàng)建,也也可以使使用菜單單的“插插入 過程”對對話框來來創(chuàng)建。(3)函數(shù)數(shù)函數(shù)是包含含在 FFuncctioon 和和 Ennd FFuncctioon 語語句之間間的一組組語句。Function 過程與 Sub 過程類似,但是 Function 過程可以返回值。Function 過程可以使用參數(shù)(由調(diào)用過程傳遞的常數(shù)、變量或表達(dá)式)。如果 Function 過程無任何參數(shù),
60、則 Function 語句必須包含空括號 ()。Function 過程通過函數(shù)名返回一個(gè)值,這個(gè)值是在過程的語句中賦給函數(shù)名的。Function 返回值的數(shù)據(jù)類型總是 Variant。 在下面的示示例中,CCelssiuss 函數(shù)數(shù)將華氏氏度換算算為攝氏氏度。SSub 過程 ConnverrtTeemp 調(diào)用此此函數(shù)時(shí)時(shí),包含含參數(shù)值值的變量量被傳遞遞給函數(shù)數(shù)。換算算結(jié)果返返回到調(diào)調(diào)用過程程并顯示示在消息息框中。 Sub ConnverrtTeemp() temmp = InnputtBoxx(請請輸入華華氏溫度度。, 1) MsggBoxx 溫溫度為 & Ceelsiius(temmp) &
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 做生意轉(zhuǎn)讓合同范本
- jiezhu材料采購合同范本
- 冷庫造價(jià)表合同范本
- 臨時(shí)經(jīng)銷合同范本
- 農(nóng)業(yè)苗木采購合同范本
- 58同城保潔合同范本
- 2025年度外墻落水管安裝與建筑節(jié)能技術(shù)合同
- 買魚塘合同范本
- 住房采購合同范本
- 勞務(wù)清包工合同范本
- 2025年度有限責(zé)任公司拆伙協(xié)議書范本4篇
- 【8道期末】安徽省蕪湖市2024-2025學(xué)年八年級上學(xué)期期末道德與法治試題(含解析)
- 七年級數(shù)學(xué)新北師大版(2024)下冊第一章《整式的乘除》單元檢測習(xí)題(含簡單答案)
- 2024年財(cái)政部會(huì)計(jì)法律法規(guī)答題活動(dòng)題目及答案一
- 定向鉆出入土點(diǎn)平面布置圖(可編輯)
- 高考日語基礎(chǔ)歸納總結(jié)與練習(xí)(一輪復(fù)習(xí))
- 河南省陜州區(qū)王家后鄉(xiāng)滹沱鋁土礦礦產(chǎn)資源開采與生態(tài)修復(fù)方案
- 中國高血壓臨床實(shí)踐指南(2022版)解讀
- 最常用漢字5000個(gè)
- 《了凡四訓(xùn)》課件
- 醫(yī)院住院病人健康教育表
評論
0/150
提交評論