tb支持期货公司
钱德动量摆动指标,看着跟KD或RSI相似吧,其实确实差不多的,这也是一个探索超买超卖的指标,至于效果吗?还是老话,相信它的就要自己全面观察,把握它的优缺点,这才有机会获得盈利。你觉得有庄家操控盘面,那么你唯一能依靠的就是自己的判断规则了。庄家也是人,他不可能全面把握所有的指标,流行的,做出一小段的走势还有可能,要完全全面控盘,那结局基本都是以逃亡告终的。你没有全面了解信息,这没关系,但你一定要相信自己的规则,依规则行事,我相信结果肯定不会太差的。
好了,废话就这些,我们还是来看看这个指标,算法如下:
CMOValue =( SumCloseUp - SumCloseDown)/(SumCloseUp + SumCloseDown)*100;
其中:SumCloseUp是今日收盘价与昨日收盘价(上涨日)差值加总。若当日下跌,则增加值为0;SumCloseDown是今日收盘价与做日收盘价(下跌日)差值的绝对值加总。若当日上涨,则增加值为0.
了解了这些算法,我们来看看源代码如何写的:
Params
Numeric Length(20);//声明数值参数Length,初始值为20。//
Vars
Numeric CMOValue;//声明数值变量CMOValue。//
NumericSeries CloseUp; //声明数值序列变量CloseUp。//
NumericSeries CloseDown; //声明数值序列变量CloseDown。//
Numeric SumCloseUp;//声明数值变量SumCloseUp。//
Numeric SumCloseDown; //声明数值变量SumCloseDown。//
Begin
if(CurrentBar == 0) //假如当前k线为第一根。//
{
CMOValue=0; //变量CMOValue赋值为0.//
}
Else //那这就是从第二根k线开始算了。//
{
If(Close > Close[1]) //假如当前k线收盘价大于前一根的收盘价。//
{
CloseUp=Close - Close[1]; //变量CloseUp = 当前收盘价 - 前一根收盘价。//
CloseDown=0; //变量CloseDowm = 0.//
}
If(Close < Close[1]) // 假如当前收盘价小于前一根k线收盘价的。//
{
CloseUp=0;//变量CloseUp = 0.//
CloseDown=Close[1] - Close;//变量CloseDown = 前一根收盘价 - 当前收盘价。//
}
If(Close == Close[1]) //当前收盘价等于前一根收盘价的。//
{
CloseUp=0; //变量CloseUp = 0.//
CloseDown=0;//变量CloseDown =0.//
}
SumCloseUp = SummationFC(CloseUp,Length);//前面解说过函数SummationFC,快速求和。把变量CloseUp返回到函数里去,再把20周期返回,求得变量SumCloseUp总值。//
SumCloseDown = SummationFC(CloseDown,Length);//解读同上了。//
If(SumCloseUp + SumCloseDown <> 0)//这里做个假设,变量SumCloseUp + 变量SumCloseDown不等于0.//
CMOValue =( SumCloseUp - SumCloseDown)/(SumCloseUp + SumCloseDown)*100;//变量CMOValue的求值公式,把上面算得的各值代入进去,直白解读了。//
}
PlotNumeric("CMO",CMOValue);//画线CMO,值就是变量CMOValue的值了。//
PlotNumeric("Ref1",50); //画线超买上轨,值为50.//
PlotNumeric("Ref2",-50); //画线超卖下轨,值为-50.//
End
CMO指标的解读就是这样了,很简单的,只要理解了这一步步的算法,代码编写其实也不难的,这些英文,其实很多都可以写个简单的,比如直接用a,b,c去替代都可以。当然,TB系统自带的函数不能变更,但也没几个英文的,看多了的朋友都知道写来写去,就那几个。
这个指标,依据超买超卖来操作,我们可以添加一条均线,改写一下,直接复制固定止盈止损或者跟踪止损,就可以改成一个交易系统了。代码及结果如下:
Params
Numeric Length(20);
Numeric DslowLength(200);
Vars
NumericSeries CMOValue;
NumericSeries CloseUp;
NumericSeries CloseDown;
Numeric SumCloseUp;
Numeric SumCloseDown;
NumericSeries AvgValue3;
Numeric MinPoint;
Numeric MyEntryPrice;
Numeric TakeProfitSet(120);
Numeric StopLossSet(30);
Numeric MyExitPrice;
Begin
AvgValue3 = AverageFC(Close,DslowLength);
PlotNumeric("MA3",AvgValue3);
if(CurrentBar == 0)
{
CMOValue=0;
}Else
{
If(Close > Close[1])
{
CloseUp=Close - Close[1];
CloseDown=0;
}
If(Close < Close[1])
{
CloseUp=0;
CloseDown=Close[1] - Close;
}
If(Close == Close[1])
{
CloseUp=0;
CloseDown=0;
}
SumCloseUp = SummationFC(CloseUp,Length);
SumCloseDown = SummationFC(CloseDown,Length);
If(SumCloseUp + SumCloseDown <> 0)
CMOValue =( SumCloseUp - SumCloseDown)/(SumCloseUp + SumCloseDown)*100;
}
If(!CallAuctionFilter()) Return;
If(MarketPosition <> 1 And CrossOver(CMOValue[1],0) And Close[1] >AvgValue3)
{
Buy(1,Open);
}
If(MarketPosition <> -1 And CrossUnder(CMOValue[1],0) And Close[1] < AvgValue3)
{
SellShort(1,Open);
}
MinPoint = MinMove*PriceScale;
MyEntryPrice = AvgEntryPrice;
If(MarketPosition==1)
{
If(High >= MyEntryPrice + TakeProfitSet*MinPoint)
{
MyExitPrice = MyEntryPrice + TakeProfitSet*MinPoint;
If(Open > MyExitPrice) MyExitPrice = Open;
Sell(0,MyExitPrice);
}else if(Low <= MyEntryPrice - StopLossSet*MinPoint)
{
MyExitPrice = MyEntryPrice - StopLossSet*MinPoint;
If(Open < MyExitPrice) MyExitPrice = Open;
Sell(0,MyExitPrice);
}
}else if(MarketPosition==-1)
{
If(Low <= MyEntryPrice - TakeProfitSet*MinPoint)
{
MyExitPrice = MyEntryPrice - TakeProfitSet*MinPoint;
If(Open < MyExitPrice) MyExitPrice = Open;
BuyToCover(0,MyExitPrice);
}else if(High >= MyEntryPrice + StopLossSet*MinPoint)
{
MyExitPrice = MyEntryPrice + StopLossSet*MinPoint;
If(Open > MyExitPrice) MyExitPrice = Open;
BuyToCover(0,MyExitPrice);
}
}
End
看着还不错吧,我一直用的是焦炭30分钟周期来测试的,这交易代码里新出来了一个crossover和crossunder,其实意思就是穿越跟跌破的意思。我这里边用的是固定止损止盈1:4的模板,当然,这可以依据个人意愿来修改的。我这里写的很多交易系统,都是临时性写的,买卖条件也基本就是在均线基础上写出来的,所以,有的朋友要是看着结果不错,直接取用,要是亏损,我也没法交代的。我只能告诉你,我这里只是解读代码的,做个模板例子,告诉你怎么可以自己改写代码,做成适合自己的程序化交易系统。
大选倒计时:经济指标和资产类别如何揭示选举结果可能性?
内生货币,内生货币理论
经济货币化指标?经济发展水平的主要指标是
内生变量 货币政策 货币供给是内生变量还是外生变量
经济货币化常用指标(货币化率和经济发展)
静态货币和动态货币,深圳的数字货币试验区有什么动态
货币增长率的货币指标(增长幅度是增长率吗)
数字货币的指标?央行数字货币DCEP
内生货币供给 货币内生性概念
货币供应量m2 m1(m1 m2是什么意思)