[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 81

 
artmedia70:

如果我对你的大括号理解正确,那么。




在执行了PlaySound("alert.wav");;之后,下面的if将不再被执行?

if (1<2) 
{
   if(2<3)
      {
      if (3<4) PlaySound("alert.wav");  
           { 
            if (X)....
                {
                    if (Y)
                }
            }
       }
}

 
charter:

指示器在其数值减少时变成红色,在数值增加时变成绿色。


真的......太简单了)谢谢你!
 
Stomatolog:
嗨,伙计们,你们能帮助我解决我的问题?我是MQL4的新手,我正在写一个EA,我不得不写int total=OrdersTotal();total<1,以避免在每个新的tick上打开一个交易。如何使交易在所有安装了EA的货币对上打开。而且在一个货币对上,你可以开设多笔交易

为了不在每个tick上打开并更快地优化EA,我经常使用这种设计。

datetime t;                     // переменная для запоминания значения времени
int start()
{
  if (t == Time[0]) return;     // если "старое" время и текущее совпадают, выходим из start
  else t = Time[0];             // иначе присвоим переменной текущее время

这样,当一个新的条形图出现时,代码将被执行一次。

阅读如何在订单中使用MagicNumber,然后使用总数<1 将使EA为每个货币对和一个货币对开立订单,但在不同的窗口中打开。你可以在这里 看到一个样本。

 
lottamer:


PlaySound("alert.wav");被执行后,下面的if将不再被执行?

if (1<2) 
{
   if(2<3)
      {
      if (3<4) PlaySound("alert.wav");  
           { 
            if (X)....
                {
                    if (Y)
                }
            }
       }
}

你的代码是错误的。开头的括号应该在运算符之前,而不是之后。

//+----------------------------------------------------------------------------+
if (1<2) {                                // Если один меньше два и ...
   if(2<3) {                              // ... два меньше три, ...
      if (3<4) PlaySound("alert.wav");    // Если три меньше четыре - врежем рок в этой дыре ... (С), 
                                          // Далее пойдём проверять остальные условия:
      if (4<5)                            // Если четыре меньше пять и ...
      if (5<6) Print("Истина");           // ... пять меньше шесть - верно, блин...
      }
   }
//+----------------------------------------------------------------------------+

只有当1小于2,2小于3时,带有Sound`和Print`的块才会被执行。如果3小于4,声音将被执行。
但如果4小于5,5小于6,打印也会执行。

 
artmedia70:

你的代码是错误的。开头的括号应该在运算符之前,而不是之后。

只有当1小于2,2小于3时,带有声音和打印的块才会执行。如果3小于4,声音将被执行。
但如果4小于5,5小于6,打印也会执行。



在我看来,如果4>5,而5<6在给定的入口处,打印仍将被执行,因为机器将连续工作所有3个,而不管它们的TRU-FOLS结果如何--没有收集!这是不可能的。
 
以及是否有可能衍生出一个局部变量 供全局使用?
 
lottamer:

在我看来,如果4>5,而5<6,那么在这个条目下,打印仍然会被执行,因为机器会连续执行所有3个,而不管它们的TRU-FOLS结果如何--没有任何选择!这就是为什么我们要在一个地方执行打印。
如果(4<5)为真,则执行以下一行:如果(5<6),但是......。如果(4<5)是假的,那么下一个if()连同它的打印就不会被处理,我们从if(2<3)转移到一个封闭的小括号。
 
lottamer:
但是否有可能推导出一个局部变量供全局使用?
你可以,只要你确保逻辑不被违反。可以有两个或更多的局部变量(每个都在自己的函数中声明),其名称与一个全局变量 相同。你需要小心并注意他们的能见度。
 
我如何通过iCustom()正确地将一个指标附加到另一个指标上?
我有一个指标,其中8个指标数组都被占用。如何正确创建第二个指标,使其在1个指标阵列中绘制第一个指标的曲线?
这两个指标#属性 indicator_chart_window.
最明显的解释,是两个关联指标的代码形式的类似物。
提前感谢您!!!。
 
Leo59:
我如何通过iCustom()正确地将一个指标附加到另一个指标上?
我有一个指标,其中8个指标数组都被占用。如何正确创建第二个指标,使其在1个指标阵列中绘制第一个指标的曲线?
这两个指标 #属性 indicator_chart_window.
最明显的解释,是两个关联指标的代码形式的类似物。
提前感谢您!!!。

将第一个指标的缓冲区读入第二个指标的缓冲区,你想从该缓冲区显示该行。