




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
綱,方便大家理解。首先我們從參數(shù)部分看起。布林帶通道策略主要用到了三個技術(shù)指標(biāo),分別是布林帶通道本身、CCI快速商品通道指標(biāo)以及TR(averagetruerange)指標(biāo)。那么在接下來計算的過程中,無疑對于通道我們需要上軌和下軌bollUp和bollDown以及我們需要ccialue和atralue。下面的其他變量,大家可能需要注意的就是這里有一個移動止損intraradeHigh和intraradeLow,它們的原理在后面我們會提到。這個策略因為并不是運行在一分鐘上的,所以我們在回撤的過程中收到一分鐘K線之后,要將其合成為我們所需要的內(nèi)容,比如說這里用到其實是15分鐘K線,所以在創(chuàng)建BarGenerator對象的時候,除了第一個self.onBar,K線合成的回調(diào)函數(shù)外,還需要傳入后面的2個參數(shù)。第二個參數(shù)是我們要合成的X分鐘K線的周期,我這里傳的是實物,就是意味著我要合成15分鐘K線,以及后面有個叫做onXminBar的函數(shù),那么這個函數(shù)可以任意的給它起名字,重點是這個函數(shù)你要在下面自己的策略代碼里面把它給實現(xiàn)出來,那么在這里就把它取名為onXminBar,當(dāng)一分鐘的K線不斷的進(jìn)到我們的BarGenerator里面,每到一個15分鐘的分隔點,onXminBar里面的回調(diào)函數(shù)就會收到的15分鐘K線的一個推送。ArrayManager還是一樣,沒有什么特別的,所以到onXminBar函數(shù)里面沒有任何主的邏輯了,唯一的邏輯是調(diào)用BarGenerator的updateBar函數(shù)把一分鐘的K線給傳進(jìn)去,讓它合成15分鐘的K線。比如從第1分鐘到第14分鐘的時候,其實onXminBar函數(shù)是不會被調(diào)用的,只有當(dāng)?shù)?5分鐘走完的時候,BarGenerator才會完成,自動來調(diào)用onXminBar,也就是說這個函數(shù)是15分鐘才會調(diào)用一次的。我們現(xiàn)在開始看里面的邏輯。第一步把之前的委托全部撤掉,cancelall,接著把的這根15分鐘K線更新到ArrayManager時間序列容器里面,然后我們就可以來計算布林帶的上下軌以及CCI指標(biāo)等,這里計算邏輯和之前都一樣,沒什么特別的。進(jìn)入下面的信號判斷的時候,大家需要注意一些要點了,比如說當(dāng)我們一般的通道突破策略可能就是簡單的說,通道算出來后上下軌同時下突破停止單,那么當(dāng)價格往任何一個方向走的時候,我們就立即進(jìn)去做多或者做空。但是對于BollChannel策略來說,它并不是說兩邊同時下的,還是會去看一下當(dāng)前CCI的情況,如果它目前處于零軸上方,是一個多頭的情況,才會選擇在布林帶的上軌去下買入突破的停止單,或者說當(dāng)目前CCI給出的信號是空頭趨勢的時候,它才會去下做空突破入場的委托。所以說在這里判斷的時候,它并不是任何一個時間點都有兩個停止單在外面,反而是只會有一個停止單在外面。那么當(dāng)我們的停止單被觸發(fā)之后,比如說變成一個多頭倉位的時候,它就會進(jìn)入一個移動止損的邏輯,那么在當(dāng)前沒有倉位的時候,我們會實行intraradeHigh或者intraradeLow。所謂intra是在什么里面,intrarade就是在這一次交易的過程中達(dá)到的High,就是最高點,intraradeLow就是這次過程中達(dá)到我的最低點。因為我們要實現(xiàn)一個移動止損的邏輯,所以在做多的情況下,其實我們只關(guān)心intraradeHigh,做空的情況下,只關(guān)心intraradeLow。這一點大家記住,就是盡管另一個數(shù)值也是在實時的更新的,但其實我并不關(guān)心它到底是多少。當(dāng)我持有多頭倉位的時候,對于每一根新進(jìn)來的K線,我都要看一下這根K線的最高價和我持倉周期里面價格到過的最高價之間做一個比較,如果說前者大于后者,說明在最近的15分鐘里面它又漲的一個新的高點,那么我也就要通過取max函數(shù)的方式來更新一下我當(dāng)前持倉期里面價格到過的最高點。做空關(guān)注intraradeLow的時候,直接把它更新為根K線的低點,然后來計算我們的多頭止損價格,也就longStop價格的時候,這里大家需要看一下,我們是用是intraradeHigh,減去atralue乘以slMultltiplier,其中sl是stoplost的縮寫,也就是說我們在這里用的止損方案肯定是用持倉周期到過的最高點,但是我減去的不再是一個固定的值,也不是一個百分比的值,而是基于當(dāng)前的波動程度反映出來的TR指標(biāo)成一個固定比例的止損寬度,采用這么一個方案作為移動止損的位置,同樣空投委托的時候也是一樣,沒有什么特別的。大家注意一下下單的時候,像我這里sell的時候,我傳的第1個參數(shù)是longStop,就是上一步里算出來的價格;第二個是因為我要把我所有的倉位都平掉,這里直接傳來一個abs(self.pos)。盡管在做多頭倉位下它肯定是大于零的,所以這里abs不寫沒關(guān)系,但是一般出于習(xí)慣還是把它寫了;后面的ure就意味著我們需要用停止單去下,起到一個止損的作用。在下面的空頭的情況下,self.pos是小于零的,這里的abs取絕對值(absolutevalue)就比下面就是和之前一樣把數(shù)據(jù)同步到數(shù)據(jù)庫,以及發(fā)出更新我們界面的一個。所以盡管這個策略本身的主要邏輯都在onXminBar的函數(shù)里面,但我們可以看到對于通道突破這種策略,它中間的邏輯判斷的條數(shù)就已經(jīng)比我們上一節(jié)課提到的內(nèi)容要一些。接下來是KingKeltner策略。剛剛漏了布林帶通道的一點,布林帶是的中軌是用移動平均線線算出來的,比如說27的移動平均線,它就是27的一個布林帶,它的中軌就是一個27的移動平均線,然后通道的寬度則是基于K線收盤價的一個標(biāo)準(zhǔn)差standarddeviation算出來的。那么與之相對應(yīng)的則是肯特納的通道,它的中軌也是均線,但是它通道的寬度不再用的標(biāo)準(zhǔn)差,而是用的TR指標(biāo)。TR指標(biāo)和標(biāo)準(zhǔn)差最大的區(qū)別在于,TR指標(biāo)同時考慮了每一根K線的最高價和以及之前一根K線開盤價的相對的位置,也就是說它反映了所謂的truerange真實波動范圍??赡苡脴?biāo)準(zhǔn)差的話就只會去看每根K線的收盤價,從前一根K線收盤價到這根K線收盤價之間的變動,而忽略了在K線走的過程中的最高價和之間的一些狀態(tài)。所以這兩個通道盡管說都是通道,肉眼看可能也有點接近,但是本質(zhì)上它們反映的統(tǒng)計指標(biāo)特征是不一樣的。對于kingKeltner策略,我們這里把它命名為kkStrategy,它主要的參數(shù)其實就三個,第一個是肯特納通道的長度,是用來看多少G窗口的,通道寬度以及使用了一個叫做百分比固定的移動止損的方法,沒有再使用之前布林帶的TR的移動止損方法,但注意我們這里采用了百分比的移動方法,并不意味著它就是最優(yōu)的方案,你可以嘗試去把它改為布林帶里面的TR移動止損方案,或者說之前的固定數(shù)值的移動止損方案等。其實做CA策略研究過程中,就是不停地把這些基礎(chǔ)的工具不斷的做一些排列組合,嘗試性的調(diào)優(yōu)去找出更好的結(jié)果出來。運營過程中的變量則少了一些了,因為沒有CCI過濾用的這么一個指標(biāo)了,這里只有kkUp和kkDown這兩個肯特納通道的上下軌,以及intraradeHigh和intraradeLow。因為肯特納通道策略是跑在5分鐘K線上的,所以BarGenerator初始化的時候,傳的參就是5了。同時大家注意到我的接受5分鐘K線的回調(diào)函數(shù),這次改了一個名字,不再是onXminBar了,而是一個oniveBar,就是5分鐘K線,反正具體命名你選什么沒關(guān)系,都一樣,只是要在下面實現(xiàn)這個函數(shù)的時候?qū)懲瑯拥拿志秃昧?。在strategyKingKeltner里面,我們沒有再去使用之前用的比較多的cancelAll函數(shù)了,而是采用了另外一種寫法,把具體時候的掛撤單的細(xì)節(jié)給了出來。是給大家作為一個學(xué)習(xí)上示范的目的,并不代表你自己實盤寫的時候一定要這么寫。第一步的操作還是全撤,就是fororderIDinself.orderList,然后cancelOrder,把所有第二步保存K線的數(shù)據(jù)緩第三步計算通道上下軌在這里當(dāng)我們執(zhí)行的時候,大家要注意到我們這里用的不再是一個之前的BuyOrsell,而是用了一個OcoOrder,所謂OcoOrder就是OneCancelOther。我們可以定位到這個函數(shù)這邊去看一下,還是按住Ctrl按著鼠標(biāo)點擊這個函數(shù)就會自動跳轉(zhuǎn)過去。在這里我們首先可以看到,OcoOrder函數(shù)一共有2個入?yún)ⅲ悍謩e是買入價格buyPrice和賣出價格shortPrice,以及要去入場的一個數(shù)量volume。其實和我們之前的布林帶的寫法有異曲同工,本身也是實現(xiàn)一個叫做區(qū)間突破入場的這么一個功能。但是它下單的時候是兩邊的同時掛出去的,同時如果有某一邊之后,應(yīng)該立即把另一邊的委托給撤銷掉,避免被所謂的“來回”。所以在這里sendOcoOrder的時候,我們本質(zhì)上是先去掛出買入委托,再把對應(yīng)的委托號列表給緩存下來,然后調(diào)用self.short,掛出方向的委托,同時緩存委托號,并且把2個委托號添加到多頭和空頭的委托號列表,一起添加到所有的委托號列表里面,調(diào)用self.orderListextend的函數(shù),把buyOrderIDList和shortOrderIDList中的內(nèi)容添加到了orderList,就是不分方向的這個列表里面。所以在入場的時候,就都用sendOcoOrder當(dāng)有任何一個方向出現(xiàn)的時候,可以看一下在onrade的函數(shù)的時候,如果有多頭的開倉者的話,也就當(dāng)我們pos大于零的時候,就要把對應(yīng)的空頭那邊的委托全部撤掉,所以要調(diào)用self.cancelOrder,把shortOrderIDList這種東西都給撤了。反過來如果有空頭的,當(dāng)前倉位變成負(fù)的情況下,也一樣要把多頭那邊的委托也給撤銷掉,同時把這些委托號從orderList里面給移除掉,那么這個就實現(xiàn)了一個所謂的OCO(OneCancelOrther)的功能,只要有一邊的話,另外一邊就會被自動撤銷掉。再下面的多頭的移動止損和空頭移動止損上就沒什么特別的,唯一要注意的就是我們這里的移動止損價格使用的是百分比移動止損的方法,而不再是之前的TR倍數(shù)的方法。這節(jié)課的內(nèi)容就先到3030小白學(xué)量化從0-1直達(dá)中755人已惠現(xiàn)在訂閱,立省18.00
【小課06】基于模塊動CTA(下)——2個進(jìn)階股
【小課04】基于模塊動
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年員工工資保密協(xié)議模板
- 第四單元-兩、三位數(shù)除以一位數(shù)(單元測試)-蘇教版數(shù)學(xué)三年級上冊(含解析)-
- 期末學(xué)業(yè)水平測試題(卷)-語文三年級上冊(部編版)
- 2025年黑龍江建筑職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫1套
- 2025年湖南省湘潭市單招職業(yè)傾向性測試題庫參考答案
- 中學(xué)非球類運動教學(xué)設(shè)計
- 專題18 電功率-2025年中考《物理》一輪復(fù)習(xí)知識清單與解題方法
- 2025年度土地承包種植與農(nóng)業(yè)科技成果轉(zhuǎn)化合同
- 2025年度云計算服務(wù)器采購及運維服務(wù)合同
- 2025年度員工向公司借款合同爭議處理規(guī)則合同
- 3dsMax20223維動畫制作標(biāo)準(zhǔn)教程PPT完整版全套教學(xué)課件
- 《公路工程計量與計價》說課草稿
- NXT上的PoP貼裝課件
- 2023-2024蘇教版小學(xué)數(shù)學(xué)5五年級下冊(全冊)教案設(shè)計
- 批評他人發(fā)言稿(通用12篇)
- 上海實驗學(xué)校幼升小測試題資料
- 一年級美術(shù)課后服務(wù)教案-1
- 重大疾病保險的疾病定義使用規(guī)范(2020年修訂版)-
- RB/T 040-2020病原微生物實驗室生物安全風(fēng)險管理指南
- GB/T 8162-2018結(jié)構(gòu)用無縫鋼管
- 《傲慢與偏見》讀書匯報
評論
0/150
提交評論