波动情绪策略(TS版)_第1页
波动情绪策略(TS版)_第2页
波动情绪策略(TS版)_第3页
波动情绪策略(TS版)_第4页
波动情绪策略(TS版)_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

波动情绪策略(TS版)交易逻辑思路1.**FveFactorWVolatility函数**:-计算TP值(最高价、最低价和收盘价的平均值)。-计算内部波动性(对数最高价减去对数最低价)。-计算内部波动性的标准差。-如果上一个周期的TP值大于0,则计算外部波动性(当前TP值的对数减去上一个周期TP值的对数)及其标准差;否则,外部波动性及其标准差均设为0。-计算Cutoff值(内部波动性权重乘以内部波动性的标准差加上外部波动性权重乘以外部波动性的标准差)。-计算MF值(收盘价减去(最高价和最低价的平均值)加上TP值减去上一个周期的TP值)。-根据MF值与Cutoff值乘以收盘价的比较结果,确定FveFactorWVolatility的值(1、-1或0)。2.**指标一(FVEwithVolatility)**:-使用FveFactorWVolatility函数计算FVE因子,并将其与成交量相关联。-计算FVE因子的EMA值,并在图表上绘制这些值。-包含一个警报逻辑,当满足特定条件时,会触发警报。3.**指标二(FVEVolBars)**:-使用波动性修改的FVE公式来计算FVE因子,并将其应用于成交量柱状图。-根据FVE因子的值来设置柱状图的颜色(上升颜色为绿色,下降颜色为红色,中性颜色为蓝色)。-设置了警报逻辑,当成交量柱状图上的Plot1超过Plot2乘以警报因子时,会发出警报。4.**指标三(CandleSentiment)**:-计算蜡烛图的情绪。-使用布林带指标来确定蜡烛图的情绪区域(上升脉冲、牛市、下降脉冲和熊市)。-根据情绪区域设置Plot1的颜色。5.**策略信号一(FVEwVolatilityStrat)**:-使用FVE因子、线性回归角度和斜率、以及成交量的加减值来决定买入和卖出的时机。-根据市场持仓状态、FVE因子的值、线性回归角度、斜率、EMA值和线性回归斜率与预设阈值的比较,决定是否买入或卖出。-如果持有时间达到预设的柱状图数量,策略也会卖出。6.**策略信号二(CandleSentimentStrat)**:-结合布林带和Stochastic指标来决定买入和卖出的时机。-计算CandleCode的平均值,然后使用布林带指标来确定蜡烛图的情绪区域。-根据CandleCode值与布林带上轨和下轨的关系,指标将情绪划分为上升脉冲、牛市、下降脉冲和熊市。-接着,策略计算Stochastic指标,并基于Stochastic指标的交叉和Zone值,决定是否买入或卖出。策略特点1.**FVE因子**:-通过波动性修正的FVE公式来衡量价格变动,结合了内部和外部波动性。-FVE因子能够反映价格变动的强度和方向。2.**成交量关联**:-将FVE因子与成交量相关联,进一步增强了指标的动量特性。-通过成交量的增减来判断市场的活跃度和趋势的持续性。3.**多指标结合**:-结合布林带和Stochastic指标,提供了多种市场情绪的度量方式。-多指标结合能够更全面地捕捉市场信息,减少单一指标的局限性。4.**动态阈值**:-使用线性回归角度和斜率作为动态阈值,能够适应市场的变化。-这种动态阈值使得策略在不同市场环境下都能保持一定的有效性。5.**灵活的交易逻辑**:-策略提供了多种买入和卖出的条件,包括FVE因子的值、线性回归角度、斜率、EMA值和持有时间等。-这种灵活的交易逻辑能够应对不同的市场环境和交易需求。6.**可视化工具**:-提供了多个绘图功能,如FVE因子的平均值、EMA值、成交量等。-这些可视化工具能够帮助交易者更好地理解市场动态和策略表现。函数代码解读://定义一个名为"FveFactorWVolatility"的函数,用于计算一个与波动性相关的FVE因子inputs://输入参数定义Samples(numericsimple),//设置计算标准差的样本数量CInter(numericsimple),//设置内部交易波动性的权重CIntra(numericsimple);//设置内部波动性的权重variables://变量定义TP(0),//计算TP值的初始化Intra(0),//内部波动性的初始化VIntra(0),//内部波动性的标准差Inter(0),//外部波动性的初始化VInter(0),//外部波动性的标准差Cutoff(0),//计算Cutoff值的初始化MF(0);//计算MF值的初始化TP=(High+Low+Close)/3;//计算TP值,即(最高价+最低价+收盘价)/3Intra=Log(High)-Log(Low);//计算内部波动性,即对数(最高价)-对数(最低价)Vintra=StandardDev(Intra,Samples,1);//计算内部波动性的标准差,使用样本数量Samples和计算方法1(可能是简单平均)ifTP[1]>0then//如果上一个周期的TP值大于0beginInter=Log(TP)-Log(TP[1]);//计算外部波动性,即对数(当前TP值)-对数(上一个周期的TP值)Vinter=StandardDev(Inter,Samples,1);//计算外部波动性的标准差endelse//如果上一个周期的TP值不大于0beginInter=0;//外部波动性设置为0Vinter=0;//外部波动性的标准差设置为0endCutoff=CIntra*VIntra+CInter*VInter;//计算Cutoff值,即内部波动性权重乘以内部波动性的标准差加上外部波动性权重乘以外部波动性的标准差MF=(Close-(High+Low)/2)+TP-TP[1];//计算MF值,即(收盘价-(最高价+最低价)/2)+TP-TP[1]ifMF>CutOff*Closethen//如果MF值大于CutOff值乘以收盘价FveFactorWVolatility=1//设置FveFactorWVolatility为1elseifMF<-1*CutOff*Closethen//否则,如果MF值小于-1乘以CutOff值乘以收盘价FveFactorWVolatility=-1//设置FveFactorWVolatility为-1else//否则FveFactorWVolatility=0;//设置FveFactorWVolatility为0这个函数定义了一个与波动性相关的FVE因子,用于衡量股票或其他金融资产的价格变动。函数首先计算TP值,然后分别计算内部和外部的波动性及其标准差。最后,根据MF值与Cutoff值乘以收盘价的比较结果,确定FveFactorWVolatility的值。以下是指标一代码的逐行注释://定义一个名为"FVEwithVolatility"的指标inputs://输入参数定义Samples(22),//设置计算FVE的样本数量为22PerMA(40),//设置计算EMA的周期长度为40CIntra(.1),//设置内部波动性的权重为0.1CInter(.1);//设置外部波动性的权重为0.1variables://变量定义VolumePlusMinus(0),//用于存储FVE因子加减值的初始化FVE(0),//用于存储FVE因子的初始化FVESum(0),//用于存储FVE因子总和的初始化MyVolume(0);//用于存储当前柱状图的成交量的初始化ifBarType<2then//如果当前柱状图类型小于2(可能是指非交易时间段)MyVolume=Ticks//则使用Ticks作为当前柱状图的成交量else//否则MyVolume=Volume;//则使用Volume作为当前柱状图的成交量ifBarNumber>Samplesthen//如果当前柱状图编号大于设置的样本数量beginVolumePlusMinus=Volume*//计算FVE因子加减值,即成交量乘以FveFactorWVolatility的结果FveFactorWVolatility(Samples,CInter,CIntra);//计算FVE因子加减值FVEsum=Summation(VolumePlusMinus,Samples);//计算FVE因子加减值的总和FVE=(FVEsum/(Average(Volume,Samples)*Samples))*100;//计算FVE因子值,即FVE因子加减值总和除以平均成交量乘以样本数量,然后乘以100Plot1(Average(FVE,1),"FVE");//在图表上绘制FVE因子的平均值,名称设置为"FVE"Plot2(XAverage(FVE,PerMA),"EMAFVE");//在图表上绘制FVE因子的EMA值,名称设置为"EMAFVE"Plot3(0,"0");//在图表上绘制一条值为0的水平线,名称设置为"0",用于比较FVE指标值if(FVE>-20andFVE<10)andFVE>XAverage(FVE,PerMA)andLinearRegAngleFC(FVE,20)>30then//如果FVE因子值在-20到10之间,且FVE因子值大于其EMA值,且线性回归角度FC大于30度alert("FVE");//则发出警报,提示"FVE"end;//结束当前if语句块这个指标使用经过波动性修改的FVE公式来计算FVE因子,并将其与成交量相关联。指标还会计算FVE因子的EMA值,并在图表上绘制这些值。此外,指标还包含一个警报逻辑,当满足特定条件时,会触发警报。以下是指标二代码的逐行注释://定义一个名为"FVEVolBars"的指标//这是一个带有颜色编码的波动性成交量柱状图公式。inputs://输入参数定义AvgLength(50),//设置计算平均值的周期长度为50AlertPct(70),//设置警报百分比为70%UpColor(Green),//设置上升颜色为绿色DownColor(Red),//设置下降颜色为红色NeutralColor(Blue),//设置中性颜色为蓝色CIntra(.1),//设置内部波动性的权重为0.1CInter(.1),//设置外部波动性的权重为0.1Samples(22);//设置计算FVE因子的样本数量为22variables://变量定义AlertFactor(1+AlertPct/100),//计算警报因子,即1加上警报百分比AlertStr(NumToStr(AlertPct,2)),//创建警报百分比的字符串表示形式MyVolume(0),//用于存储当前柱状图的成交量的初始化MyFVEFactor(0);//用于存储当前柱状图的FVE因子的初始化MyFVEFactor=FveFactorWVolatility(Samples,CInter,CIntra);//计算当前柱状图的FVE因子ifBarType<2then//如果当前柱状图类型小于2(可能是指非交易时间段)MyVolume=Ticks//则使用Ticks作为当前柱状图的成交量else//否则MyVolume=Volume;//则使用Volume作为当前柱状图的成交量Plot1(MyVolume,"Vol");//在图表上绘制成交量,名称设置为"Vol"Plot2(AverageFC(MyVolume,AvgLength),"VolAvg");//在图表上绘制成交量的平均值,名称设置为"VolAvg"{Colorcriteria}//颜色标准IfMyFVEFactor=1then//如果FVE因子为1(表示上升)SetPlotColor(1,UpColor)//则设置Plot1的颜色为上升颜色ElseifMyFVEFactor=-1then//否则,如果FVE因子为-1(表示下降)SetPlotColor(1,DownColor)//则设置Plot1的颜色为下降颜色elseSetPlotColor(1,NeutralColor);//否则,设置Plot1的颜色为中性颜色{Alertcriteria}//警报标准ifPlot1crossesoverPlot2*AlertFactorthen//如果成交量柱状图上的Plot1超过了Plot2乘以警报因子Alert("Volumebreakingthrough"+AlertStr+"%aboveitsavg.");//则发出警报,提示"成交量突破其平均值"+AlertStr+"%以上"。这个指标使用波动性修改的FVE公式来计算FVE因子,并将其应用于成交量柱状图。指标根据FVE因子的值来设置柱状图的颜色,并设置了警报逻辑,当成交量柱状图上的Plot1超过Plot2乘以警报因子时,会发出警报。以下是指标三代码的解读://定义一个名为"CandleSentiment"的指标inputs://输入参数定义BBLength(10),//布林带宽度长度设置为10BBNumDevs(.5),//布林带标准差倍数设置为0.5AvgLength1(4),//计算平均值1的周期长度设置为4AvgLength2(4),//计算平均值2的周期长度设置为4BBILength(60),//布林带内部长度设置为60NumDevsUp(1.5),//布林带上轨标准差倍数设置为1.5NumDevsDn(1.5),//布林带下轨标准差倍数设置为1.5variables://变量定义Index(0),//用于存储计算结果的变量初始化Avg(0),//用于存储平均值的变量初始化SDev(0),//用于存储标准差的变量初始化UpperBand(0),//用于存储布林带上轨的变量初始化LowerBand(0),//用于存储布林带下轨的变量初始化Zone(0);//用于存储区域划分的变量初始化Index=Average(Average(//计算CandleCode的平均值,BBLength为布林带宽度长度,BBNumDevs为布林带标准差倍数CandleCode(BBLength,BBNumDevs),AvgLength1),AvgLength2);//使用AvgLength1和AvgLength2计算CandleCode的平均值ifCurrentBar>(BBILength+BBLength)*2then//如果当前柱状图编号大于布林带内部长度加上布林带宽度长度乘以2beginAvg=Average(Index,BBILength);//计算Index在BBILength周期内的平均值SDev=StandardDev(Index,BBILength,1);//计算Index在BBILength周期内的标准差UpperBand=Avg+NumDevsUp*SDev;//计算布林带上轨LowerBand=Avg-NumDevsDn*SDev;//计算布林带下轨Plot1(Index,"CCode");//在图表上绘制Index值,名称设置为"CCode"Plot2(UpperBand,"UB");//在图表上绘制UpperBand值,名称设置为"UB"Plot3(LowerBand,"LB");//在图表上绘制LowerBand值,名称设置为"LB"ifIndex[1]<=UpperBand[1]andIndex>UpperBandthen//如果前一个周期的Index值小于等于UpperBand值,并且当前周期的Index值大于UpperBand值Zone=3{UpPulse}//则设置Zone为3,表示上升脉冲elseifIndex[1]>=UpperBand[1]andIndex<UpperBandthen//否则,如果前一个周期的Index值大于等于UpperBand值,并且当前周期的Index值小于UpperBand值Zone=6{Bear}//则设置Zone为6,表示熊市elseifIndex[1]>=LowerBand[1]andIndex<LowerBandthen//否则,如果前一个周期的Index值大于等于LowerBand值,并且当前周期的Index值小于LowerBand值Zone=5{DownPulse}//则设置Zone为5,表示下降脉冲elseifIndex[1]<=LowerBand[1]andIndex>LowerBandthen//否则,如果前一个周期的Index值小于等于LowerBand值,并且当前周期的Index值大于LowerBand值Zone=4;{Bull}//则设置Zone为4,表示牛市SetPlotColor(1,Zone);//根据Zone的值设置Plot1的颜色end;//结束当前if语句块以上指标三代码用于计算蜡烛图的情绪。它首先计算了CandleCode的平均值,然后使用布林带指标来确定蜡烛图的情绪区域。根据CandleCode值与布林带上轨和下轨的关系,指标将情绪划分为上升脉冲、牛市、下降脉冲和熊市。最后,根据情绪区域设置Plot1的颜色。策略信号一代码解读://定义一个名为"FVEwVolatilityStrat"的交易策略inputs://输入参数定义Samples(50),//设置计算FVE因子的样本数量为50FVEEnterL(-20),//设置FVE因子进入交易的下限为-20FVEEnterU(10),//设置FVE因子进入交易的上限为10MA(40),//设置计算FVE因子EMA的周期长度为40LRPeriod(20),//设置计算线性回归角度的周期长度为20BAngle(30),//设置线性回归角度FC的基准值为30度SAngle(-30),//设置线性回归角度FC的退出值为-30度LRC(30),//设置线性回归周期长度为30UB(.1),//设置线性回归斜率FC的上限为0.1LB(-.05),//设置线性回归斜率FC的下限为-0.05BarToExitOn(70),//设置在BarToExitOn周期后退出交易的柱状图数量CIntra(.1),//设置内部波动性的权重为0.1CInter(.1);//设置外部波动性的权重为0.1variables://变量定义VolumePlusMinus(0),//用于存储FVE因子加减值的初始化Fvesum(0),//用于存储FVE因子总和的初始化FVE(0),//用于存储FVE因子的初始化MyVolume(0);//用于存储当前柱状图的成交量的初始化ifBarType<2then//如果当前柱状图类型小于2(可能是指非交易时间段)MyVolume=Ticks//则使用Ticks作为当前柱状图的成交量else//否则MyVolume=Volume;//则使用Volume作为当前柱状图的成交量ifBarNumber>2*Samplesthen//如果当前柱状图编号大于设置的样本数量的两倍beginVolumePlusMinus=MyVolume*//计算FVE因子加减值,即成交量乘以FveFactorWVolatility的结果FveFactorWVolatility(Samples,CInter,CIntra);//计算FVE因子加减值FVEsum=Summation(VolumePlusMinus,Samples);//计算FVE因子加减值的总和FVE=(FVEsum/(Average(Volume,Samples)*Samples))*100;//计算FVE因子值,即FVE因子加减值总和除以平均成交量乘以样本数量,然后乘以100ifMarketPosition=0andFVE>FVEEnterLandFVE<FVEEnterUandLinearRegAngleFC(FVE,LRPeriod)>BAngleandFVE>XAverage(FVE,MA)andLinearRegSlopeFC(C,LRC)<UB*LinearRegValue(C,LRC,LRC-1)/100//如果当前没有持仓,且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//如果持有时间达到BarToExitOn周期Sell("TimeBarsLX")nextbaratmarket;//则在下一个柱状图的市场价处卖出end;//结束当前if语句块end;//结束当前if语句块end;//结束当前if语句块本交易策略,使用FVE因子、线性回归角度和斜率、以及成交量的加减值来决定买入和卖出的时机。策略首先计算FVE因子的加减值,然后计算FVE因子值。根据市场持仓状态、FVE因子的值、线性回归角度、斜率、EMA值和线性回归斜率与预设阈值的比较,策略决定是否买入或卖出。此外,如果持有时间达到预设的柱状图数量,策略也会卖出。策略信号二代码注解://定义一个名为"CandleSentimentStrat"的交易策略inputs://输入参数定义BBLength(10),//布林带宽度长度设置为10BBNumDevs(.5),//布林带标准差倍数设置为0.5AvgLength1(4),//计算平均值1的周期长度设置为4AvgLength2(4),//计算平均值2的周期长度设置为4BBILength(60),//布林带内部长度设置为60NumDevsUp(1.5),//布林带上轨标准差倍数设置为1.5NumDevsDn(1.5),//布林带下轨标准差倍数设置为1.5inputs://输入参数定义Length(14),//设置Stochastic的周期长度为14OverSold(20),//设置Stochastic的OverSold阈值为20OverBought(80),//设置Stochastic的OverBought阈值为80variables://变量定义oFastK(0),//用于存储快速K值的初始化oFastD(0),//用于存储快速D值的初始化oSlowK(0),//用于存储慢速K值的初始化oSlowD(0),//用于存储慢速D值的初始化Index(0),//用于存储计算结果的变量初始化Avg(0),//用于存储平均值的变量初始化SDev(0),//用于存储标准差的变量初始化UpperBand(0),//用于存储布林带上轨的变量初始化LowerBand(0),//用于存储布林带下轨的变量初始化Zone(0);//用于存储区域划分的变量初始化Index=Average(Average(CandleCode(BBLength,BBNumDevs),AvgLength1),AvgLength2);//计算CandleCode的平均值,BBLength为布林带宽度长度,BBNumDevs为布林带标准差倍数ifCurrentBar>(BBILength+BBLength)*2then//如果当前柱状图编号大于布林带内部长度加上布林带宽度长度乘以2beginAvg=Average(Index,BBILength);//计算Index在BBILength周期内的平均值SDev=StandardDev(Index,BBILength,1);//计算Index在BBILength周期内的标准差UpperBand=Avg+NumDevsUp*SDev;//计算布林带上轨LowerBand=Avg-NumDevsDn*SDev;//计算布林带下轨ifIndex[1]<=UpperBand[1]andIndex>UpperBand//如果前一个周期的Index值小于等于UpperBand值,并且当前周期的Index值大于UpperBand值thenZone=3{UpPulse}//则设置Zone为3,表示上升脉冲elseifIndex[1]>=UpperBand[1]andIndex<UpperBandthenZone=6{Bear}//否则,如果前一个周期的Index值大于等于UpperBand值,并且当前周期的Index值小于UpperBand值elseifIndex[1]>=LowerBand[1]andIndex<LowerBandthenZone=5{DownPulse}//否则,如果前一个周期的Index值大于等于LowerBand值,并且当前周期的Index值小于LowerBand值elseifIndex[1]<=LowerBand[1]andIndex>LowerBandthen//否则,如果前一个周期的Index值小于等于LowerBand值,并且当前周期的Index值大于LowerBandZone=4;{Bull}//则设置Zone为4,表示牛市Value1=Stochastic(H,L,C,Length,3,3,1,oFastK,oFastD,oSlowK,oSlowD);//计算Stochastic指标,H为最高价,L为最低价,C为收盘价,Length为周期长度,3为K线的计算方法,3为D线的计算方法,1为应用方法,oFastK,oFastD,oSlowK,oSlowD为输出变量ifCurrentBar>2andoSlowKcrossesoveroSlowDandZone=4then//如果当前柱状图编号大于2,并且慢速K线交叉上穿慢速D线,并且当前Zone为牛市Buy("LE-Z4")nextbaratmarket;//则在下一个柱状图的市场价处买入ifCurrentBar>2andoSlowKcrossesunderoSlowDandZone=6then//如果当前柱状图编号大于2,并且慢速K线交叉下穿慢速D线,并且当前Zone为熊市SellShort("SE-Z6")nextbaratmarket;//则在下一个柱状图的市场价处卖出(做空)ifCurrentBar>2andoSlowKcrossesoveroSlowDandZone=3then//如果当前柱状图编号大于2,并且慢速K线交叉上穿慢速D线,并且当前Zone为上升脉冲Buy("LE-Z3")nextbaratmarket;//则在下一个柱状图的市场价处买入ifCurrentBar>2andoSlowKcrossesunderoSlowDandZone=3andoSlowK>OverBoughtthen//如果当前柱状图编号大于2,并且慢速K线交叉下穿慢速D线,并且当前Zone为上升脉冲,并且慢速K线值大于OverBought阈值SellShort("SE-Z3")nextbaratmarket;//则在下一个柱状图的市场价处卖出(做空)ifCurrentBar>2andoSlowKcrossesoveroSlowDandZone=5andoSlowK<OverSoldthen//如果当前柱状图编号大于2,并且慢速K线交叉上穿慢速D线,并且当前Zone为下降脉冲,并且慢速K线值小于OverSold阈值Buy("LE-Z5")nextbaratmarket;//则在下一个柱状图的市场价处买入ifCurrentBar>2andoSlowKcrossesunderoSlowDandZone=5then//如果当前柱状图编号大于2,并且慢速K线交叉下穿慢速D线,并且当前Zone为下降脉冲SellShort("SE-Z5")nextbaratmarket;//则在下一个柱状图的市场价处卖出(做空)end;//结束当前if语句块end;//结束当前if语句块本交易策略,结合了布林带和Stochastic指标来决定买入和卖出的时机。策略首先计算CandleCode的平均值,然后使用布林带指标来确定蜡烛图的情绪区域。根据CandleCode值与布林带上轨和下轨的关系,指标将情绪划分为上升脉冲、牛市、下降脉冲和熊市。接着,策略计算Stochastic指标,并基于Stochastic指标的交叉和Zone值,决定是否买入或卖出。函数: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;指标一代码: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;指标二代码: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.");指标三代码: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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论