您1楼思路很简单,用wh8就可以直接实现,为什么非要转用MQ呢
wh8就是为您这样的个人程序化用户设计的,麦语言编写简单易懂,自己就可以编写契合自己思路的模型
而MQ适合有专业编程团队的机构用户使用,相应的语言也更复杂,没有编程基础的话学习难度很大
所以如果您没有别的特别需求,建议继续使用wh8软件,更适合您
MQ不是wh8的转型,两款软件的定位不同,以后wh8也会一直提供服务的
wh9定位在大型机构和专业量化团队,功能设计也是针对机构大资金量的需求
比如:套利程序化、程序化交易池、对冲交易、股票T+0程序化、期权等等
WH8面向个人及小机构做程序化使用
如果个人交易者对上述功能有需求,那可以应用MQ版本实现,如果没有特殊需求,继续使用wh8就可以了。您了解一下
参考:
Params
Numeric SH(12);
Numeric LowO(26);
Numeric M(9);
Numeric T大(1);// N倍MACD
Vars
Numeric T大DIFF;
Numeric T大DEA;
Numeric T大MD;
Numeric T大D;
Numeric T大F;
Numeric T大上标;
Numeric T大下标;
Numeric T大K标;
Numeric T大UP;
Numeric T大DN;//死叉,动态下跌周期
Numeric T大HZG;//求出红柱的最高点
Numeric T大LowZD;//求出绿柱的最低点
Numeric T大HZGM;//求出红柱的最高点的平均值
Numeric T大LowZDM;//求出绿柱的最低点的平均值
Numeric T大UP前;//金叉时,前面最低价所在周期
Numeric T大UP全;//金叉,最低价全面动态上涨周期
Numeric T大DN前;
Numeric T大DN全;//死叉,最高价全面动态下跌周期
Numeric T大GJ;//最高点
Numeric T大GDIFF;
Numeric T大HZ;//计算,红柱面积
Numeric T大DJ;//最低点
Numeric T大DDIFF;
Numeric T大LowZ;
Numeric T大涨幅;
Numeric T大跌幅;
Numeric T大涨比;
Numeric T大跌比;
Numeric T大JZB;
Numeric T大JUP;
Numeric T大JDB;
Numeric T大JDN;
Numeric T大均涨;
Numeric T大涨周;
Numeric T大均跌;
Numeric T大跌周;
Numeric T大UP1;
Begin
//************************30倍MACD指标*****************************
T大DIFF=ema(Close,SH*T大) - ema(Close,LowO*T大) ;//短周期与长周期的收盘价的指数平滑移动平均值做差。
T大DEA =ema(T大DIFF,M*T大);//DIFF的M个周期指数平滑移动平均
T大MD =2*(T大DIFF-T大DEA);// DIFF减DEA的2倍画线
T大D=COUNT(1,0)/COUNT(CROSSUP(T大DIFF,T大DEA),0);//求出金叉的,平均周期
IF(BARPOS>T大D*10)//基础分析周期数
{
T大F=T大D*10;
}
Else
{
T大F=BARPOS;
}
T大上标=MAX(HHV(T大DIFF,T大F),HHV(T大MD,T大F));
T大下标=MIN(LLV(T大DIFF,T大F),LLV(T大MD,T大F));
T大K标=MA(ABS(High-Low),T大F*1);//求1倍TO周期内的,高低点这间的平均波动幅度,也用于标注的参考点
T大UP=BARSLASTCOUNT(T大MD>=0);//金叉,动态上涨周期
T大DN=BARSLASTCOUNT(T大MD<=0);//死叉,动态下跌周期
IF(T大DN==1)//求出红柱的最高点
{
T大HZG=HHV(T大MD,REF(T大UP,1));
}
Else
{
T大HZG=InvalidNumeric;
}
IF(T大UP==1)//求出绿柱的最低点
{
T大LowZD=LLV(T大MD,REF(T大DN,1));
}
Else
{
T大LowZD=InvalidNumeric;
}
T大HZGM=SUM(T大HZG,0)/COUNT(NOT(ISNULL(T大HZG)),0);//求出红柱的最高点的平均值
T大LowZDM=SUM(T大LowZD,0)/COUNT(NOT(IsNull(T大LowZD)),0) ;//求出绿柱的最低点的平均值
//-----求-----金叉,死叉动态周期数**量化*********************************
T大UP前=VALUEWHEN(T大UP=1,LLVBARS(Low,REF(T大DN,1)));//金叉时,前面最低价所在周期
IF(IsNull(T大UP前))//金叉,最低价全面动态上涨周期
{
T大UP全=T大UP;
}
Else
{
T大UP全=T大UP+T大UP前;
}
T大DN前=VALUEWHEN(T大DN=1,HHVBARS(High,REF(T大UP,1)));
IF(ISNULL(T大DN前))//死叉,最高价全面动态下跌周期
{
T大DN全=T大DN;
}
Else
{
T大DN全=T大DN+T大DN前;
}
//-----求-并记录---金叉,死叉对应的动态最高价,最低价------------
T大GJ=VALUEWHEN(T大UP>0,HHV(High,T大UP全));//最高点
T大GDIFF=VALUEWHEN(T大UP>0,HHV(T大DIFF,T大UP));
T大HZ=VALUEWHEN(T大MD>=0,SUM(T大MD,T大UP));//计算,红柱面积
T大DJ=VALUEWHEN(T大DN>0,LLV(Low,T大DN全));//最低点
T大DDIFF=VALUEWHEN(T大DN>0,LLV(T大DIFF,T大DN));
T大LowZ=VALUEWHEN(T大MD<=0,SUM(T大MD,T大DN));
T大涨幅=VALUEWHEN(T大UP>0,T大GJ-T大DJ);
T大跌幅=VALUEWHEN(T大DN>0,T大DJ-T大GJ);
T大涨比=VALUEWHEN(T大UP>0,T大涨幅/T大DJ*100);
T大跌比=VALUEWHEN(T大DN>0,T大跌幅/T大GJ*100);
IF(T大DN==1)
{
T大JZB=T大涨比;
}
Else
{
T大JZB=InvalidNumeric;
}
IF(T大DN==1)
{
T大JUP=REF(T大UP,1);
}
Else
{
T大JUP=InvalidNumeric;
}
IF(T大UP==1)
{
T大JDB=T大跌比;
}
Else
{
T大JDB=InvalidNumeric;
}
IF(T大UP==1)
{
T大JDN=REF(T大DN,1);
}
Else
{
T大JDN=InvalidNumeric;
}
T大均涨=SUM(T大JZB,0)/COUNT(NOT(ISNULL(T大JZB)),0);//求出T大F*1周期内,平均涨幅
T大涨周=SUM(T大JUP,0)/COUNT(NOT(ISNULL(T大JUP)),0);//求出T大F*1周期内,平均上涨周期
T大均跌=SUM(T大JDB,0)/COUNT(NOT(ISNULL(T大JDB)),0);//求出T大F*1周期内,平均跌幅
T大跌周=SUM(T大JDN,0)/COUNT(NOT(ISNULL(T大JDN)),0);//求出T大F*1周期内,平均下跌周期
//T大多井= IF(T大DN>0 AND HHV(H,T大DN)>T大GJ AND T大MD<=REF(T大MD,1),T大上标*0.6,InvalidNumeric),LowINETHICK4;//多头陷阱,动态定义
//T大多井1=IF(T大DN>0 AND HHV(H,T大DN)>T大GJ AND T大MD<=REF(T大MD,1) AND (HHV(H,T大DN)-Low)/HHV(H,T大DN)>0.06,T大上标*0.8,InvalidNumeric),LowINETHICK3;//多头陷阱,动态定义
//----------求各个金叉结束时(死叉开始)到当前K线 动态周期------------
T大UP1=BARSLAST(T大DN=1)+1;//BARSLowAST(CROSSUP(T大DIFF,T大DEA))+1
PlotNumeric("T大DJ",T大DJ);
PlotNumeric("T大均涨",T大均涨);
PlotNumeric("T大均跌",T大均跌);
PlotNumeric("T大涨周",T大涨周);
PlotNumeric("T大跌周",T大跌周);
End