公式高級應(yīng)用實用教案_第1頁
公式高級應(yīng)用實用教案_第2頁
公式高級應(yīng)用實用教案_第3頁
公式高級應(yīng)用實用教案_第4頁
公式高級應(yīng)用實用教案_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、持倉交易系統(tǒng)的設(shè)計(shj)要素u設(shè)計思路:趨勢跟蹤;u設(shè)計原則:不能錯過主要趨勢;u設(shè)計細(xì)節(jié)(xji):減少盤整時的連續(xù)虧損和最大資金回撤。u總結(jié):uCut loss short, Let profit runu截短虧損,讓利潤奔跑!第1頁/共63頁第一頁,共64頁。常見(chn jin)的持倉交易系統(tǒng)u高低點突破系統(tǒng)(四周法則)u雙均線系統(tǒng)(DualMA)u波動性突破系統(tǒng)(ATR)u布林通道(tngdo)突破系統(tǒng)(BOLL)u拋物線轉(zhuǎn)向系統(tǒng)(SAR)u顧比倒數(shù)線系統(tǒng)(CBL)第2頁/共63頁第二頁,共64頁。Keltner Channel Systemu基于Keltner Channel(

2、肯特納通道)的持倉交易系統(tǒng)。u由價格均線( jn xin)和ATR形成通道,當(dāng)價格突破通道產(chǎn)生入場訊號。第3頁/共63頁第三頁,共64頁。Keltner Channel原理(yunl)u肯特納通道(KC)是一個移動平均通道,由三條線組合而成(上軌、中線及下軌),若價格突破邊界,即表示出現(xiàn)開倉機(jī)會。u肯特納通道是基于平均真實波幅原理(yunl)而形成的指標(biāo),對價格波動反應(yīng)靈敏,基于KC的系統(tǒng)可以實時開倉,不需要等待下一個Bar。第4頁/共63頁第四頁,共64頁。Keltner Channel算法(sun f)u中線 = Typical Price 的 N 周期平均(pngjn)值;uTypica

3、l Price =(High+Low+Close)/3;u上軌 = 中線 + 通道;u通道 = NumATRs * 平均(pngjn)真實波幅。第5頁/共63頁第五頁,共64頁。Keltner Channel指標(biāo)(zhbio)ParamsNumeric Length(20);Numeric NumATRs(1);VarsNumericSeries TPrice;Numeric AvgValue;Numeric ShiftValue;Numeric UpperBand;Numeric LowerBand;BeginTPrice = (High+Low+Close)/3;AvgValue = Av

4、erageFC(TPrice,Length);ShiftValue = NumATRs*AvgTrueRange(Length);UpperBand = AvgValue + ShiftValue;LowerBand = AvgValue - ShiftValue;PlotNumeric(UpperBand,UpperBand);PlotNumeric(LowerBand,LowerBand);PlotNumeric(MidLine,AvgValue);End第6頁/共63頁第六頁,共64頁。KCS 版本(bnbn)1(1)ParamsNumeric Length(20);Numeric Nu

5、mATRs(1); VarsNumericSeries TPrice;Numeric AvgValue;NumericSeries ShiftValue;Numeric UpperBand;Numeric LowerBand;Numeric MyPrice; BeginTPrice = (High1+Low1+Close1)/3;AvgValue = AverageFC(TPrice,Length);ShiftValue = NumATRs*AvgTrueRange(Length);UpperBand = AvgValue + ShiftValue1;LowerBand = AvgValue

6、- ShiftValue1;第7頁/共63頁第七頁,共64頁。KCS版本(bnbn)1(2) If(MarketPosition!=1 & High = UpperBand)MyPrice = UpperBand;If(Open MyPrice) MyPrice = Open;Buy(1,MyPrice);Return;If(MarketPosition!=-1 & Low = LowerBand)MyPrice = LowerBand;If(Open 1) HigherAfterEntry = Max(HigherAfterEntry1,High1);LowerAfterEn

