N:=20;
N1:=4;
N2:=60;
M:=40;
M1:=8;
M2:=120;
DIR1:=ABS(CLOSE-REF(CLOSE,N));
VIR1:=SUM(ABS(CLOSE-REF(CLOSE,1)),N);
ER1:=DIR1/VIR1;
CS1:=ER1*(2/(N1+1)-2/(N2+1))+2/(N2+1);
CQ1:=CS1*CS1;
AMA1:=EMA(DMA(CLOSE,CQ1),2);
DIR2:=ABS(CLOSE-REF(CLOSE,M));
VIR2:=SUM(ABS(CLOSE-REF(CLOSE,1)),M);
ER2:=DIR2/VIR2;
CS2:=ER2*(2/(M1+1)-2/(M2+1))+2/(M2+1);
CQ2:=CS2*CS2;
AMA2:=EMA(DMA(CLOSE,CQ2),2);
买线:REF(AMA1,1),COLORMAGENTA;
界点:REF(AMA2,1),COLORGRAY;
我在前面那个哥们的基础上改了一下,现在应该和你通达信里面的表现是一致的了。
Params
Numeric N(20);
Numeric N1(4);
Numeric N2(60);
Numeric M(40);
Numeric M1(8);
Numeric M2(120);
Vars
Series<Numeric> DIR1;
Series<Numeric> VIR1;
Series<Numeric> ER1;
Series<Numeric> CS1;
Series<Numeric> CQ1;
Series<Numeric> AMA1;
Series<Numeric> DIR2;
Series<Numeric> VIR2;
Series<Numeric> ER2;
Series<Numeric> CS2;
Series<Numeric> CQ2;
Series<Numeric> AMA2;
Series<Numeric> dma1;
Series<Numeric> dma2;
Defs
Numeric DMA(Numeric dmap,Numeric A)
{
Numeric tempdmap;
If(CurrentBar == 0)
tempdmap =close;
Else
tempdmap = dmap * (1 - A) + Close * A;
Return tempdmap;
}
Events
//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
OnBar(ArrayRef<Integer> indexs)
{
DIR1=ABS(CLOSE-CLOSE[N]);
VIR1=Summation(ABS(CLOSE-CLOSE[1]),N);
ER1=DIR1/VIR1;
CS1=ER1*(2/(N1+1)-2/(N2+1))+2/(N2+1);
CQ1=CS1*CS1;
dma1 =dma(dma1[1],CQ1);
AMA1=XAverage(dma1,2);
DIR2=ABS(CLOSE-CLOSE[M]);
VIR2=Summation(ABS(CLOSE-CLOSE[1]),M);
ER2=DIR2/VIR2;
CS2=ER2*(2/(M1+1)-2/(M2+1))+2/(M2+1);
CQ2=CS2*CS2;
dma2 =dma(dma2[1],CQ2);
AMA2=XAverage(dma2,2);
PlotNumeric("买线",AMA1[1]);
PlotNumeric("界点",AMA2[1]);
}
可以了,非常感谢
Params
Numeric N(20);
Numeric N1(4);
Numeric N2(60);
Numeric M(40);
Numeric M1(8);
Numeric M2(120);
Vars
Series<Numeric> DIR1;
Series<Numeric> VIR1;
Series<Numeric> ER1;
Series<Numeric> CS1;
Series<Numeric> CQ1;
Series<Numeric> AMA1;
Series<Numeric> DIR2;
Series<Numeric> VIR2;
Series<Numeric> ER2;
Series<Numeric> CS2;
Series<Numeric> CQ2;
Series<Numeric> AMA2;
Events
//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
OnBar(ArrayRef<Integer> indexs)
{
DIR1=ABS(CLOSE-CLOSE[N]);
VIR1=Summation(ABS(CLOSE-CLOSE[1]),N);
ER1=DIR1/VIR1;
CS1=ER1*(2/(N1+1)-2/(N2+1))+2/(N2+1);
CQ1=CS1*CS1;
AMA1=XAverage(AverageFC(CLOSE,CQ1),2);
DIR2=ABS(CLOSE-CLOSE[M]);
VIR2=Summation(ABS(CLOSE-CLOSE[1]),M);
ER2=DIR2/VIR2;
CS2=ER2*(2/(M1+1)-2/(M2+1))+2/(M2+1);
CQ2=CS2*CS2;
AMA2=XAverage(AverageFC(CLOSE,CQ2),2);
PlotNumeric("买线",AMA1[1]);
PlotNumeric("界点",AMA2[1]);
}
非常感谢,导入TBQ后显示结果跟通达信里不一样,通达信里两条线的交叉点没那么多,买点和界点显示数值也不一样