单独一个窗口 画线,但是分段颜色不同
因此2个buffer 1个plot,
因此两个double rsi[],rsic[];
初始化时为一个为data 一个为color
SetIndexBuffer(0,rsi ,INDICATOR_DATA);
SetIndexBuffer(1,rsic ,INDICATOR_COLOR_INDEX);
指标设置一个参数
IndicatorSetString
IndicatorSetDouble等等
比如
IndicatorSetString(INDICATOR_SHORTNAME,"RSX variation ("+(string)RsxPeriod+","+(string)MomPeriod+")");
全局变量指定一个buffer:double wrkBuffer[][13]
初始化wrkBuffer
if (ArrayRange(wrkBuffer,0)!=rates_total) ArrayResize(wrkBuffer,rates_total);
循环为
for (int i=(int)MathMax(prev_calculated-1,0); i<rates_total && !IsStopped(); i++)
首先分开i=0的颜色为0;然后(rsi[i]>rsi[i-1]) 的为1, <的为2, ==的为一样颜色
rsic[i] = (i>0) ? (rsi[i]>rsi[i-1]) ? 1 : (rsi[i]<rsi[i-1]) ? 2 : rsic[i-1] : 0;