版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
波動(dòng)情緒策略(TS版)交易邏輯思路1.**FveFactorWVolatility函數(shù)**:-計(jì)算TP值(最高價(jià)、最低價(jià)和收盤價(jià)的平均值)。-計(jì)算內(nèi)部波動(dòng)性(對(duì)數(shù)最高價(jià)減去對(duì)數(shù)最低價(jià))。-計(jì)算內(nèi)部波動(dòng)性的標(biāo)準(zhǔn)差。-如果上一個(gè)周期的TP值大于0,則計(jì)算外部波動(dòng)性(當(dāng)前TP值的對(duì)數(shù)減去上一個(gè)周期TP值的對(duì)數(shù))及其標(biāo)準(zhǔn)差;否則,外部波動(dòng)性及其標(biāo)準(zhǔn)差均設(shè)為0。-計(jì)算Cutoff值(內(nèi)部波動(dòng)性權(quán)重乘以內(nèi)部波動(dòng)性的標(biāo)準(zhǔn)差加上外部波動(dòng)性權(quán)重乘以外部波動(dòng)性的標(biāo)準(zhǔn)差)。-計(jì)算MF值(收盤價(jià)減去(最高價(jià)和最低價(jià)的平均值)加上TP值減去上一個(gè)周期的TP值)。-根據(jù)MF值與Cutoff值乘以收盤價(jià)的比較結(jié)果,確定FveFactorWVolatility的值(1、-1或0)。2.**指標(biāo)一(FVEwithVolatility)**:-使用FveFactorWVolatility函數(shù)計(jì)算FVE因子,并將其與成交量相關(guān)聯(lián)。-計(jì)算FVE因子的EMA值,并在圖表上繪制這些值。-包含一個(gè)警報(bào)邏輯,當(dāng)滿足特定條件時(shí),會(huì)觸發(fā)警報(bào)。3.**指標(biāo)二(FVEVolBars)**:-使用波動(dòng)性修改的FVE公式來(lái)計(jì)算FVE因子,并將其應(yīng)用于成交量柱狀圖。-根據(jù)FVE因子的值來(lái)設(shè)置柱狀圖的顏色(上升顏色為綠色,下降顏色為紅色,中性顏色為藍(lán)色)。-設(shè)置了警報(bào)邏輯,當(dāng)成交量柱狀圖上的Plot1超過(guò)Plot2乘以警報(bào)因子時(shí),會(huì)發(fā)出警報(bào)。4.**指標(biāo)三(CandleSentiment)**:-計(jì)算蠟燭圖的情緒。-使用布林帶指標(biāo)來(lái)確定蠟燭圖的情緒區(qū)域(上升脈沖、牛市、下降脈沖和熊市)。-根據(jù)情緒區(qū)域設(shè)置Plot1的顏色。5.**策略信號(hào)一(FVEwVolatilityStrat)**:-使用FVE因子、線性回歸角度和斜率、以及成交量的加減值來(lái)決定買入和賣出的時(shí)機(jī)。-根據(jù)市場(chǎng)持倉(cāng)狀態(tài)、FVE因子的值、線性回歸角度、斜率、EMA值和線性回歸斜率與預(yù)設(shè)閾值的比較,決定是否買入或賣出。-如果持有時(shí)間達(dá)到預(yù)設(shè)的柱狀圖數(shù)量,策略也會(huì)賣出。6.**策略信號(hào)二(CandleSentimentStrat)**:-結(jié)合布林帶和Stochastic指標(biāo)來(lái)決定買入和賣出的時(shí)機(jī)。-計(jì)算CandleCode的平均值,然后使用布林帶指標(biāo)來(lái)確定蠟燭圖的情緒區(qū)域。-根據(jù)CandleCode值與布林帶上軌和下軌的關(guān)系,指標(biāo)將情緒劃分為上升脈沖、牛市、下降脈沖和熊市。-接著,策略計(jì)算Stochastic指標(biāo),并基于Stochastic指標(biāo)的交叉和Zone值,決定是否買入或賣出。策略特點(diǎn)1.**FVE因子**:-通過(guò)波動(dòng)性修正的FVE公式來(lái)衡量?jī)r(jià)格變動(dòng),結(jié)合了內(nèi)部和外部波動(dòng)性。-FVE因子能夠反映價(jià)格變動(dòng)的強(qiáng)度和方向。2.**成交量關(guān)聯(lián)**:-將FVE因子與成交量相關(guān)聯(lián),進(jìn)一步增強(qiáng)了指標(biāo)的動(dòng)量特性。-通過(guò)成交量的增減來(lái)判斷市場(chǎng)的活躍度和趨勢(shì)的持續(xù)性。3.**多指標(biāo)結(jié)合**:-結(jié)合布林帶和Stochastic指標(biāo),提供了多種市場(chǎng)情緒的度量方式。-多指標(biāo)結(jié)合能夠更全面地捕捉市場(chǎng)信息,減少單一指標(biāo)的局限性。4.**動(dòng)態(tài)閾值**:-使用線性回歸角度和斜率作為動(dòng)態(tài)閾值,能夠適應(yīng)市場(chǎng)的變化。-這種動(dòng)態(tài)閾值使得策略在不同市場(chǎng)環(huán)境下都能保持一定的有效性。5.**靈活的交易邏輯**:-策略提供了多種買入和賣出的條件,包括FVE因子的值、線性回歸角度、斜率、EMA值和持有時(shí)間等。-這種靈活的交易邏輯能夠應(yīng)對(duì)不同的市場(chǎng)環(huán)境和交易需求。6.**可視化工具**:-提供了多個(gè)繪圖功能,如FVE因子的平均值、EMA值、成交量等。-這些可視化工具能夠幫助交易者更好地理解市場(chǎng)動(dòng)態(tài)和策略表現(xiàn)。函數(shù)代碼解讀://定義一個(gè)名為"FveFactorWVolatility"的函數(shù),用于計(jì)算一個(gè)與波動(dòng)性相關(guān)的FVE因子inputs://輸入?yún)?shù)定義Samples(numericsimple),//設(shè)置計(jì)算標(biāo)準(zhǔn)差的樣本數(shù)量CInter(numericsimple),//設(shè)置內(nèi)部交易波動(dòng)性的權(quán)重CIntra(numericsimple);//設(shè)置內(nèi)部波動(dòng)性的權(quán)重variables://變量定義TP(0),//計(jì)算TP值的初始化Intra(0),//內(nèi)部波動(dòng)性的初始化VIntra(0),//內(nèi)部波動(dòng)性的標(biāo)準(zhǔn)差I(lǐng)nter(0),//外部波動(dòng)性的初始化VInter(0),//外部波動(dòng)性的標(biāo)準(zhǔn)差Cutoff(0),//計(jì)算Cutoff值的初始化MF(0);//計(jì)算MF值的初始化TP=(High+Low+Close)/3;//計(jì)算TP值,即(最高價(jià)+最低價(jià)+收盤價(jià))/3Intra=Log(High)-Log(Low);//計(jì)算內(nèi)部波動(dòng)性,即對(duì)數(shù)(最高價(jià))-對(duì)數(shù)(最低價(jià))Vintra=StandardDev(Intra,Samples,1);//計(jì)算內(nèi)部波動(dòng)性的標(biāo)準(zhǔn)差,使用樣本數(shù)量Samples和計(jì)算方法1(可能是簡(jiǎn)單平均)ifTP[1]>0then//如果上一個(gè)周期的TP值大于0beginInter=Log(TP)-Log(TP[1]);//計(jì)算外部波動(dòng)性,即對(duì)數(shù)(當(dāng)前TP值)-對(duì)數(shù)(上一個(gè)周期的TP值)Vinter=StandardDev(Inter,Samples,1);//計(jì)算外部波動(dòng)性的標(biāo)準(zhǔn)差endelse//如果上一個(gè)周期的TP值不大于0beginInter=0;//外部波動(dòng)性設(shè)置為0Vinter=0;//外部波動(dòng)性的標(biāo)準(zhǔn)差設(shè)置為0endCutoff=CIntra*VIntra+CInter*VInter;//計(jì)算Cutoff值,即內(nèi)部波動(dòng)性權(quán)重乘以內(nèi)部波動(dòng)性的標(biāo)準(zhǔn)差加上外部波動(dòng)性權(quán)重乘以外部波動(dòng)性的標(biāo)準(zhǔn)差MF=(Close-(High+Low)/2)+TP-TP[1];//計(jì)算MF值,即(收盤價(jià)-(最高價(jià)+最低價(jià))/2)+TP-TP[1]ifMF>CutOff*Closethen//如果MF值大于CutOff值乘以收盤價(jià)FveFactorWVolatility=1//設(shè)置FveFactorWVolatility為1elseifMF<-1*CutOff*Closethen//否則,如果MF值小于-1乘以CutOff值乘以收盤價(jià)FveFactorWVolatility=-1//設(shè)置FveFactorWVolatility為-1else//否則FveFactorWVolatility=0;//設(shè)置FveFactorWVolatility為0這個(gè)函數(shù)定義了一個(gè)與波動(dòng)性相關(guān)的FVE因子,用于衡量股票或其他金融資產(chǎn)的價(jià)格變動(dòng)。函數(shù)首先計(jì)算TP值,然后分別計(jì)算內(nèi)部和外部的波動(dòng)性及其標(biāo)準(zhǔn)差。最后,根據(jù)MF值與Cutoff值乘以收盤價(jià)的比較結(jié)果,確定FveFactorWVolatility的值。以下是指標(biāo)一代碼的逐行注釋://定義一個(gè)名為"FVEwithVolatility"的指標(biāo)inputs://輸入?yún)?shù)定義Samples(22),//設(shè)置計(jì)算FVE的樣本數(shù)量為22PerMA(40),//設(shè)置計(jì)算EMA的周期長(zhǎng)度為40CIntra(.1),//設(shè)置內(nèi)部波動(dòng)性的權(quán)重為0.1CInter(.1);//設(shè)置外部波動(dòng)性的權(quán)重為0.1variables://變量定義VolumePlusMinus(0),//用于存儲(chǔ)FVE因子加減值的初始化FVE(0),//用于存儲(chǔ)FVE因子的初始化FVESum(0),//用于存儲(chǔ)FVE因子總和的初始化MyVolume(0);//用于存儲(chǔ)當(dāng)前柱狀圖的成交量的初始化ifBarType<2then//如果當(dāng)前柱狀圖類型小于2(可能是指非交易時(shí)間段)MyVolume=Ticks//則使用Ticks作為當(dāng)前柱狀圖的成交量else//否則MyVolume=Volume;//則使用Volume作為當(dāng)前柱狀圖的成交量ifBarNumber>Samplesthen//如果當(dāng)前柱狀圖編號(hào)大于設(shè)置的樣本數(shù)量beginVolumePlusMinus=Volume*//計(jì)算FVE因子加減值,即成交量乘以FveFactorWVolatility的結(jié)果FveFactorWVolatility(Samples,CInter,CIntra);//計(jì)算FVE因子加減值FVEsum=Summation(VolumePlusMinus,Samples);//計(jì)算FVE因子加減值的總和FVE=(FVEsum/(Average(Volume,Samples)*Samples))*100;//計(jì)算FVE因子值,即FVE因子加減值總和除以平均成交量乘以樣本數(shù)量,然后乘以100Plot1(Average(FVE,1),"FVE");//在圖表上繪制FVE因子的平均值,名稱設(shè)置為"FVE"Plot2(XAverage(FVE,PerMA),"EMAFVE");//在圖表上繪制FVE因子的EMA值,名稱設(shè)置為"EMAFVE"Plot3(0,"0");//在圖表上繪制一條值為0的水平線,名稱設(shè)置為"0",用于比較FVE指標(biāo)值if(FVE>-20andFVE<10)andFVE>XAverage(FVE,PerMA)andLinearRegAngleFC(FVE,20)>30then//如果FVE因子值在-20到10之間,且FVE因子值大于其EMA值,且線性回歸角度FC大于30度alert("FVE");//則發(fā)出警報(bào),提示"FVE"end;//結(jié)束當(dāng)前if語(yǔ)句塊這個(gè)指標(biāo)使用經(jīng)過(guò)波動(dòng)性修改的FVE公式來(lái)計(jì)算FVE因子,并將其與成交量相關(guān)聯(lián)。指標(biāo)還會(huì)計(jì)算FVE因子的EMA值,并在圖表上繪制這些值。此外,指標(biāo)還包含一個(gè)警報(bào)邏輯,當(dāng)滿足特定條件時(shí),會(huì)觸發(fā)警報(bào)。以下是指標(biāo)二代碼的逐行注釋://定義一個(gè)名為"FVEVolBars"的指標(biāo)//這是一個(gè)帶有顏色編碼的波動(dòng)性成交量柱狀圖公式。inputs://輸入?yún)?shù)定義AvgLength(50),//設(shè)置計(jì)算平均值的周期長(zhǎng)度為50AlertPct(70),//設(shè)置警報(bào)百分比為70%UpColor(Green),//設(shè)置上升顏色為綠色DownColor(Red),//設(shè)置下降顏色為紅色NeutralColor(Blue),//設(shè)置中性顏色為藍(lán)色CIntra(.1),//設(shè)置內(nèi)部波動(dòng)性的權(quán)重為0.1CInter(.1),//設(shè)置外部波動(dòng)性的權(quán)重為0.1Samples(22);//設(shè)置計(jì)算FVE因子的樣本數(shù)量為22variables://變量定義AlertFactor(1+AlertPct/100),//計(jì)算警報(bào)因子,即1加上警報(bào)百分比AlertStr(NumToStr(AlertPct,2)),//創(chuàng)建警報(bào)百分比的字符串表示形式MyVolume(0),//用于存儲(chǔ)當(dāng)前柱狀圖的成交量的初始化MyFVEFactor(0);//用于存儲(chǔ)當(dāng)前柱狀圖的FVE因子的初始化MyFVEFactor=FveFactorWVolatility(Samples,CInter,CIntra);//計(jì)算當(dāng)前柱狀圖的FVE因子ifBarType<2then//如果當(dāng)前柱狀圖類型小于2(可能是指非交易時(shí)間段)MyVolume=Ticks//則使用Ticks作為當(dāng)前柱狀圖的成交量else//否則MyVolume=Volume;//則使用Volume作為當(dāng)前柱狀圖的成交量Plot1(MyVolume,"Vol");//在圖表上繪制成交量,名稱設(shè)置為"Vol"Plot2(AverageFC(MyVolume,AvgLength),"VolAvg");//在圖表上繪制成交量的平均值,名稱設(shè)置為"VolAvg"{Colorcriteria}//顏色標(biāo)準(zhǔn)IfMyFVEFactor=1then//如果FVE因子為1(表示上升)SetPlotColor(1,UpColor)//則設(shè)置Plot1的顏色為上升顏色ElseifMyFVEFactor=-1then//否則,如果FVE因子為-1(表示下降)SetPlotColor(1,DownColor)//則設(shè)置Plot1的顏色為下降顏色elseSetPlotColor(1,NeutralColor);//否則,設(shè)置Plot1的顏色為中性顏色{Alertcriteria}//警報(bào)標(biāo)準(zhǔn)ifPlot1crossesoverPlot2*AlertFactorthen//如果成交量柱狀圖上的Plot1超過(guò)了Plot2乘以警報(bào)因子Alert("Volumebreakingthrough"+AlertStr+"%aboveitsavg.");//則發(fā)出警報(bào),提示"成交量突破其平均值"+AlertStr+"%以上"。這個(gè)指標(biāo)使用波動(dòng)性修改的FVE公式來(lái)計(jì)算FVE因子,并將其應(yīng)用于成交量柱狀圖。指標(biāo)根據(jù)FVE因子的值來(lái)設(shè)置柱狀圖的顏色,并設(shè)置了警報(bào)邏輯,當(dāng)成交量柱狀圖上的Plot1超過(guò)Plot2乘以警報(bào)因子時(shí),會(huì)發(fā)出警報(bào)。以下是指標(biāo)三代碼的解讀://定義一個(gè)名為"CandleSentiment"的指標(biāo)inputs://輸入?yún)?shù)定義BBLength(10),//布林帶寬度長(zhǎng)度設(shè)置為10BBNumDevs(.5),//布林帶標(biāo)準(zhǔn)差倍數(shù)設(shè)置為0.5AvgLength1(4),//計(jì)算平均值1的周期長(zhǎng)度設(shè)置為4AvgLength2(4),//計(jì)算平均值2的周期長(zhǎng)度設(shè)置為4BBILength(60),//布林帶內(nèi)部長(zhǎng)度設(shè)置為60NumDevsUp(1.5),//布林帶上軌標(biāo)準(zhǔn)差倍數(shù)設(shè)置為1.5NumDevsDn(1.5),//布林帶下軌標(biāo)準(zhǔn)差倍數(shù)設(shè)置為1.5variables://變量定義Index(0),//用于存儲(chǔ)計(jì)算結(jié)果的變量初始化Avg(0),//用于存儲(chǔ)平均值的變量初始化SDev(0),//用于存儲(chǔ)標(biāo)準(zhǔn)差的變量初始化UpperBand(0),//用于存儲(chǔ)布林帶上軌的變量初始化LowerBand(0),//用于存儲(chǔ)布林帶下軌的變量初始化Zone(0);//用于存儲(chǔ)區(qū)域劃分的變量初始化Index=Average(Average(//計(jì)算CandleCode的平均值,BBLength為布林帶寬度長(zhǎng)度,BBNumDevs為布林帶標(biāo)準(zhǔn)差倍數(shù)CandleCode(BBLength,BBNumDevs),AvgLength1),AvgLength2);//使用AvgLength1和AvgLength2計(jì)算CandleCode的平均值ifCurrentBar>(BBILength+BBLength)*2then//如果當(dāng)前柱狀圖編號(hào)大于布林帶內(nèi)部長(zhǎng)度加上布林帶寬度長(zhǎng)度乘以2beginAvg=Average(Index,BBILength);//計(jì)算Index在BBILength周期內(nèi)的平均值SDev=StandardDev(Index,BBILength,1);//計(jì)算Index在BBILength周期內(nèi)的標(biāo)準(zhǔn)差UpperBand=Avg+NumDevsUp*SDev;//計(jì)算布林帶上軌LowerBand=Avg-NumDevsDn*SDev;//計(jì)算布林帶下軌Plot1(Index,"CCode");//在圖表上繪制Index值,名稱設(shè)置為"CCode"Plot2(UpperBand,"UB");//在圖表上繪制UpperBand值,名稱設(shè)置為"UB"Plot3(LowerBand,"LB");//在圖表上繪制LowerBand值,名稱設(shè)置為"LB"ifIndex[1]<=UpperBand[1]andIndex>UpperBandthen//如果前一個(gè)周期的Index值小于等于UpperBand值,并且當(dāng)前周期的Index值大于UpperBand值Zone=3{UpPulse}//則設(shè)置Zone為3,表示上升脈沖elseifIndex[1]>=UpperBand[1]andIndex<UpperBandthen//否則,如果前一個(gè)周期的Index值大于等于UpperBand值,并且當(dāng)前周期的Index值小于UpperBand值Zone=6{Bear}//則設(shè)置Zone為6,表示熊市elseifIndex[1]>=LowerBand[1]andIndex<LowerBandthen//否則,如果前一個(gè)周期的Index值大于等于LowerBand值,并且當(dāng)前周期的Index值小于LowerBand值Zone=5{DownPulse}//則設(shè)置Zone為5,表示下降脈沖elseifIndex[1]<=LowerBand[1]andIndex>LowerBandthen//否則,如果前一個(gè)周期的Index值小于等于LowerBand值,并且當(dāng)前周期的Index值大于LowerBand值Zone=4;{Bull}//則設(shè)置Zone為4,表示牛市SetPlotColor(1,Zone);//根據(jù)Zone的值設(shè)置Plot1的顏色end;//結(jié)束當(dāng)前if語(yǔ)句塊以上指標(biāo)三代碼用于計(jì)算蠟燭圖的情緒。它首先計(jì)算了CandleCode的平均值,然后使用布林帶指標(biāo)來(lái)確定蠟燭圖的情緒區(qū)域。根據(jù)CandleCode值與布林帶上軌和下軌的關(guān)系,指標(biāo)將情緒劃分為上升脈沖、牛市、下降脈沖和熊市。最后,根據(jù)情緒區(qū)域設(shè)置Plot1的顏色。策略信號(hào)一代碼解讀://定義一個(gè)名為"FVEwVolatilityStrat"的交易策略inputs://輸入?yún)?shù)定義Samples(50),//設(shè)置計(jì)算FVE因子的樣本數(shù)量為50FVEEnterL(-20),//設(shè)置FVE因子進(jìn)入交易的下限為-20FVEEnterU(10),//設(shè)置FVE因子進(jìn)入交易的上限為10MA(40),//設(shè)置計(jì)算FVE因子EMA的周期長(zhǎng)度為40LRPeriod(20),//設(shè)置計(jì)算線性回歸角度的周期長(zhǎng)度為20BAngle(30),//設(shè)置線性回歸角度FC的基準(zhǔn)值為30度SAngle(-30),//設(shè)置線性回歸角度FC的退出值為-30度LRC(30),//設(shè)置線性回歸周期長(zhǎng)度為30UB(.1),//設(shè)置線性回歸斜率FC的上限為0.1LB(-.05),//設(shè)置線性回歸斜率FC的下限為-0.05BarToExitOn(70),//設(shè)置在BarToExitOn周期后退出交易的柱狀圖數(shù)量CIntra(.1),//設(shè)置內(nèi)部波動(dòng)性的權(quán)重為0.1CInter(.1);//設(shè)置外部波動(dòng)性的權(quán)重為0.1variables://變量定義VolumePlusMinus(0),//用于存儲(chǔ)FVE因子加減值的初始化Fvesum(0),//用于存儲(chǔ)FVE因子總和的初始化FVE(0),//用于存儲(chǔ)FVE因子的初始化MyVolume(0);//用于存儲(chǔ)當(dāng)前柱狀圖的成交量的初始化ifBarType<2then//如果當(dāng)前柱狀圖類型小于2(可能是指非交易時(shí)間段)MyVolume=Ticks//則使用Ticks作為當(dāng)前柱狀圖的成交量else//否則MyVolume=Volume;//則使用Volume作為當(dāng)前柱狀圖的成交量ifBarNumber>2*Samplesthen//如果當(dāng)前柱狀圖編號(hào)大于設(shè)置的樣本數(shù)量的兩倍beginVolumePlusMinus=MyVolume*//計(jì)算FVE因子加減值,即成交量乘以FveFactorWVolatility的結(jié)果FveFactorWVolatility(Samples,CInter,CIntra);//計(jì)算FVE因子加減值FVEsum=Summation(VolumePlusMinus,Samples);//計(jì)算FVE因子加減值的總和FVE=(FVEsum/(Average(Volume,Samples)*Samples))*100;//計(jì)算FVE因子值,即FVE因子加減值總和除以平均成交量乘以樣本數(shù)量,然后乘以100ifMarketPosition=0andFVE>FVEEnterLandFVE<FVEEnterUandLinearRegAngleFC(FVE,LRPeriod)>BAngleandFVE>XAverage(FVE,MA)andLinearRegSlopeFC(C,LRC)<UB*LinearRegValue(C,LRC,LRC-1)/100//如果當(dāng)前沒(méi)有持倉(cāng),且FVE因子值在FVEEnterL和FVEEnterU之間,且線性回歸角度FC大于BAngle,且FVE因子值大于其EMA值,且線性回歸斜率FC小于UB乘以LinearRegValue(C,LRC,LRC-1)/100andLinearRegSlopeFC(C,LRC)>LB*LinearRegValue(C,LRC,LRC-1)/100//且線性回歸斜率FC大于LB乘以LinearRegValue(C,LRC,LRC-1)/100thenBuy("BUY")nextbaratmarket;//則在下一個(gè)柱狀圖的市場(chǎng)價(jià)處買入ifLinearRegAngle(FVE,LRPeriod)<SAnglethen//如果線性回歸角度小于SAngleSell("FVEEXIT")nextbaratmarket;//則在下一個(gè)柱狀圖的市場(chǎng)價(jià)處賣出IfBarsSinceEntry=BarToExitOnthen//如果持有時(shí)間達(dá)到BarToExitOn周期Sell("TimeBarsLX")nextbaratmarket;//則在下一個(gè)柱狀圖的市場(chǎng)價(jià)處賣出end;//結(jié)束當(dāng)前if語(yǔ)句塊end;//結(jié)束當(dāng)前if語(yǔ)句塊end;//結(jié)束當(dāng)前if語(yǔ)句塊本交易策略,使用FVE因子、線性回歸角度和斜率、以及成交量的加減值來(lái)決定買入和賣出的時(shí)機(jī)。策略首先計(jì)算FVE因子的加減值,然后計(jì)算FVE因子值。根據(jù)市場(chǎng)持倉(cāng)狀態(tài)、FVE因子的值、線性回歸角度、斜率、EMA值和線性回歸斜率與預(yù)設(shè)閾值的比較,策略決定是否買入或賣出。此外,如果持有時(shí)間達(dá)到預(yù)設(shè)的柱狀圖數(shù)量,策略也會(huì)賣出。策略信號(hào)二代碼注解://定義一個(gè)名為"CandleSentimentStrat"的交易策略inputs://輸入?yún)?shù)定義BBLength(10),//布林帶寬度長(zhǎng)度設(shè)置為10BBNumDevs(.5),//布林帶標(biāo)準(zhǔn)差倍數(shù)設(shè)置為0.5AvgLength1(4),//計(jì)算平均值1的周期長(zhǎng)度設(shè)置為4AvgLength2(4),//計(jì)算平均值2的周期長(zhǎng)度設(shè)置為4BBILength(60),//布林帶內(nèi)部長(zhǎng)度設(shè)置為60NumDevsUp(1.5),//布林帶上軌標(biāo)準(zhǔn)差倍數(shù)設(shè)置為1.5NumDevsDn(1.5),//布林帶下軌標(biāo)準(zhǔn)差倍數(shù)設(shè)置為1.5inputs://輸入?yún)?shù)定義Length(14),//設(shè)置Stochastic的周期長(zhǎng)度為14OverSold(20),//設(shè)置Stochastic的OverSold閾值為20OverBought(80),//設(shè)置Stochastic的OverBought閾值為80variables://變量定義oFastK(0),//用于存儲(chǔ)快速K值的初始化oFastD(0),//用于存儲(chǔ)快速D值的初始化oSlowK(0),//用于存儲(chǔ)慢速K值的初始化oSlowD(0),//用于存儲(chǔ)慢速D值的初始化Index(0),//用于存儲(chǔ)計(jì)算結(jié)果的變量初始化Avg(0),//用于存儲(chǔ)平均值的變量初始化SDev(0),//用于存儲(chǔ)標(biāo)準(zhǔn)差的變量初始化UpperBand(0),//用于存儲(chǔ)布林帶上軌的變量初始化LowerBand(0),//用于存儲(chǔ)布林帶下軌的變量初始化Zone(0);//用于存儲(chǔ)區(qū)域劃分的變量初始化Index=Average(Average(CandleCode(BBLength,BBNumDevs),AvgLength1),AvgLength2);//計(jì)算CandleCode的平均值,BBLength為布林帶寬度長(zhǎng)度,BBNumDevs為布林帶標(biāo)準(zhǔn)差倍數(shù)ifCurrentBar>(BBILength+BBLength)*2then//如果當(dāng)前柱狀圖編號(hào)大于布林帶內(nèi)部長(zhǎng)度加上布林帶寬度長(zhǎng)度乘以2beginAvg=Average(Index,BBILength);//計(jì)算Index在BBILength周期內(nèi)的平均值SDev=StandardDev(Index,BBILength,1);//計(jì)算Index在BBILength周期內(nèi)的標(biāo)準(zhǔn)差UpperBand=Avg+NumDevsUp*SDev;//計(jì)算布林帶上軌LowerBand=Avg-NumDevsDn*SDev;//計(jì)算布林帶下軌ifIndex[1]<=UpperBand[1]andIndex>UpperBand//如果前一個(gè)周期的Index值小于等于UpperBand值,并且當(dāng)前周期的Index值大于UpperBand值thenZone=3{UpPulse}//則設(shè)置Zone為3,表示上升脈沖elseifIndex[1]>=UpperBand[1]andIndex<UpperBandthenZone=6{Bear}//否則,如果前一個(gè)周期的Index值大于等于UpperBand值,并且當(dāng)前周期的Index值小于UpperBand值elseifIndex[1]>=LowerBand[1]andIndex<LowerBandthenZone=5{DownPulse}//否則,如果前一個(gè)周期的Index值大于等于LowerBand值,并且當(dāng)前周期的Index值小于LowerBand值elseifIndex[1]<=LowerBand[1]andIndex>LowerBandthen//否則,如果前一個(gè)周期的Index值小于等于LowerBand值,并且當(dāng)前周期的Index值大于LowerBandZone=4;{Bull}//則設(shè)置Zone為4,表示牛市Value1=Stochastic(H,L,C,Length,3,3,1,oFastK,oFastD,oSlowK,oSlowD);//計(jì)算Stochastic指標(biāo),H為最高價(jià),L為最低價(jià),C為收盤價(jià),Length為周期長(zhǎng)度,3為K線的計(jì)算方法,3為D線的計(jì)算方法,1為應(yīng)用方法,oFastK,oFastD,oSlowK,oSlowD為輸出變量ifCurrentBar>2andoSlowKcrossesoveroSlowDandZone=4then//如果當(dāng)前柱狀圖編號(hào)大于2,并且慢速K線交叉上穿慢速D線,并且當(dāng)前Zone為牛市Buy("LE-Z4")nextbaratmarket;//則在下一個(gè)柱狀圖的市場(chǎng)價(jià)處買入ifCurrentBar>2andoSlowKcrossesunderoSlowDandZone=6then//如果當(dāng)前柱狀圖編號(hào)大于2,并且慢速K線交叉下穿慢速D線,并且當(dāng)前Zone為熊市SellShort("SE-Z6")nextbaratmarket;//則在下一個(gè)柱狀圖的市場(chǎng)價(jià)處賣出(做空)ifCurrentBar>2andoSlowKcrossesoveroSlowDandZone=3then//如果當(dāng)前柱狀圖編號(hào)大于2,并且慢速K線交叉上穿慢速D線,并且當(dāng)前Zone為上升脈沖Buy("LE-Z3")nextbaratmarket;//則在下一個(gè)柱狀圖的市場(chǎng)價(jià)處買入ifCurrentBar>2andoSlowKcrossesunderoSlowDandZone=3andoSlowK>OverBoughtthen//如果當(dāng)前柱狀圖編號(hào)大于2,并且慢速K線交叉下穿慢速D線,并且當(dāng)前Zone為上升脈沖,并且慢速K線值大于OverBought閾值SellShort("SE-Z3")nextbaratmarket;//則在下一個(gè)柱狀圖的市場(chǎng)價(jià)處賣出(做空)ifCurrentBar>2andoSlowKcrossesoveroSlowDandZone=5andoSlowK<OverSoldthen//如果當(dāng)前柱狀圖編號(hào)大于2,并且慢速K線交叉上穿慢速D線,并且當(dāng)前Zone為下降脈沖,并且慢速K線值小于OverSold閾值Buy("LE-Z5")nextbaratmarket;//則在下一個(gè)柱狀圖的市場(chǎng)價(jià)處買入ifCurrentBar>2andoSlowKcrossesunderoSlowDandZone=5then//如果當(dāng)前柱狀圖編號(hào)大于2,并且慢速K線交叉下穿慢速D線,并且當(dāng)前Zone為下降脈沖SellShort("SE-Z5")nextbaratmarket;//則在下一個(gè)柱狀圖的市場(chǎng)價(jià)處賣出(做空)end;//結(jié)束當(dāng)前if語(yǔ)句塊end;//結(jié)束當(dāng)前if語(yǔ)句塊本交易策略,結(jié)合了布林帶和Stochastic指標(biāo)來(lái)決定買入和賣出的時(shí)機(jī)。策略首先計(jì)算CandleCode的平均值,然后使用布林帶指標(biāo)來(lái)確定蠟燭圖的情緒區(qū)域。根據(jù)CandleCode值與布林帶上軌和下軌的關(guān)系,指標(biāo)將情緒劃分為上升脈沖、牛市、下降脈沖和熊市。接著,策略計(jì)算Stochastic指標(biāo),并基于Stochastic指標(biāo)的交叉和Zone值,決定是否買入或賣出。函數(shù):FveFactorWVolatility代碼:inputs:Samples(numericsimple),CInter(numericsimple),CIntra(numericsimple);variables:TP(0),Intra(0),VIntra(0),Inter(0),VInter(0),Cutoff(0),MF(0);TP=(High+Low+Close)/3;Intra=Log(High)-Log(Low);Vintra=StandardDev(Intra,Samples,1);ifTP[1]>0thenInter=Log(TP)-Log(TP[1]);Vinter=StandardDev(Inter,Samples,1);Cutoff=CIntra*VIntra+CInter*VInter;MF=(Close-(High+Low)/2)+TP-TP[1];ifMF>CutOff*ClosethenFveFactorWVolatility=1elseifMF<-1*CutOff*ClosethenFveFactorWVolatility=-1elseFveFactorWVolatility=0;指標(biāo)一代碼:inputs:Samples(22),PerMA(40),CIntra(.1),CInter(.1);variables:VolumePlusMinus(0),FVE(0),FVESum(0),MyVolume(0);ifBarType<2thenMyVolume=TickselseMyVolume=Volume;ifBarNumber>SamplesthenbeginVolumePlusMinus=Volume*FveFactorWVolatility(Samples,CInter,CIntra);FVEsum=Summation(VolumePlusMinus,Samples);FVE=(FVEsum/(Average(Volume,Samples)*Samples))*100;Plot1(Average(FVE,1),"FVE");Plot2(XAverage(FVE,PerMA),"EMAFVE");Plot3(0,"0");if(FVE>-20andFVE<10)andFVE>XAverage(FVE,PerMA)andLinearRegAngleFC(FVE,20)>30thenalert("FVE");end;指標(biāo)二代碼:inputs:AvgLength(50),AlertPct(70),UpColor(Green),DownColor(Red),NeutralColor(Blue),CIntra(.1),CInter(.1),Samples(22);variables:AlertFactor(1+AlertPct/100),AlertStr(NumToStr(AlertPct,2)),MyVolume(0),MyFVEFactor(0);MyFVEFactor=FveFactorWVolatility(Samples,CInter,CIntra);ifBarType<2thenMyVolume=TickselseMyVolume=Volume;Plot1(MyVolume,"Vol");Plot2(AverageFC(MyVolume,AvgLength),"VolAvg");IfMyFVEFactor=1thenSetPlotColor(1,UpColor)ElseifMyFVEFactor=-1thenSetPlotColor(1,DownColor)elseSetPlotColor(1,NeutralColor);ifPlot1crossesoverPlot2*AlertFactorthenAlert("Volumebreakingthrough"+AlertStr+"%aboveitsavg.");指標(biāo)三代碼:inputs:BBLength(10),BBNumDevs(.5),AvgLength1(4),AvgLength2(4),BBILength(60),NumDevsUp(1.5),NumDevsDn(1.5);variables:Index(0),Avg(0),SDev(0),UpperBand(0),LowerBand(0),Zone(0);Index=Average(Average(CandleCode(BBLength,BBNumDevs),AvgLength1),AvgLength2);ifCurrentBar>(BBILength+BBLength)*2thenbeginAvg=Average(Index,BBILength);SDev=StandardDev(Index,BBILength,1);UpperBand=Avg+NumDevsUp*SDev;LowerBand=Avg-NumDevsDn*SDev;Plot1(Index,"CCode");Plot2(UpperBand,"UB");Plot3(LowerBand,"LB");ifIndex[1]<=UpperBand[1]andIndex>UpperBandthenZone=3elseifIndex[1]>=UpperBand[1]andIndex<UpperBandthenZone=6elseifIndex[1]>=LowerBand[1]andIndex<LowerBandthenZone=5elseifIndex[1]<=LowerBand[1]andIndex>LowerBandthenZone=4;SetPlotColor(1,Zone);end;策略信號(hào)一代碼:inputs:Samples(50),FVEEnterL(-20),FVEEnterU(10),MA(40),LRPeriod(20),BAngle(30),SAngle(-30),LRC(30),UB(.1),LB(-.05),BarToExitOn(70),CIntra(.1),CInter(.1);variables:VolumePlusMinus(0),Fvesum(0),FVE(0),MyVolume(0);ifBarType<2thenMyVolume=TickselseMyVolume=Volume;ifBarNumber>2*SamplesthenbeginVolumePlusMinus=MyVolume*FveFactorWVolatility(Samples,CInter,CIntra);FVEsum=Summation(VolumePlusMinus,Samples);FVE=(FVEsum/(Average(Volume,Samples)*Samples))*100;ifMarketPosition=0andFVE>FVEEnterLandFVE<FVEEnterUandLinearRegAngleFC(FVE,LRPeriod)>BAngleandFVE>XAverage(FVE,MA)andLinearRegSlopeFC(C,LRC)<UB*LinearRegValue(C,LRC,LRC-1)/100andLinearRegSlopeFC(C
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 拆遷權(quán)益保障合同范例
- 庭院植物采購(gòu)合同范例
- 個(gè)人傭金報(bào)酬合同模板
- 2024-2025學(xué)年新教材高中數(shù)學(xué)第六章平面向量及其應(yīng)用6.2平面向量的運(yùn)算6.2.1向量的加法運(yùn)算教學(xué)用書教案新人教A版必修第二冊(cè)
- 干果供貨協(xié)議合同范例
- 福建省泉州市第五中學(xué)七年級(jí)上學(xué)期期中練習(xí)生物試題(原卷版)
- 醫(yī)院陪護(hù)合同模板
- 開店辦證合同范例
- 工程月進(jìn)度借款合同范例
- 拆遷合同范例范例
- 糧食產(chǎn)后服務(wù)體系建設(shè)項(xiàng)目總結(jié)分析報(bào)告
- 愛(ài)天使圈降低針刺傷發(fā)生率課件
- 麻山藥栽培管理技術(shù)課件
- 小學(xué)英語(yǔ)外研版三起點(diǎn)五年級(jí)上冊(cè)-Module-1-單元整體教學(xué)設(shè)計(jì)
- 消化內(nèi)科常用藥物介紹-課件
- qc提高隧洞初期支護(hù)鋼拱架安裝合格率
- 哈工程實(shí)驗(yàn)報(bào)告封皮
- (完整版)磚砌排水溝施工工藝
- LED照明知識(shí)培訓(xùn)
- 人教小學(xué)語(yǔ)文6上 單元易錯(cuò)讀音詞語(yǔ)歸類
- 【蘇泊爾企業(yè)存貨管理問(wèn)題及對(duì)策13000字(案例論文)】
評(píng)論
0/150
提交評(píng)論