7、try = Min(LowerAfterEntry1,Low1); Commentary(HigherAfterEntry=+Text(HigherAfterEntry); Commentary(LowerAfterEntry=+Text(LowerAfterEntry);第15頁/共63頁第十五頁,共64頁。KCS_V3(5) If(MarketPosition=1)If(Low = HigherAfterEntry - TrailingStop*MinPoint)MyPrice = HigherAfterEntry - TrailingStop*MinPoint;If(Open = Low

8、erAfterEntry + TrailingStop*MinPoint)MyPrice = LowerAfterEntry + TrailingStop*MinPoint;If(Open MyPrice) MyPrice = Open;BuyToCover(1,MyPrice);第16頁/共63頁第十六頁,共64頁。KCS_V3(6)u我們將編譯后的系統(tǒng)重新運(yùn)行,會看到凈利潤上升了13295,最大資金回撤下降了14575,改進(jìn)的效果是非常明顯的。u我們再回顧2006年7月的圖表,KCSV3的訊號如下圖:u如圖中紅圈位置,在跟蹤止損之后,價位( ji wi)還在KC上軌之上,系統(tǒng)再次入場。u我

9、們應(yīng)該思考一種新的入場規(guī)則,在跟蹤止損或止損后再次入場。第17頁/共63頁第十七頁,共64頁。KCS_V3(7)第18頁/共63頁第十八頁,共64頁。KCS_V4(1)u重新入場規(guī)則:u做多時突破前期高點再次入場;u做空時突破前期低點再次入場。u為了實現(xiàn)(shxin)重新入場,我們需要記錄跟蹤止損的狀態(tài)。u還需要記錄最近的最高、最低點。第19頁/共63頁第十九頁,共64頁。KCS_V4(2) 新增序列(xli)變量: BoolSeries bLongTrailingStoped; BoolSeries bShortTrailingStoped; 初始化: If(BarStatus 0) bLo

10、ngTrailingStoped = bLongTrailingStoped1;bShortTrailingStoped = bShortTrailingStoped1; Commentary(bLongTrailingStoped=+IIFString(bLongTrailingStoped,True,False); Commentary(bShortTrailingStoped=+IIFString(bShortTrailingStoped,True,False);第20頁/共63頁第二十頁,共64頁。KCS_V4(3)u 增加一個條件分支(fnzh),記錄HigherAfterEntry

11、和LowerAfterEntry的值。u 再次入場的代碼:u If(bLongTrailingStoped & MarketPosition=0 & High HigherAfterEntry)u uMyPrice = HigherAfterEntry + MinPoint;uIf(Open MyPrice) MyPrice = Open;uBuy(1,MyPrice);ubLongTrailingStoped = False;uReturn;u u If(bShortTrailingStoped & MarketPosition=0 & Low LowerAf

12、terEntry)u uMyPrice = LowerAfterEntry - MinPoint;uIf(Open =UpperBand) MyPrice = UpperBand;If(Open MyPrice) MyPrice = Open;Buy(1,MyPrice);Return;第30頁/共63頁第三十頁,共64頁。RBS_V1(2)If(MarketPosition!=-1 & Low=LowerBand)MyPrice = LowerBand;If(Open =ExitOnCloseMins/100)Sell(1,Open);BuyToCover(1,Open);SetEx

13、itOnClose;End第31頁/共63頁第三十一頁,共64頁。RBS_V1(3)u我們將最初級版本的系統(tǒng)應(yīng)用于所有品種(pnzhng)的指數(shù)中(可行性測試,選取了指數(shù)的30分鐘周期,數(shù)據(jù)范圍為2008.1.1-現(xiàn)在)。除了玉米,小麥等少數(shù)價低品種(pnzhng)外,絕大部分都是盈利,有些品種(pnzhng)還有不錯的資金曲線。u證明該系統(tǒng)的有不錯的胚子,值得繼續(xù)深入研究。第32頁/共63頁第三十二頁,共64頁。RBS_V2(1) 如果前一日漲?;虻?,則會出現(xiàn)范圍很小。 兩種解決方案: 1、設(shè)定一個范圍的最小值,假定為當(dāng)前價格( jig)的0.2%。 2、考慮上當(dāng)前的開盤價,加上跳空的范圍

14、。 我們選擇第一種方法。第33頁/共63頁第三十三頁,共64頁。RBS_V2(2)Params Numeric MinRange(0.2);Vars NumericSeries DayOpen; Numeric preDayHigh; Numeric preDayLow; NumericSeries preDayRange;Begin preDayHigh = HighD(1); preDayLow = LowD(1); If(Date!=Date1) DayOpen = Open; preDayRange = preDayHigh - preDayLow; If(preDayRange Op

15、en*MinRange*0.01) preDayRange = Open*MinRange*0.01; Else DayOpen = DayOpen1; preDayRange = preDayRange1; 第34頁/共63頁第三十四頁,共64頁。RBS_V3(1) 有可能通道會比較寬,難道非要等到反轉(zhuǎn)才平倉? 考慮增加止損設(shè)置,也有2種方案(fng n): 1、虧損固定點數(shù)。 2、虧損當(dāng)前價格的百分比。 考慮到商品價格變化的差異,我們采取第二種方式。第35頁/共63頁第三十五頁,共64頁。RBS_V3(2) 先增加一個變量StopLine,用來保存止損位置(wi zhi)。 下面是做多時的

16、止損代碼: If(MarketPosition=1) StopLine = AvgEntryPrice-DayOpen*StopLossSet*0.01;If(Low = StopLine)MyPrice = StopLine;If(Open = StopLine)MyPrice = StopLine;If(Open MyPrice) MyPrice = Open;BuyToCover(Lots,MyPrice); 第37頁/共63頁第三十七頁,共64頁。RBS_V4(1) 突破的時效性,發(fā)生在上午和下午(xiw)意義是不同的。 不同的商品時效屬性不盡相同 為此我們增加最后交易時間參數(shù),可供優(yōu)

17、化測試來確定最佳值。第38頁/共63頁第三十八頁,共64頁。RBS_V4(2) 增加參數(shù): Numeric LastTradeMins(14.00); 開倉條件處增加一個(y )時間條件。 If(MarketPosition!=1 & High=UpperBand & Time LastTradeMins/100) / 多頭開倉 If(MarketPosition!=-1 & Low=LowerBand & Time 1) HigherAfterEntry = max(HigherAfterEntry1,High1);LowerAfterEntry = min(

18、LowerAfterEntry1,Low1); 第42頁/共63頁第四十二頁,共64頁。RBS_V5(4) 跟蹤止損的編碼可配合前面的止損編碼一起(yq)控制。 If(HigherAfterEntry=AvgEntryPrice+DayOpen*TrailingStart*0.01) StopLine = HigherAfterEntry - DayOpen*TrailingStop*0.01; Else / 止損 StopLine = AvgEntryPrice-DayOpen*StopLossSet*0.01; If(Low = StopLine) MyPrice = StopLine;I

19、f(Open HigherAfterEntry & Time MyPrice) MyPrice = Open;Buy(1,MyPrice);bLongStoped = False;Return; 第46頁/共63頁第四十六頁,共64頁。RBS_V6(4) / 做空再次(zi c)入場代碼: If(bShortStoped & MarketPosition=0 & Low LowerAfterEntry & Time LastTradeMins/100) MyPrice = LowerAfterEntry - MinPoint;If(Open MyPrice) M

20、yPrice = Open;SellShort(1,MyPrice);bShortStoped = False;Return; 第47頁/共63頁第四十七頁,共64頁。RBS_V7(1) 增加漲跌停板控制,接近漲跌停板不會開倉。 價格( jig)到達(dá)漲跌停板馬上平倉。第48頁/共63頁第四十八頁,共64頁。RBS_V7(2)我們新建一個(y )布爾變量bInBoardRange,默認(rèn)值設(shè)置為False。InBoardRange = (Open Q_UpperLimit - DayOpen*StopLossSet*0.02);在開倉條件中加入(InBoardRange=false)第49頁/共6

21、3頁第四十九頁,共64頁。RBS_V7(3) 為了在價格達(dá)到漲跌停價馬上平倉,我們(w men)需要在增加如下代碼: 做多時: If(Open = Q_UpperLimit) Sell(1,Open); 做空時: If(Open = Q_LowerLimit) BuyToCover(Lots,Open);第50頁/共63頁第五十頁,共64頁。RBS_V8(1) 增加失敗次數(shù)限制,防止單日虧損無限制擴(kuò)大。 增加二個變量(binling)記錄失敗的次數(shù)。NumericSeries LongFailureCnts;NumericSeries ShortFailureCnts; 增加一個參數(shù)設(shè)置最大次

22、數(shù)。Numeric FailureLimit(2);第51頁/共63頁第五十一頁,共64頁。RBS_V8(2) 在腳本開始部分增加序列變量值的向后傳遞處理。 在平倉時增加是否(sh fu)虧損的判斷,如果虧損則將計數(shù)+1.If(PositionProfit 0 ) LongFailureCnts = LongFailureCnts + 1; 在開倉時增加次數(shù)限定。 LongFailureCnts FailureLimit第52頁/共63頁第五十二頁,共64頁。第三(d sn)部分編程重點難點問題(wnt)分析第53頁/共63頁第五十三頁,共64頁。TB運(yùn)行機(jī)制(1)第54頁/共63頁第五十四頁

23、,共64頁。TB運(yùn)行機(jī)制(2)u簡單概括就是:從左到右,從上到下。u盤后公式的執(zhí)行情況(qngkung)分析;u盤中公式的執(zhí)行情況(qngkung)分析;第55頁/共63頁第五十五頁,共64頁。序列(xli)變量(1)u理解了公式的運(yùn)行機(jī)制,對于序列變量的理解就相當(dāng)容易了。u序列變量是和K線完全對應(yīng)的一組數(shù)據(jù)。u通過XXXnOffset進(jìn)行數(shù)據(jù)回溯。u通過序列變量可以實現(xiàn)很多復(fù)雜(fz)的算法:從簡單的求和,求平均,求累計值,到稍復(fù)雜(fz)的求最大值,最小值,到更復(fù)雜(fz)的求相關(guān)系數(shù),之字轉(zhuǎn)向等。第56頁/共63頁第五十六頁,共64頁。序列(xli)變量(2)u我們以求日內(nèi)最高價舉例(

24、j l)簡述一下序列變量的用法。uVarsu NumericSeries todayHigh;uBeginu If(Date!=Date1)u u todayHigh = High;u elseu u todayHigh = max(todayhigh1,high);u u PlotNumeric(“todayHigh”, todayHigh);uEnd第57頁/共63頁第五十七頁,共64頁。全局變量(1)u序列變量在每個Bar都有且只有一個值,和K線的Close一樣,在同一個Bar的多次刷新過程中會出現(xiàn)變化。u假設(shè)我們有這樣一個需求:當(dāng)Data0和Data1的價差小于-200,即買入1手Data0,賣出1手Data1。盤中價格可能多次小于-200,如果(rgu)用序列變量,則無法控制交易的手?jǐn)?shù),每次價格小于-200都會交易,直到錢用光,不能買入為止。u為了解決這樣的問題,我們引入了全局變量。第58頁/共63頁第五十八頁,共64頁。全局變量(2)u每個公式應(yīng)用有50個全局變量,一個指標(biāo)算著一個公式應(yīng)用,一個圖表中的多個交易指令算著一組公式應(yīng)用。u可以將50個全局變量理解為依附公式應(yīng)用的50個小盒子,開始(kish)的時候每個全局變量都被初始化為無效值。之后所有的改動都由用戶控制,只要圖表不關(guān)閉,這些數(shù)據(jù)都會一

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論