




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
COP交易系統(tǒng)策略(TB版)核心內(nèi)容:1.CrossOver函數(shù)該函數(shù)用于判斷價格序列Price1是否在某一點上穿過價格序列Price2(即價格1從下方穿越價格2)。參數(shù):NumericSeriesPrice1(1):第一個價格序列。NumericSeriesPrice2(1):第二個價格序列。變量:BoolCon1(False):布爾變量,用于判斷條件。BoolPreCon(False):布爾變量,用于最終條件判斷。NumericCounter(0):計數(shù)器變量,用于遍歷價格序列。邏輯:如果Price1>Price2,則開始遍歷,檢查Price1是否持續(xù)等于Price2直到不再滿足或達(dá)到當(dāng)前K線索引。最終,如果Price1在某個位置小于Price2,則返回True,否則返回False。2.CrossUnder函數(shù)與CrossOver函數(shù)類似,但用于判斷價格序列Price1是否在某一點下穿過價格序列Price2(即價格1從上方穿越價格2)。邏輯:修改CrossOver函數(shù)中的條件,將Price1>Price2改為Price1<Price2,并相應(yīng)地調(diào)整最后返回的條件。3.調(diào)用KD指標(biāo)做信號利用KD指標(biāo)(隨機指標(biāo))進行交易決策。參數(shù):NumericLength(14):主要時間周期,用于計算最高和最低值。NumericSlowLength(3):平滑計算的短期周期。NumericSmoothLength(3):D值的平滑周期。變量:存儲最高價、最低價、K值、D值等。邏輯:計算過去Length周期內(nèi)的最高價和最低價。根據(jù)最高價、最低價和收盤價計算K值和D值。使用CrossOver和CrossUnder函數(shù)判斷K值和D值的交叉情況。根據(jù)市場位置和K、D值的相對位置執(zhí)行買入或賣出操作。另一版本KD指標(biāo)邏輯此版本簡化了交易決策的邏輯,直接在K值和D值的條件下執(zhí)行買入或賣出。邏輯:計算KD值。檢查市場位置和K、D值的相對位置,直接執(zhí)行買入或賣出操作,無需通過額外的CrossOver或CrossUnder函數(shù)。函數(shù)CrossOver代碼:ParamsNumericSeriesPrice1(1);//聲明數(shù)值序列參數(shù)Price1,初始值為1.NumericSeriesPrice2(1);//聲明數(shù)值序列參數(shù)Price2,初始值為1.VarsBoolCon1(False);//聲明布爾型變量Con1,初始判斷為假。BoolPreCon(False);//聲明布爾型變量PreCon,初始判斷為假。NumericCounter(0);//聲明數(shù)值變量Counter,初值為0.BeginIf(Price1>Price2)//假如價格Price1大于Price2{Counter=1;//變量Counter值等于1.//Con1=Price1[1]==Price2[1];//前一價格Price1等于前一價格Price2,把這兩價格賦值給布爾型變量Con1While(Con1andCounter<CurrentBar)//這也是一個循環(huán)語句,當(dāng)布爾型變量Con1為真,并且Counter值小于當(dāng)前k線索引值。{Counter=Counter+1;//變量Counter=前一個Counter值+1Con1=Price1[Counter]==Price2[Counter];//布爾型變量Con1值隨著變量Counter值變化了,即Counter值月大,k線的價格往回倒騰數(shù)位越多。}PreCon=Price1[Counter]<Price2[Counter];//當(dāng)k線返回索引價格Price2大于價格Price1時,把數(shù)值賦值給布爾型變量PreCon。這些運算符的先后順序,跟數(shù)學(xué)運算符差不多,一般都是先乘除后加減(*/+-),次判斷大小(<>),最后才是賦值(=)ReturnPreCon;//把布爾型變量值PreCon返回給主函數(shù)。}Else//就是假如價格Price1小于或等于Price2時。{ReturnFalse;//返回給主函數(shù)是一個錯誤值,也就是沒有值反饋回去了。}End同一根k線上,依據(jù)不同算法當(dāng)價格1大于價格2了,比如均線10與均線120,在同一根k線上,體現(xiàn)出來是不一樣的,所以才有了這上穿和下跌。函數(shù)CrossUnder條件改一下,價格Price1小于Price2時,代碼如下:ParamsNumericSeriesPrice1(1);NumericSeriesPrice2(1);VarsBoolCon1(False);BoolPreCon(False);NumericCounter(0);BeginIf(Price1<Price2){Counter=1;Con1=Price1[1]==Price2[1];While(Con1andCounter<CurrentBar){Counter=Counter+1;Con1=Price1[Counter]==Price2[Counter];}PreCon=Price1[Counter]>Price2[Counter];ReturnPreCon;}Else{ReturnFalse;}End調(diào)用KD指標(biāo)做信號:ParamsNumericLength(14);NumericSlowLength(3);NumericSmoothLength(3);VarsNumericSeriesHighestValue;NumericSeriesLowestValue;NumericSeriesKValue;NumericSumHLValue;NumericSumCLValue;NumericSeriesDValue;Boolcondition1;Boolcondition2;BeginHighestValue=HighestFC(High,Length);LowestValue=LowestFC(Low,Length);SumHLValue=SummationFC(HighestValue-LowestValue,SlowLength);SumCLValue=SummationFC(Close-LowestValue,SlowLength);If(SumHLValue<>0){KValue=SumCLValue/SumHLValue*100;}Else{KValue=0;}DValue=AverageFC(KValue,SmoothLength);If(!CallAuctionFilter())Return;condition1=CrossOver(KValue[1],DValue[1]);condition2=CrossUnder(KValue[1],DValue[1]);If(MarketPosition<>1Andcondition1){Buy(1,Open);}If(MarketPosition<>-1Andcondition2){SellShort(1,Open);}End信號代碼解釋:1.參數(shù)(Params):*`Length(14)`:主要時間周期,通常用于計算最高和最低值。 *`SlowLength(3)`:用于平滑計算的短期周期。 *`SmoothLength(3)`:用于計算D值的平滑周期。2.變量(Vars):*`HighestValue`和`LowestValue`:存儲過去`Length`周期內(nèi)的最高和最低價格。 *`KValue`:隨機指標(biāo)的K線。 *`SumHLValue`和`SumCLValue`:輔助計算K值的總和。 *`DValue`:隨機指標(biāo)的D線,它是K值的移動平均。 *`condition1`和`condition2`:用于交易決策的條件。3.計算:*`HighestValue`和`LowestValue`分別使用`HighestFC`和`LowestFC`函數(shù)計算過去`Length`周期的最高和最低價格。 *`SumHLValue`是`HighestValue`和`LowestValue`之差的`SlowLength`周期和。 *`SumCLValue`是收盤價與`LowestValue`之差的`SlowLength`周期和。 *如果`SumHLValue`不為0,則計算`KValue`(否則,`KValue`為0)。 *`DValue`是`KValue`的`SmoothLength`周期移動平均。4.交易決策:*如果`CallAuctionFilter()`返回非真值(即不滿足某些條件),則不執(zhí)行后續(xù)操作。 *`condition1`檢查K值是否上穿D值(即`KValue[1]`在上一周期低于`DValue[1]`,但在當(dāng)前周期高于它)。 *`condition2`檢查K值是否下穿D值(即`KValue[1]`在上一周期高于`DValue[1]`,但在當(dāng)前周期低于它)。 *如果當(dāng)前市場位置不是多頭(即沒有持倉或多頭持倉已平),并且滿足`condition1`,則買入。 *如果當(dāng)前市場位置不是空頭(即沒有持倉或空頭持倉已平),并且滿足`condition2`,則賣出空頭。另一版本代碼:ParamsNumericLength(14);NumericSlowLength(3);NumericSmoothLength(3);VarsNumericSeriesHighestValue;NumericSeriesLowestValue;NumericSeriesKValue;NumericSumHLValue;NumericSumCLValue;NumericSeriesDValue;BeginHighestValue=HighestFC(High,Length);LowestValue=LowestFC(Low,Length);SumHLValue=SummationFC(HighestValue-LowestValue,SlowLength);SumCLValue=SummationFC(Close-LowestValue,SlowLength);If(SumHLValue<>0){KValue=SumCLValue/SumHLValue*100;}Else{KValue=0;}DValue=AverageFC(KValue,SmoothLength);If(!CallAuctionFilter())Return;If(MarketPosition<>1AndKValue[1]>DValue[1]){Buy(1,Open);}If(MarketPosition<>-1AndKValue[1]<DValue[1]){SellShort(1,Open);}End使用了移動平均線(函數(shù),如`HighestFC`、`LowestFC`、`SummationFC`和`AverageFC`)以及兩個主要指標(biāo):K值和D值(類似于隨機指標(biāo)StochasticOscillator)。以下是代碼的詳細(xì)解釋:1.參數(shù)(Params) *`Length(14)`:用來計算最高價和最低價的周期長度。 *`SlowLength(3)`:用來計算`SumHLValue`和`SumCLValue`的周期長度。 *`SmoothLength(3)`:用來平滑K值以得到D值的周期長度。2.變量(Vars)*`HighestValue`:保存`Length`周期內(nèi)的最高價。 *`LowestValue`:保存`Length`周期內(nèi)的最低價。 *`KValue`:存儲K值,即隨機指標(biāo)的K線。 *`SumHLValue`:存儲最高價與最低價之差的累積和(在`SlowLength`周期內(nèi))。 *`SumCLValue`:存儲收盤價與最低價之差的累積和(在`SlowLength`周期內(nèi))。 *`DValue`:存儲D值,即K值的移動平均。3.交易邏輯:*首先,計算`Length`周期內(nèi)的最高價和最低價,分別存儲在`HighestValue`和`LowestValue`中。 *接著,計算`SlowLength`周期內(nèi)`HighestValue`與`LowestValue`之差的累積和(`SumHLValue`),以及收盤價與`LowestValue`之差的累積和(`SumCLValue`)。 *如果`SumHLValue`不為0,則計算K值(`KValue`),它是`SumCLValue`除以`SumHLValue`再乘以100的結(jié)果。如果`SumHLValue`為0(即最高價和最低價相同),則K值設(shè)為0。 *然后,計算D值(`DValue`),它是K值的`SmoothLength`周期內(nèi)的移
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山西華澳商貿(mào)職業(yè)學(xué)院《數(shù)字媒介史》2023-2024學(xué)年第二學(xué)期期末試卷
- 三亞學(xué)院《英語寫作Ⅲ》2023-2024學(xué)年第二學(xué)期期末試卷
- 福建醫(yī)科大學(xué)《空竹》2023-2024學(xué)年第二學(xué)期期末試卷
- 東北林業(yè)大學(xué)《論文寫作V》2023-2024學(xué)年第一學(xué)期期末試卷
- 西安醫(yī)學(xué)院《中國古典舞基本功訓(xùn)練》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年油漆工勞務(wù)合同
- 三明醫(yī)學(xué)科技職業(yè)學(xué)院《建筑裝飾圖形訓(xùn)練與解析》2023-2024學(xué)年第二學(xué)期期末試卷
- 亞克力雨棚施工方案
- 2025供貨合同(電子產(chǎn)品)
- 煙感移位施工方案
- 兩帶來范文(通用十六篇)
- 綜合錄井儀工作原理演示教學(xué)課件
- 小學(xué)三年級詩詞大會初賽比賽題目課件
- 房建監(jiān)理大綱(共114)
- 國際工程招投標(biāo)流程圖
- 城市環(huán)境衛(wèi)生工作物資消耗定額
- 液化氣站三級安全教育培訓(xùn)試題
- 經(jīng)濟法實用教程(理論部分)(第八版)(何辛)案例分析及參考答案
- 532近代前夜的危機
- 病原微生物實驗室生物安全備案專家意見表
- (精心整理)朱德熙_說 “的”
評論
0/150
提交評論