[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 701

 
IgorM:


你的狗在向函数传递参数时,如果你以SaveDataIND(double TempIND[])的方式传递的话

double TempIND[ ]实际上是一个新的函数数组,但没有改变参数的权利,尝试SaveDataIND(double& TempIND[])。

不,不是的!!!。看来狗终究还是吃了一块肉......谢谢你,伊戈尔。
 

是否有可能使其能够在一个函数中传递使用哪个指标,以便在字符串中

TempIND[j]=iAD(NULL,PERIOD_M5,j);     

不是一个具体的指标,而是作为一个函数参数传递?

 
好吧,做个开关什么的,通过给它们分配指数来写出你可能的指标。
 
Mathemat:
好吧,做个开关什么的,通过给它们分配指数来写出你可能的指标。
谢谢你,阿列克谢,这个想法是我首先想到的......。我想也许有人会提出更极端的建议......。:)
 
artmedia70:

是否有可能使其能够在一个函数中传递使用哪个指标,以便在字符串中

不是一个具体的指标,而是作为一个函数参数传递?



但这有什么意义呢? 通常不会进行这样的操作--通常是将数据发送给函数,而调用函数准备数据/数组

看来你的结构ArrayResize(TempIND,nBars);是不正确的,至少在其他编程语言中,编译器不会错过它,因为你有双TempIND[50];--即数组被声明为静态的,应该是动态的(即没有尺寸)--双TempIND[]。

ZS: 和函数中的变量名称混淆 - 不要忘记,如果有一个全局变量(EA主体中的全局),函数中声明的 同名变量 将完全不同。

int my_int = 100;

///////////
int my_func(){

int my_int = 123;
Print("my_func my_int = ",my_int);
return(0);
}

int start(){
Print("start_func my_int = ",my_int);
return(0);
}
这通常被称为变量的范围--重命名函数中的内容,即 void SaveDataIND(double myTempIND[], int nBars) --减少混淆。
 
artmedia70:

Lot在哪里被初始化?

然后,只有在检查了地段之后,才能像之前写的那样改变Lots_New,或者将其赋值=Lot。



谢谢你!这一切都在起作用!
 
IgorM:


但这有什么意义呢? 通常不会进行这样的操作--数据通常被发送到函数中,而调用函数准备数据/数组

你似乎有错误的ArrayResize(TempIND,nBars);结构,至少在其他编程语言中,编译器不会错过它,因为你有double TempIND[50];--即数组被声明为静态的,而它应该是动态的(即没有尺寸)--double TempIND[]。

ZS: 和函数中的变量名称混淆 - 不要忘记,如果有一个全局变量(EA主体中的全局),函数中声明的同名变量将完全不同。

这通常被称为变量的范围--在函数中重命名事物的名称,即 void SaveDataIND(double myTempIND[], int nBars) --减少混乱,

1.那么,伊戈尔,我是否应该为每个指标编写自己的绝对相同的函数?

2.谢谢,我把它修好了,以防万一...

3.它不会让我感到困惑--我可以看到哪个数组被使用,在哪里使用,这在某种程度上让我更容易倒过来,但当我有很多名字的时候,我肯定会感到困惑......虽然...我也许应该习惯于正确地拼写它......。

 
cyclik33:

谢谢你!这一切都在起作用!
不客气,再来吧...:)
 
T-G 13.07.2010 22:56 am 更正|删除
artmedia70:
检查新蜡烛的开口。如果是新的,你就开,如果是旧的,你就不开。
什么是最好的方法?
 
T-G:
T-G 13.07.2010 22:56 修改 |删除
artmedia70:
检查是否有新的蜡烛开放。如果是新的,你就开,如果是旧的,你就不开。
什么是最好的方法?

static int time = Time[0];

如果(时间<时间[0]){

// 老蜡烛

} else {

// 新的蜡烛

Time = Time[0];

}

原因: