任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 880

 
Shurkin:
通过 "控制面板--删除程序 "卸载了旧的终端,在这之前将配置文件复制到了档案中。
旧的终端安装在哪里?新的终端是在哪里安装的。在哪个目录中?在新的终端中,文件 --> 打开数据目录。这将打开资源管理器。在那里,在适当的文件夹里,放上你以前保存的东西。尽管可能你不是从终端数据目录中保存的,而是从它的本地位置保存的(取决于终端在什么地方和以什么模式安装)。
 
evillive:

作为后续,既然其他人只是在发牢骚,不打算捅破天......

由于变量是在函数内部声明的,所以它们不是全局变量,只是为了将来参考,以防你真的需要写工作代码。全局变量是在函数之外声明的,例如在代码的开头。

这就是我的意思。

在这种形式下,函数什么都不做,在真空中工作。 结果在函数完成工作后立即消失(这正是Artem和Victor在上面所暗示的)。


但在删除这个函数后,我得到一个警告:全局变量 中不允许使用表达式。这就是为什么我想把整个代码分成几个include文件:代码中使用的所有变量都在其中一个文件中声明和计算;另一个文件为开仓订单设置条件,其余文件分别为买入和卖出设置平仓条件。也许,这很傻,但我认为这样更容易发现和纠正错误。

虽然它们不是真正的全局变量,但它们会把它们的值传递给我的代码所基于的if-else语句吗?而如果函数完成后,结果消失了,编译器在没有函数的情况下产生错误,那么我就不能把全局变量移到一个单独的文件中吗?

还有关于戏谑--让大家玩得开心点:一直看新手的胡言乱语很烦人,对吗?

 
各位程序员,现在的教学都是为了让教科书中的例子在编译时出现错误信息 吗?那么这样的例子有什么用呢?如果我参考的例子不正确,我怎么能正确地写代码?
 
rapid_minus:
各位程序员,现在的教学都是为了让教科书中的例子在编译时出现错误信息吗?那么这样的例子有什么用呢?如果指导我的例子不正确,我怎么能正确地写代码?
在kodobase中也有一些例子,那些例子似乎在编译时没有错误。
 
rapid_minus:


但当我删除这个函数时,我得到一个警告,即全局变量中不允许有表达式。这就是为什么我想把整个代码分成几个包含文件:其中一个文件声明并计算代码中使用的所有变量,另一个文件设置开盘条件,其余的文件分别设置买入和卖出的收盘条件。也许,这很傻,但我认为这样更容易发现和纠正错误。

虽然它们不是真正的全局变量,但它们会把它们的值传递给我的代码所基于的if-else语句吗?而如果函数完成后,结果消失了,编译器在没有函数的情况下产生错误,那么我就不能把全局变量移到一个单独的文件中吗?

还有关于戏谑--让大家玩得开心点:一直看新手的胡言乱语很烦人,对吗?

没有人说函数必须被删除,我们应该把变量的声明 移出函数,放在代码的开头。或者甚至在主文件中声明它们。
 
evillive:
没有人说应该删除这个函数,它应该在函数之外,在代码的开头声明。或者完全在主文件中声明它们。

你在上面说,当函数结束时,结果就会消失。但我不能从函数体中删除对变量的赋值--编译器会产生错误。结果是,我在函数中给变量赋值,但当我打开带有这些变量的文件时,这些值不会被读取,编译器又皱眉头了?也就是说,我不能只从全局变量 中编写包含文件的代码?
 
rapid_minus:

你在上面说,当函数结束时,结果就会消失。但我不能从函数的主体中删除对变量的赋值--编译器抱怨说有错误。所以,事实证明,我已经在函数中为变量赋值,但当我打开带有这些变量的文件时,这些值将不会被读取,编译器又会抱怨?也就是说,我不能只从全局变量中编写包含文件的代码?

这是我想说的。

//|Включаемый файл "Глобальные переменные"                           |
//+------------------------------------------------------------------+
//-----Объявляем Глобальные переменные:------------------------------------------

double High_0, High_1, High_2;             // Значение верхней линии Bollinger на 0, 1 и 2 барах
   double Low_0, Low_1, Low_2;                // Значение нижней линии Bollinger на 0, 1 и 2 барах
   double Delta_0, Delta_1;                   // Разница межу значениями верхней и нижней ...
                                              // ...линий Bollinger на 0 и 1 барах

void  Variables()
{

High_0=iBands(NULL,0,10,2,0,PRICE_CLOSE,MODE_UPPER,0);
     High_1=iBands(NULL,0,10,2,0,PRICE_CLOSE,MODE_UPPER,1);
     High_2=iBands(NULL,0,10,2,0,PRICE_CLOSE,MODE_UPPER,2);
     Low_0=iBands(NULL,0,10,2,0,PRICE_CLOSE,MODE_LOWER,0);
     Low_1=iBands(NULL,0,10,2,0,PRICE_CLOSE,MODE_LOWER,1);
     Low_2=iBands(NULL,0,10,2,0,PRICE_CLOSE,MODE_LOWER,2);
     Delta_0=(High_0-Low_0);
     Delta_1=(High_1-Low_1);
}
//------------------------------------------------------------------------------------------
 
evillive:

这是我想说的。

:)

"...SOS!下面是包含的全局变量 文件的一个片段。其余部分完全一样。

我做了所有能做的事情:改变参数,从文件中单独或分组删除变量以查找错误--所有这些都是徒劳的。

"不是所有的控制路径都返回一个值 "的警告。那么原因是什么呢?..."

严格来说,是以螺旋方式回到申请人的第一个职位。

 
tara:

:)

"...SOS!下面是包含的全局变量文件的一个片段。其余部分完全一样。

我做了所有能做的事情:改变参数,从文件中单独或分组删除变量以查找错误--所有这些都是徒劳的。

"不是所有的控制路径都返回一个值 "的警告。那么原因是什么呢?..."

严格来说,是以螺旋方式回到申请人的第一个职位。

如果你仔细观察?有一个小的细微差别,我仍然无法让他明白......

P.S.: int to void corrected.

 
evillive:

仔细看一下怎么样?有一个小小的细微差别,我还是不能让他明白......

P.S.: 我把int纠正为void。


是的,我修复了它,但你,就我对你最后一个帖子的理解,再次返回了int ?

ZS:我看到了更正,但现在我不明白什么......好吧,你在函数中留下了赋值,但它们消失了(见上文)?