ArrayMinumun() 返回最后一个值
Posted
技术标签:
【中文标题】ArrayMinumun() 返回最后一个值【英文标题】:ArrayMinumun () returning last value 【发布时间】:2021-07-12 13:56:31 【问题描述】:我正在尝试在数组中找到在最后一个关闭订单和 Timecurrent() 之间确定的最小值。 我总是得到缓冲区的最后一个值,而不是数组的最小值。 我试图改变每个参数,但到目前为止没有运气。 请问您能帮帮我吗?
int ArrayCalcMin()
datetime Timeorder=LastOrderTime();
datetime Timeahora=TimeCurrent();
datetime Times=Timeahora-Timeorder;
int m = TimeMinute(Times);
int h = TimeHour(Times);
int d = TimeDay(Times);
int bars = (((d-1)*24*60)+(h*60)+m)/240;
int malookback=bars;
double madaily[30000];
double dllv;
for(int i = 1; i < malookback; i++)
madaily[i] = iCustom(NULL,0,"Scolor8",0,i);
dllv = iCustom(NULL,0,"Scolor8",0,
ArrayMinimum(madaily,WHOLE_ARRAY,0));
Print("Minimum value : ",dllv);
if (dllv < 50)return(1);malookback=0;
else return(0);malookback=0;
提前谢谢你。 韩国 安德烈斯
【问题讨论】:
【参考方案1】:您对如何使用ArrayMinimum()
感到困惑,而且您肯定过于复杂地查找要查看的栏。试试下面的代码
int ArrayCalcMin()
double madaily[1], dllv;
ArrayResize(madaily, iBarShift(NULL, 0, LastOrderTime()));
for(int i=0; i<iBarShift(NULL, 0, LastOrderTime()); i++) madaily[i]=iCustom(NULL, 0, "Scolor8", 0, i);
dllv = madaily[ArrayMinimum(madaily, WHOLE_ARRAY, 0)];
Print("Minimum value : ",dllv);
if(dllv<50) return(1);
else return(0);
【讨论】:
以上是关于ArrayMinumun() 返回最后一个值的主要内容,如果未能解决你的问题,请参考以下文章