取得范围内指标最小最大值 mt5

本文介绍了一种基于指标范围的颜色映射算法,通过计算指定数据点的前ColorSteps个点的最小值和最大值来确定颜色缓冲区的值。该算法确保了即使在最大值等于最小值的情况下也能给出合理的颜色映射。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

i固定,比如100, ColorSteps =50;

double min = ssm[i];
double max = ssm[i];

for(int k=1;  k<ColorSteps && (i-k)>=0; k++)
      {
         min = (ssm[i-k]<min) ? ssm[i-k] : min; 第100个点与99点比较,与98比较与97比较获得第100点到100-50=50点的最小值
         max = (ssm[i-k]>max) ? ssm[i-k] : max; 最大值
      }

 

 

根据指标范围可以定义颜色

double col = 0;

if((max-min) == 0)
            col = 50;
else  col = 100 * (ssm[i]-min)/(max-min);        
      colorBuffer[i] = MathFloor(col*cSteps/100.0); 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值