波動情緒策略(TS版)_第1頁
波動情緒策略(TS版)_第2頁
波動情緒策略(TS版)_第3頁
波動情緒策略(TS版)_第4頁
波動情緒策略(TS版)_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

波動情緒策略(TS版)交易邏輯思路1.FveFactorWVolatility函數(shù):-計(jì)算TP值(最高價、最低價和收盤價的平均值)。-計(jì)算內(nèi)部波動性(對數(shù)最高價減去對數(shù)最低價)。-計(jì)算內(nèi)部波動性的標(biāo)準(zhǔn)差。-如果上一個周期的TP值大于0,則計(jì)算外部波動性(當(dāng)前TP值的對數(shù)減去上一個周期TP值的對數(shù))及其標(biāo)準(zhǔn)差;否則,外部波動性及其標(biāo)準(zhǔn)差均設(shè)為0。-計(jì)算Cutoff值(內(nèi)部波動性權(quán)重乘以內(nèi)部波動性的標(biāo)準(zhǔn)差加上外部波動性權(quán)重乘以外部波動性的標(biāo)準(zhǔn)差)。-計(jì)算MF值(收盤價減去(最高價和最低價的平均值)加上TP值減去上一個周期的TP值)。-根據(jù)MF值與Cutoff值乘以收盤價的比較結(jié)果,確定FveFactorWVolatility的值(1、-1或0)。2.指標(biāo)一(FVEwithVolatility):-使用FveFactorWVolatility函數(shù)計(jì)算FVE因子,并將其與成交量相關(guān)聯(lián)。-計(jì)算FVE因子的EMA值,并在圖表上繪制這些值。-包含一個警報邏輯,當(dāng)滿足特定條件時,會觸發(fā)警報。3.指標(biāo)二(FVEVolBars):-使用波動性修改的FVE公式來計(jì)算FVE因子,并將其應(yīng)用于成交量柱狀圖。-根據(jù)FVE因子的值來設(shè)置柱狀圖的顏色(上升顏色為綠色,下降顏色為紅色,中性顏色為藍(lán)色)。-設(shè)置了警報邏輯,當(dāng)成交量柱狀圖上的Plot1超過Plot2乘以警報因子時,會發(fā)出警報。4.指標(biāo)三(CandleSentiment):-計(jì)算蠟燭圖的情緒。-使用布林帶指標(biāo)來確定蠟燭圖的情緒區(qū)域(上升脈沖、牛市、下降脈沖和熊市)。-根據(jù)情緒區(qū)域設(shè)置Plot1的顏色。5.策略信號一(FVEwVolatilityStrat):-使用FVE因子、線性回歸角度和斜率、以及成交量的加減值來決定買入和賣出的時機(jī)。-根據(jù)市場持倉狀態(tài)、FVE因子的值、線性回歸角度、斜率、EMA值和線性回歸斜率與預(yù)設(shè)閾值的比較,決定是否買入或賣出。-如果持有時間達(dá)到預(yù)設(shè)的柱狀圖數(shù)量,策略也會賣出。6.策略信號二(CandleSentimentStrat):-結(jié)合布林帶和Stochastic指標(biāo)來決定買入和賣出的時機(jī)。-計(jì)算CandleCode的平均值,然后使用布林帶指標(biāo)來確定蠟燭圖的情緒區(qū)域。-根據(jù)CandleCode值與布林帶上軌和下軌的關(guān)系,指標(biāo)將情緒劃分為上升脈沖、牛市、下降脈沖和熊市。-接著,策略計(jì)算Stochastic指標(biāo),并基于Stochastic指標(biāo)的交叉和Zone值,決定是否買入或賣出。策略特點(diǎn)1.FVE因子:-通過波動性修正的FVE公式來衡量價格變動,結(jié)合了內(nèi)部和外部波動性。-FVE因子能夠反映價格變動的強(qiáng)度和方向。2.成交量關(guān)聯(lián):-將FVE因子與成交量相關(guān)聯(lián),進(jìn)一步增強(qiáng)了指標(biāo)的動量特性。-通過成交量的增減來判斷市場的活躍度和趨勢的持續(xù)性。3.多指標(biāo)結(jié)合:-結(jié)合布林帶和Stochastic指標(biāo),提供了多種市場情緒的度量方式。-多指標(biāo)結(jié)合能夠更全面地捕捉市場信息,減少單一指標(biāo)的局限性。4.動態(tài)閾值:-使用線性回歸角度和斜率作為動態(tài)閾值,能夠適應(yīng)市場的變化。-這種動態(tài)閾值使得策略在不同市場環(huán)境下都能保持一定的有效性。5.靈活的交易邏輯:-策略提供了多種買入和賣出的條件,包括FVE因子的值、線性回歸角度、斜率、EMA值和持有時間等。-這種靈活的交易邏輯能夠應(yīng)對不同的市場環(huán)境和交易需求。6.可視化工具:-提供了多個繪圖功能,如FVE因子的平均值、EMA值、成交量等。-這些可視化工具能夠幫助交易者更好地理解市場動態(tài)和策略表現(xiàn)。函數(shù)代碼解讀://定義一個名為"FveFactorWVolatility"的函數(shù),用于計(jì)算一個與波動性相關(guān)的FVE因子inputs://輸入?yún)?shù)定義Samples(numericsimple),//設(shè)置計(jì)算標(biāo)準(zhǔn)差的樣本數(shù)量CInter(numericsimple),//設(shè)置內(nèi)部交易波動性的權(quán)重CIntra(numericsimple);//設(shè)置內(nèi)部波動性的權(quán)重variables://變量定義TP(0),//計(jì)算TP值的初始化Intra(0),//內(nèi)部波動性的初始化VIntra(0),//內(nèi)部波動性的標(biāo)準(zhǔn)差I(lǐng)nter(0),//外部波動性的初始化VInter(0),//外部波動性的標(biāo)準(zhǔn)差Cutoff(0),//計(jì)算Cutoff值的初始化MF(0);//計(jì)算MF值的初始化TP=(High+Low+Close)/3;//計(jì)算TP值,即(最高價+最低價+收盤價)/3Intra=Log(High)-Log(Low);//計(jì)算內(nèi)部波動性,即對數(shù)(最高價)-對數(shù)(最低價)Vintra=StandardDev(Intra,Samples,1);//計(jì)算內(nèi)部波動性的標(biāo)準(zhǔn)差,使用樣本數(shù)量Samples和計(jì)算方法1(可能是簡單平均)ifTP[1]>0then//如果上一個周期的TP值大于0beginInter=Log(TP)-Log(TP[1]);//計(jì)算外部波動性,即對數(shù)(當(dāng)前TP值)-對數(shù)(上一個周期的TP值)Vinter=StandardDev(Inter,Samples,1);//計(jì)算外部波動性的標(biāo)準(zhǔn)差endelse//如果上一個周期的TP值不大于0beginInter=0;//外部波動性設(shè)置為0Vinter=0;//外部波動性的標(biāo)準(zhǔn)差設(shè)置為0endCutoff=CIntra*VIntra+CInter*VInter;//計(jì)算Cutoff值,即內(nèi)部波動性權(quán)重乘以內(nèi)部波動性的標(biāo)準(zhǔn)差加上外部波動性權(quán)重乘以外部波動性的標(biāo)準(zhǔn)差MF=(Close-(High+Low)/2)+TP-TP[1];//計(jì)算MF值,即(收盤價-(最高價+最低價)/2)+TP-TP[1]ifMF>CutOff*Closethen//如果MF值大于CutOff值乘以收盤價FveFactorWVolatility=1//設(shè)置FveFactorWVolatility為1elseifMF<-1*CutOff*Closethen//否則,如果MF值小于-1乘以CutOff值乘以收盤價FveFactorWVolatility=-1//設(shè)置FveFactorWVolatility為-1else//否則FveFactorWVolatility=0;//設(shè)置FveFactorWVolatility為0這個函數(shù)定義了一個與波動性相關(guān)的FVE因子,用于衡量股票或其他金融資產(chǎn)的價格變動。函數(shù)首先計(jì)算TP值,然后分別計(jì)算內(nèi)部和外部的波動性及其標(biāo)準(zhǔn)差。最后,根據(jù)MF值與Cutoff值乘以收盤價的比較結(jié)果,確定FveFactorWVolatility的值。以下是指標(biāo)一代碼的逐行注釋://定義一個名為"FVEwithVolatility"的指標(biāo)inputs://輸入?yún)?shù)定義Samples(22),//設(shè)置計(jì)算FVE的樣本數(shù)量為22PerMA(40),//設(shè)置計(jì)算EMA的周期長度為40CIntra(.1),//設(shè)置內(nèi)部波動性的權(quán)重為0.1CInter(.1);//設(shè)置外部波動性的權(quán)重為0.1variables://變量定義VolumePlusMinus(0),//用于存儲FVE因子加減值的初始化FVE(0),//用于存儲FVE因子的初始化FVESum(0),//用于存儲FVE因子總和的初始化MyVolume(0);//用于存儲當(dāng)前柱狀圖的成交量的初始化ifBarType<2then//如果當(dāng)前柱狀圖類型小于2(可能是指非交易時間段)MyVolume=Ticks//則使用Ticks作為當(dāng)前柱狀圖的成交量else//否則MyVolume=Volume;//則使用Volume作為當(dāng)前柱狀圖的成交量ifBarNumber>Samplesthen//如果當(dāng)前柱狀圖編號大于設(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ā)出警報,提示"FVE"end;//結(jié)束當(dāng)前if語句塊這個指標(biāo)使用經(jīng)過波動性修改的FVE公式來計(jì)算FVE因子,并將其與成交量相關(guān)聯(lián)。指標(biāo)還會計(jì)算FVE因子的EMA值,并在圖表上繪制這些值。此外,指標(biāo)還包含一個警報邏輯,當(dāng)滿足特定條件時,會觸發(fā)警報。以下是指標(biāo)二代碼的逐行注釋://定義一個名為"FVEVolBars"的指標(biāo)//這是一個帶有顏色編碼的波動性成交量柱狀圖公式。inputs://輸入?yún)?shù)定義AvgLength(50),//設(shè)置計(jì)算平均值的周期長度為50AlertPct(70),//設(shè)置警報百分比為70%UpColor(Green),//設(shè)置上升顏色為綠色DownColor(Red),//設(shè)置下降顏色為紅色NeutralColor(Blue),//設(shè)置中性顏色為藍(lán)色CIntra(.1),//設(shè)置內(nèi)部波動性的權(quán)重為0.1CInter(.1),//設(shè)置外部波動性的權(quán)重為0.1Samples(22);//設(shè)置計(jì)算FVE因子的樣本數(shù)量為22variables://變量定義AlertFactor(1+AlertPct/100),//計(jì)算警報因子,即1加上警報百分比AlertStr(NumToStr(AlertPct,2)),//創(chuàng)建警報百分比的字符串表示形式MyVolume(0),//用于存儲當(dāng)前柱狀圖的成交量的初始化MyFVEFactor(0);//用于存儲當(dāng)前柱狀圖的FVE因子的初始化MyFVEFactor=FveFactorWVolatility(Samples,CInter,CIntra);//計(jì)算當(dāng)前柱狀圖的FVE因子ifBarType<2then//如果當(dāng)前柱狀圖類型小于2(可能是指非交易時間段)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}//警報標(biāo)準(zhǔn)ifPlot1crossesoverPlot2*AlertFactorthen//如果成交量柱狀圖上的Plot1超過了Plot2乘以警報因子Alert("Volumebreakingthrough"+AlertStr+"%aboveitsavg.");//則發(fā)出警報,提示"成交量突破其平均值"+AlertStr+"%以上"。這個指標(biāo)使用波動性修改的FVE公式來計(jì)算FVE因子,并將其應(yīng)用于成交量柱狀圖。指標(biāo)根據(jù)FVE因子的值來設(shè)置柱狀圖的顏色,并設(shè)置了警報邏輯,當(dāng)成交量柱狀圖上的Plot1超過Plot2乘以警報因子時,會發(fā)出警報。以下是指標(biāo)三代碼的解讀://定義一個名為"CandleSentiment"的指標(biāo)inputs://輸入?yún)?shù)定義BBLength(10),//布林帶寬度長度設(shè)置為10BBNumDevs(.5),//布林帶標(biāo)準(zhǔn)差倍數(shù)設(shè)置為0.5AvgLength1(4),//計(jì)算平均值1的周期長度設(shè)置為4AvgLength2(4),//計(jì)算平均值2的周期長度設(shè)置為4BBILength(60),//布林帶內(nèi)部長度設(shè)置為60NumDevsUp(1.5),//布林帶上軌標(biāo)準(zhǔn)差倍數(shù)設(shè)置為1.5NumDevsDn(1.5),//布林帶下軌標(biāo)準(zhǔn)差倍數(shù)設(shè)置為1.5variables://變量定義Index(0),//用于存儲計(jì)算結(jié)果的變量初始化Avg(0),//用于存儲平均值的變量初始化SDev(0),//用于存儲標(biāo)準(zhǔn)差的變量初始化UpperBand(0),//用于存儲布林帶上軌的變量初始化LowerBand(0),//用于存儲布林帶下軌的變量初始化Zone(0);//用于存儲區(qū)域劃分的變量初始化Index=Average(Average(//計(jì)算CandleCode的平均值,BBLength為布林帶寬度長度,BBNumDevs為布林帶標(biāo)準(zhǔn)差倍數(shù)CandleCode(BBLength,BBNumDevs),AvgLength1),AvgLength2);//使用AvgLength1和AvgLength2計(jì)算CandleCode的平均值ifCurrentBar>(BBILength+BBLength)*2then//如果當(dāng)前柱狀圖編號大于布林帶內(nèi)部長度加上布林帶寬度長度乘以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//如果前一個周期的Index值小于等于UpperBand值,并且當(dāng)前周期的Index值大于UpperBand值Zone=3{UpPulse}//則設(shè)置Zone為3,表示上升脈沖elseifIndex[1]>=UpperBand[1]andIndex<UpperBandthen//否則,如果前一個周期的Index值大于等于UpperBand值,并且當(dāng)前周期的Index值小于UpperBand值Zone=6{Bear}//則設(shè)置Zone為6,表示熊市elseifIndex[1]>=LowerBand[1]andIndex<LowerBandthen//否則,如果前一個周期的Index值大于等于LowerBand值,并且當(dāng)前周期的Index值小于LowerBand值Zone=5{DownPulse}//則設(shè)置Zone為5,表示下降脈沖elseifIndex[1]<=LowerBand[1]andIndex>LowerBandthen//否則,如果前一個周期的Index值小于等于LowerBand值,并且當(dāng)前周期的Index值大于LowerBand值Zone=4;{Bull}//則設(shè)置Zone為4,表示牛市SetPlotColor(1,Zone);//根據(jù)Zone的值設(shè)置Plot1的顏色end;//結(jié)束當(dāng)前if語句塊以上指標(biāo)三代碼用于計(jì)算蠟燭圖的情緒。它首先計(jì)算了CandleCode的平均值,然后使用布林帶指標(biāo)來確定蠟燭圖的情緒區(qū)域。根據(jù)CandleCode值與布林帶上軌和下軌的關(guān)系,指標(biāo)將情緒劃分為上升脈沖、牛市、下降脈沖和熊市。最后,根據(jù)情緒區(qū)域設(shè)置Plot1的顏色。策略信號一代碼解讀://定義一個名為"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的周期長度為40LRPeriod(20),//設(shè)置計(jì)算線性回歸角度的周期長度為20BAngle(30),//設(shè)置線性回歸角度FC的基準(zhǔn)值為30度SAngle(-30),//設(shè)置線性回歸角度FC的退出值為-30度LRC(30),//設(shè)置線性回歸周期長度為30UB(.1),//設(shè)置線性回歸斜率FC的上限為0.1LB(-.05),//設(shè)置線性回歸斜率FC的下限為-0.05BarToExitOn(70),//設(shè)置在BarToExitOn周期后退出交易的柱狀圖數(shù)量CIntra(.1),//設(shè)置內(nèi)部波動性的權(quán)重為0.1CInter(.1);//設(shè)置外部波動性的權(quán)重為0.1variables://變量定義VolumePlusMinus(0),//用于存儲FVE因子加減值的初始化Fvesum(0),//用于存儲FVE因子總和的初始化FVE(0),//用于存儲FVE因子的初始化MyVolume(0);//用于存儲當(dāng)前柱狀圖的成交量的初始化ifBarType<2then//如果當(dāng)前柱狀圖類型小于2(可能是指非交易時間段)MyVolume=Ticks//則使用Ticks作為當(dāng)前柱狀圖的成交量else//否則MyVolume=Volume;//則使用Volume作為當(dāng)前柱狀圖的成交量ifBarNumber>2*Samplesthen//如果當(dāng)前柱狀圖編號大于設(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)前沒有持倉,且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;//則在下一個柱狀圖的市場價處買入ifLinearRegAngle(FVE,LRPeriod)<SAnglethen//如果線性回歸角度小于SAngleSell("FVEEXIT")nextbaratmarket;//則在下一個柱狀圖的市場價處賣出IfBarsSinceEntry=BarToExitOnthen//如果持有時間達(dá)到BarToExitOn周期Sell("TimeBarsLX")nextbaratmarket;//則在下一個柱狀圖的市場價處賣出end;//結(jié)束當(dāng)前if語句塊end;//結(jié)束當(dāng)前if語句塊end;//結(jié)束當(dāng)前if語句塊本交易策略,使用FVE因子、線性回歸角度和斜率、以及成交量的加減值來決定買入和賣出的時機(jī)。策略首先計(jì)算FVE因子的加減值,然后計(jì)算FVE因子值。根據(jù)市場持倉狀態(tài)、FVE因子的值、線性回歸角度、斜率、EMA值和線性回歸斜率與預(yù)設(shè)閾值的比較,策略決定是否買入或賣出。此外,如果持有時間達(dá)到預(yù)設(shè)的柱狀圖數(shù)量,策略也會賣出。策略信號二代碼注解://定義一個名為"CandleSentimentStrat"的交易策略inputs://輸入?yún)?shù)定義BBLength(10),//布林帶寬度長度設(shè)置為10BBNumDevs(.5),//布林帶標(biāo)準(zhǔn)差倍數(shù)設(shè)置為0.5AvgLength1(4),//計(jì)算平均值1的周期長度設(shè)置為4AvgLength2(4),//計(jì)算平均值2的周期長度設(shè)置為4BBILength(60),//布林帶內(nèi)部長度設(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的周期長度為14OverSold(20),//設(shè)置Stochastic的OverSold閾值為20OverBought(80),//設(shè)置Stochastic的OverBought閾值為80variables://變量定義oFastK(0),//用于存儲快速K值的初始化oFastD(0),//用于存儲快速D值的初始化oSlowK(0),//用于存儲慢速K值的初始化oSlowD(0),//用于存儲慢速D值的初始化Index(0),//用于存儲計(jì)算結(jié)果的變量初始化Avg(0),//用于存儲平均值的變量初始化SDev(0),//用于存儲標(biāo)準(zhǔn)差的變量初始化UpperBand(0),//用于存儲布林帶上軌的變量初始化LowerBand(0),//用于存儲布林帶下軌的變量初始化Zone(0);//用于存儲區(qū)域劃分的變量初始化Index=Average(Average(CandleCode(BBLength,BBNumDevs),AvgLength1),AvgLength2);//計(jì)算CandleCode的平均值,BBLength為布林帶寬度長度,BBNumDevs為布林帶標(biāo)準(zhǔn)差倍數(shù)ifCurrentBar>(BBILength+BBLength)*2then//如果當(dāng)前柱狀圖編號大于布林帶內(nèi)部長度加上布林帶寬度長度乘以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//如果前一個周期的Index值小于等于UpperBand值,并且當(dāng)前周期的Index值大于UpperBand值thenZone=3{UpPulse}//則設(shè)置Zone為3,表示上升脈沖elseifIndex[1]>=UpperBand[1]andIndex<UpperBandthenZone=6{Bear}//否則,如果前一個周期的Index值大于等于UpperBand值,并且當(dāng)前周期的Index值小于UpperBand值elseifIndex[1]>=LowerBand[1]andIndex<LowerBandthenZone=5{DownPulse}//否則,如果前一個周期的Index值大于等于LowerBand值,并且當(dāng)前周期的Index值小于LowerBand值elseifIndex[1]<=LowerBand[1]andIndex>LowerBandthen//否則,如果前一個周期的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為最高價,L為最低價,C為收盤價,Length為周期長度,3為K線的計(jì)算方法,3為D線的計(jì)算方法,1為應(yīng)用方法,oFastK,oFastD,oSlowK,oSlowD為輸出變量ifCurrentBar>2andoSlowKcrossesoveroSlowDandZone=4then//如果當(dāng)前柱狀圖編號大于2,并且慢速K線交叉上穿慢速D線,并且當(dāng)前Zone為牛市Buy("LE-Z4")nextbaratmarket;//則在下一個柱狀圖的市場價處買入ifCurrentBar>2andoSlowKcrossesunderoSlowDandZone=6then//如果當(dāng)前柱狀圖編號大于2,并且慢速K線交叉下穿慢速D線,并且當(dāng)前Zone為熊市SellShort("SE-Z6")nextbaratmarket;//則在下一個柱狀圖的市場價處賣出(做空)ifCurrentBar>2andoSlowKcrossesoveroSlowDandZone=3then//如果當(dāng)前柱狀圖編號大于2,并且慢速K線交叉上穿慢速D線,并且當(dāng)前Zone為上升脈沖Buy("LE-Z3")nextbaratmarket;//則在下一個柱狀圖的市場價處買入ifCurrentBar>2andoSlowKcrossesunderoSlowDandZone=3andoSlowK>OverBoughtthen//如果當(dāng)前柱狀圖編號大于2,并且慢速K線交叉下穿慢速D線,并且當(dāng)前Zone為上升脈沖,并且慢速K線值大于OverBought閾值SellShort("SE-Z3")nextbaratmarket;//則在下一個柱狀圖的市場價處賣出(做空)ifCurrentBar>2andoSlowKcrossesoveroSlowDandZone=5andoSlowK<OverSoldthen//如果當(dāng)前柱狀圖編號大于2,并且慢速K線交叉上穿慢速D線,并且當(dāng)前Zone為下降脈沖,并且慢速K線值小于OverSold閾值Buy("LE-Z5")nextbaratmarket;//則在下一個柱狀圖的市場價處買入ifCurrentBar>2andoSlowKcrossesunderoSlowDandZone=5then//如果當(dāng)前柱狀圖編號大于2,并且慢速K線交叉下穿慢速D線,并且當(dāng)前Zone為下降脈沖SellShort("SE-Z5")nextbaratmarket;//則在下一個柱狀圖的市場價處賣出(做空)end;//結(jié)束當(dāng)前if語句塊end;//結(jié)束當(dāng)前if語句塊本交易策略,結(jié)合了布林帶和Stochastic指標(biāo)來決定買入和賣出的時機(jī)。策略首先計(jì)算CandleCode的平均值,然后使用布林帶指標(biāo)來確定蠟燭圖的情緒區(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;策略信號一代碼: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,LRC

溫馨提示

  • 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

提交評論