快慢均線策略(MC版)_第1頁
快慢均線策略(MC版)_第2頁
快慢均線策略(MC版)_第3頁
快慢均線策略(MC版)_第4頁
快慢均線策略(MC版)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

快慢均線策略本策略一個基于移動平均線交叉(MovingAverageCrossOver,簡稱MACO)的交易策略,并對其進(jìn)行了優(yōu)化。交易邏輯思路1.

均線交叉識別趨勢:使用快速均線和慢速均線的交叉來識別潛在的趨勢。當(dāng)快速均線上穿慢速均線時,視為可能的上升趨勢開始;當(dāng)快速均線下穿慢速均線時,視為可能的下降趨勢開始。2.

延遲進(jìn)場:識別趨勢后并不立即進(jìn)場,而是等待進(jìn)一步確認(rèn)趨勢的開始。通過設(shè)置在一定數(shù)目的K線內(nèi)有效的買入或賣出條件單來確定趨勢。3.

買入與賣出條件:買入:快速均線上穿慢速均線后,將最近12根K線的高點(diǎn)加上3%的位置設(shè)為“買入突破線”,價格突破該線時發(fā)出買入指令,指令在12根K線內(nèi)有效。賣出:快速均線下穿慢速均線后,將最近12根K線的低點(diǎn)減少3%的位置設(shè)為“賣出突破線”,價格跌破該線時發(fā)出賣出指令,指令在12根K線內(nèi)有效。4.

反手出場:如果持有多頭頭寸觸發(fā)了賣出指令,先平掉多頭頭寸然后開立空頭頭寸;反之亦然。5.

周期出場:持有多頭時,價格跌破最近8根K線的低點(diǎn)則平倉;持有空頭時,價格突破最近8根K線的高點(diǎn)則平倉。6.

再進(jìn)場策略:多頭出場后,記下出場時最近10根K線的高點(diǎn),如果在出場后15根K線內(nèi)價格達(dá)到該高點(diǎn)則重新做多。空頭出場后,記下出場時最近10根K線的低點(diǎn),如果在出場后15根K線內(nèi)價格達(dá)到該低點(diǎn)則重新做空。策略特點(diǎn)1.

減少假信號:通過延遲進(jìn)場和設(shè)置有效條件單,減少市場橫向整理或起伏不定時產(chǎn)生的假信號。2.

靈活性:允許用戶通過調(diào)整K線數(shù)量和百分比來優(yōu)化策略參數(shù),增加策略的適應(yīng)性和靈活性。3.

參數(shù)優(yōu)化:將原策略的9個變量參數(shù)縮減至3個,減少過度擬合的風(fēng)險。4.

再進(jìn)場邏輯:盡管再進(jìn)場邏輯在回測中表現(xiàn)不明顯,但策略仍提供了再進(jìn)場的選項,以捕捉趨勢繼續(xù)時的機(jī)會。5.

代碼實(shí)現(xiàn):策略代碼詳細(xì)注釋,易于理解和修改,方便用戶根據(jù)實(shí)際情況進(jìn)行調(diào)整。6.

