Build 646:Bool变量没有给出正确的设置 - 页 4

 
deysmacro:
最好是由MetaQuotes提供能力,让用户在重新编译后决定是否要重置,对吗? 是的,我同意。
 
alop: 我不明白你的例子,EXTERN是用大写字母锁写的?
// #define EXTERN extern
EXTERN typename var1=...;
EXTERN typename var2=...;
只要#define 被注释出来,就没有 外部代码。取消注释,它们就都变成了 外部 代码。
 

WHRoeder...我还是有点不明白你在说什么...

那么,如何编写代码--在重新编译时强制改变图表中的变量?

这对我们中的许多人来说是个大问题--我想从两个角度来看...

有些人不希望在重新编译时改变变量--我完全理解......

但对于其他有30多个货币对在运行的人来说,在每个图表中点击 "重置 "是一个灾难...。

总之,我想你的意思是,上述代码的改变要么强制改变变量,要么不改变......

你能不能举个例子,就像。

强制改变变量。

(例子在此)

不强制改变变量。

(这里的例子)

我认为上述内容对这种情况下的双方都很有帮助......

非常感谢您的帮助!

 

另外--如果我们确实想在活动图表(eas)中强制改变变量--是不是有一个缓存文件我们可以直接删除,以便在重新编译时强制改变变量?

我试图找到它 - 但存储的值似乎隐藏在某个神秘的文件中......

再次感谢您的帮助...

上面的代码例子也可以做到这一点,但如果能知道在哪里可以找到缓存设置就更好了--作为另一种解决方法....

 

所以也...

如果我改变这一行

#define EXTERN extern 

extern typename var1=...。

改为

#define EXTERN extern 

define extern typename var1=......。

我得到一个错误信息--外部变量已经被定义了......。

所以--我想--你的解决方法似乎很混乱,请你澄清一下。

非常感谢。

 
whistler:

所以也...

如果我改变这一行

extern typename var1=...。

改为

define extern typename var1=......。

我得到一个错误信息--外部变量已经被定义了......。

所以--我想--你的解决方法似乎很混乱,请你澄清一下。

非常感谢。

试试这个。

#define EXTERN并在这里不放任何东西

EXTERN bool trade1 =true; <= 在你通常使用extern的地方添加EXTERN

EXTERN bool trade2 = true;

EXTERN bool trade3 = false。

当你想在开头添加extern时,请这样做。

#define EXTERN extern

当你想删除 extern时,这样做。

#define EXTERN 确保你删除extern,如下所示

#define EXTERN

安迪

 

在编码阶段通常不需要手动输入对话,所以在编码修改完成之前不要使用外部修改器就可以了。

// will not reset on recompile unless the value is changed in the code.
extern int Var1 = 20;
extern int Var2 = 40;
//will always reset on recompile
int Var1 = 20;
int Var2 = 40;
 

真棒的东西...太感谢了...

删除了 extern并重新编译,但当我启动MetaTrader并从图表中查看EA设置时,我删除extern的变量已经完全消失了......我关闭MetaTrader,然后重新启动MetaEditor...

我把extern加了回去--重新编译--然后重新启动MetaTrader--变量被加回了EA--变量被更新为新的变量设置......

所以--成功了--非常感谢!:) Soopa stahs!

 
whistler: WHRoeder...我还是有点不明白你在说什么......

同于
// #define EXTERN extern
EXTERN typename var1=...;
EXTERN typename var2=...;
typename var1=...;
typename var2=...;
#define EXTERN extern
EXTERN typename var1=...;
EXTERN typename var2=...;
extern typename var1=...;
extern typename var2=...;
#define EXTERN /*EMPTY*/
EXTERN typename var1=...;
EXTERN typename var2=...;
typename var1=...;
typename var2=...;
 

你好!

重新编译(F5)后,进入EA,打开输入(F7)-右下方有 "重置 "按钮。点击此按钮可将EA重置为(硬)编码值。

我花了好长时间才弄明白这个问题......。大笑。奇迹确实发生了。糟糕的事情也是如此。大笑

最好的问候。

西蒙

S爱尼娅