策略因子:使用均線和最高/最低點(diǎn)作為策略因子,這些因子在交易中被證明是有效的。通過這些邏輯和特點(diǎn),該策略旨在在捕捉市場趨勢的同時,盡量減少虧損和假信號,提高交易的成功率。策略說明:傳統(tǒng)的移動平均線交叉系統(tǒng)尋找快速均線和慢速均線的交叉來捕捉趨勢。在快速均線上穿慢速均線時買入,期待市場趨勢上漲,反之則賣出,期待市場趨勢下跌。這種技術(shù)在有趨勢的市場很有效果,但當(dāng)市場橫向整理或是起伏不定時,均線將反復(fù)交叉從而產(chǎn)生許多導(dǎo)致虧損的假信號。MovingAverageCrossOver(MACO)系統(tǒng)充分利用趨勢的同時盡量避免或減少假信號的產(chǎn)生,方法是識別趨勢后并不立即進(jìn)場,而是確定這是一波行情的開始之后再作為。系統(tǒng)使用快速均線和慢速均線的交叉來識別一波潛在的趨勢,直到上升趨勢或下降趨勢確定后才發(fā)出買入或賣出信號。系統(tǒng)通過設(shè)置在一定數(shù)目的K線內(nèi)有效的買入或賣出條件單來確定趨勢。原策略進(jìn)場:買入:一旦快速均線上穿慢速均線,系統(tǒng)把最近12根K線的高點(diǎn)加上3%的位置設(shè)為“買入突破線”,如果價格突破“買入突破線”時則發(fā)出買入指令,突破指令在12根K線內(nèi)有效,即如果12根K線內(nèi)未突破則取消本次交易。賣出:一旦快速均線下穿慢速均線,系統(tǒng)把最近12根K線的低點(diǎn)減少3%的位置設(shè)為“賣出突破線”,如果價格跌破“賣出突破線”時則發(fā)出賣出指令,突破指令在12根K線內(nèi)有效。最近多少根K線的高點(diǎn)以及超過多少百分比作為策略參數(shù)輸入,允許使用者靈活測試和優(yōu)化。原策略出場:反手出場:上述的買入或賣出指令也是反手指令,即:如果持有多頭而觸發(fā)了賣出指令,我們將先平掉多頭頭寸然后開立空頭頭寸,反之亦然。周期出場:持有多頭時,價格跌破最近8根K線的低點(diǎn),多頭平倉;持有空頭時,價格突破最近8根K線的高點(diǎn),空頭平倉。原策略再進(jìn)場:上述的出場策略有時會導(dǎo)致提前出場并導(dǎo)致系統(tǒng)錯失大的利潤,再進(jìn)場策略可以在趨勢繼續(xù)時重建原來的頭寸。多頭出場后,記下出場時最近10根K線的高點(diǎn),如果在出場后15根K線內(nèi)價格達(dá)到最近10根K線的高點(diǎn)重新做多;空頭出場后,記下出場時最近10根K線的低點(diǎn),如果在出場后15根K線內(nèi)價格達(dá)到最近10根K線的低點(diǎn)重新做空。策略點(diǎn)評及改進(jìn)原策略代碼邏輯非常嚴(yán)謹(jǐn)。策略使用了均線與highest/lowest這兩個有效策略因子,能獲得正向的交易效果也是意料之中。第一步:在原進(jìn)場邏輯中,價格突破相對高低點(diǎn)后加百分比點(diǎn)數(shù)作為進(jìn)場信號。這點(diǎn)其實(shí)很大限度影響了策略普適性。因此將百分比點(diǎn)數(shù)改成了N倍真實(shí)波幅。第二步:原策略源碼有9個變量參數(shù),方便擬合不同品種,不同周期。但這也同時增加了過度擬合的風(fēng)險,因此我們將參數(shù)縮減至3個。第三步:在回測數(shù)據(jù)時發(fā)現(xiàn)原策略中再進(jìn)場邏輯表現(xiàn)效果并不明顯,因此將原策略的再進(jìn)場策略部分進(jìn)行了刪減處理。第四步:重新測試優(yōu)化參數(shù)。策略完整版代碼:inputs:sb1(50),sb2(54),zq(30);//定義輸入?yún)?shù)variables:varx(0),var0(0),var1(0),//真實(shí)波動范圍和兩個周期內(nèi)的收盤價平均值var3(0),var4(0),var13(0),var14(0),//買入突破線和賣出突破線,以及記錄位置的變量var15(0),var16(0),var17(0);//其他可能需要的變量//計算平均真實(shí)波動范圍varx=AvgTrueRange(sb2);//計算兩個周期內(nèi)的收盤價平均值var0=Average(close,sb1);var1=Average(close,sb2);//定義條件1:快速均線上穿慢速均線且當(dāng)前K線大于zq-1condition1=var0crossabovevar1;ifcondition1andcurrentbar>zq-1thenbeginvar3=highest(high,zq)+0.03*varx;//計算買入突破線var4=currentbar;//記錄當(dāng)前K線位置end;//如果當(dāng)前K線大于var4且小于等于var4+zq,則買入ifcurrentbar>var4andcurrentbar<=var4+zqthenbuy("b1")nextbaratvar3stop;//定義條件2:快速均線下穿慢速均線且當(dāng)前K線大于zq-1condition2=var0crossundervar1;ifcondition2andcurrentbar>zq-1thenbeginvar13=lowest(low,zq)-0.03*varx;//計算賣出突破線var14=currentbar;//記錄當(dāng)前K線位置end;//如果當(dāng)前K線大于var14且小于var14+zq,則賣出ifcurrentbar>var14andcurrentbar<var14+zqthensellshort("s1")nextbaratvar13stop;//多頭出場邏輯ifmarketposition=1thenbeginsellnextbaratlowest(low[1],15)stop;//價格跌破最近8根K線的低點(diǎn)則平倉var4=highest(high,zq)+20*varx;//更新買入突破線end;//空頭出場邏輯ifmarketposition=-1thenbeginbuytocovernextbarathighest(high[1],15)stop;//價格突破最近8根K線的高點(diǎn)則平倉var14=lowest(low,zq)-20*varx;//更新賣出突破線end;缺失版策略代碼:inputs:sb1(50),sb2(54),zq(30);variables:varx(0),var0(0),var1(0),var2(0),var3(0),var4(0),var5(0),var6(0),var7(0),var12(0),var13(0),var14(0),var15(0),var16(0),var17(0);varx=AvgTrueRange(sb2);var0=Average(close,sb1);var1=Average(close,sb2);condition1=var0crossabovevar1;ifcondition1andcurrentbar>zq-1thenbeginvar3=highest(high,zq)+0.03*varx;var4=currentbar;end;ifcurrentbar>var4andcurrentbar<=var4+zqthenbuy("b1")nextbaratvar3stop;condition2=var0crossundervar1;ifcondition2andcurrentbar>zq-1thenbeginvar13=lowest(low,zq)-0.03*varx;var14=currentbar;end;ifcurrentbar>var14andcurrentbar<var14+zqthensellshort("s1")nextbaratvar13stop;ifmarketposition=1thenbeginsellnextbaratlowest(low[1],15)stop;var4=highest(high,zq)+20*varx;end;ifmarketposition=-1thenbeginbuytocovernextbarathighest(high[1],15)stop;var14=lowest(low,zq)-20*varx;end;缺失版代碼注解輸入?yún)?shù)sb1=50#表示某種周期或參數(shù)值sb2=54#表示某種周期或參數(shù)值zq=30#表示某種時間周期或數(shù)量定義變量varx=0#用于存儲平均真實(shí)波動范圍var0=0#用于存儲特定周期內(nèi)收盤價的平均值var1=0#用于存儲另一個特定周期內(nèi)收盤價的平均值var2=0var3=0var4=0var5=0var6=0var7=0var12=0var13=0var14=0var15=0var16=0var17=0計算varx為sb2的平均真實(shí)波動范圍varx=AvgTrueRange(sb2)計算var0為sb1周期內(nèi)收盤價的平均值var0=Average(close,sb1)計算var1為sb2周期內(nèi)收盤價的平均值var1=Average(close,sb2)定義條件1:var0上穿var1且當(dāng)前柱線大于zq-1condition1=var0crossabovevar1ifcondition1andcurrentbar>zq-1:#如果條件1成立,計算var3為zq周期內(nèi)最高價的最高值加上0.03倍的varxvar3=highest(high,zq)+0.03*varx#記錄當(dāng)前柱線位置到var4var4=currentbar#如果當(dāng)前柱線大于var4且小于等于var4+zq,則在下一根柱線以var3的價格買入ifcurrentbar>var4andcurrentbar<=var4+zq:buy("b1")nextbaratvar3stop定義條件2:var0下穿var1且當(dāng)前柱線大于zq-1condition2=var0crossundervar1ifcondition2andcurrentbar>zq-1:#如果條件2成立,計算var13為zq周期內(nèi)最低價的最低值減去0.03倍的varxvar13=lowest(low,zq)-0.03*varx#記錄當(dāng)前柱線位置到var14var14=currentbar#如果當(dāng)前柱線大于var14且小于var14+zq,則在下一根柱線以var13的價格賣空ifcurrentbar>var14andcurrentbar<var14+zq:sellshort("s1")nextbaratvar13stop#如果當(dāng)前市場頭寸為多頭ifmarketposition==1:#在下一根柱線以過去15根柱線內(nèi)最低價賣出sellnextbaratlowest(low[1],15)

溫馨提示

  • 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

提交評論