关于MQL4编程的在线书籍的测试版 - 由Sergey Kovalev (SK.)撰写。 - 页 7

 

我还想知道为什么文本中使用了不带括号的函数OrderType() OrderOpenPrice()

 
Climber:
// Критерии закрытия ордеров

if
(_OrdersTotal == 1) //Выполнять следующее если открыт 1 ордер
{
OrderSelect(0, SELECT_BY_POS);
Tip = OrderType;
OPrice = OrderOpenPrice;

if (Tip = 0) // Расчитать цену закрытия в зависимости от типа ордера (В=0,S=1)
{
Cprice = OPrice + (TakeProfit*Point) + Spread;
if (Bid >= Cprice)
{
Cls_B = True;
}
}
if (Tip = 1)                 
{
Cprice = OPrice - (TakeProfit*Point) - Spread;
if (Ask <= Cprice)
{
Cls_S = True;
}
}
在你的代码中,错误的不是没有括号,而是其他错误,例如在条件中缺少另一个等号(红色标记)。
 
没有帮助==。在错误中仍然写着同样的括号。如果设置了获利,是否可以不将收盘标准写在代码中?或者它可能不起作用,例如,如果价格突然接近TP,突然在一个点上变化几个点,跳过TP?
 
Climber:
或者它可能会失败,例如,如果价格突然接近TP,并在一个点上突然变化几个点,跳过TP?


这在理论上是可能的。也就是说,订单仍将被关闭,但它可能不是以TP价格关闭,而是以出现的第一个价格关闭。
我想您可能有兴趣阅读MQL4教程 - 交易操作 - 订单参数和交易操作规则。 它处理的是一个类似的例子,有滑坡。

 
在学习编程的阶段,还有一个独创的功能--所有的时间都是为了放一个逗号,我按下字母b,在英语布局中,有一个逗号)))。事实证明,你用俄语写作,但当你放上逗号的时候,你就会忘记俄语的布局。
 
Climber:
在学习编程的阶段,还有一个独创的功能--所有的时间都是为了放一个逗号,我按下字母b,在英语布局中,有一个逗号)))。事实证明,你用俄语写作,但当你放上逗号的时候,你就会忘记俄语的布局。

这就是为什么很多人用英语写软件,不用俄语,这样更快、更容易,版面也不会经常改变,然后把程序改编成俄语给别人看,如果需要评论,就在这个时期的工作中,把俄语化是最方便的,不知为什么:)英文版面是从事这种写作的人的基础,俄文的使用规模非常小,如果你估计英文版面的使用率,是99%的时间。我曾经想用俄语写程序,但在享受了1C的乐趣之后,这种愿望就烟消云散了。
 
Rosh:
问题发现了,我们就会解决。

现在我可以在https://book.mql4.com/ru/metaeditor/compose,看到这些图纸
 

我想知道你是如何让我的信息消失的。 这不是一个公平的讨论,伙计们。 如果你没有什么可说的,就说吧。 我理解。

 

我只希望我写给他们的那些人已经阅读并作出回应

 
在论坛上找到了我需要的功能。一个是按条数返回ZigZag极值的条数,第二个是按条数返回ZigZag极值。第一条将帮助我确定是否出现了ZigZag的新极值(如果零ZigZag的条数=0),并从那里继续检查其他标准。第二个也将是有用的。但对于第二个人来说,现在还为时过早。我想处理第一个问题。

我已经在编辑器中实现了这个功能,并创建了一个指标。我没有增加或减少任何东西。 但在编译过程中,我得到了许多错误。他们是可怕的。然后我试着只用这个函数来创建一个专家顾问。我得到了同样的结果。((
//+----------------------------------------------------------------------------+
//|  Возвращает номер бара экстремума ЗигЗага по его номеру.                   |
//|  Параметры:                                                                |
//|    sym - наименование инструмента  ("" - текущий символ)                   |
//|    tf  - таймфрейм                 ( 0 - текущий ТФ)                       |
//|    ne  - номер экстремума          ( 0 - текущий)                          |
//|    dp  - ExtDepth                                                          |
//|    dv  - ExtDeviation                                                      |
//|    bc  - ExtBackstep                                                       |
//+----------------------------------------------------------------------------+
int GetExtremumZZBar(string sym="", int tf=0, int ne=0, int dp=12, int dv=5, int bc=3) {
  if (sym=="") sym=Symbol();
  double zz;
  int    i, k=iBars(sym, tf), ke=0;
 
  for (i=1; i<k; i++) {
    zz=iCustom(sym, tf, "ZigZag", dp, dv, bc, 0, i);
    if (zz!=0) {
      ke++;
      if (ke>ne) return(i);
    }
  }
  Print("GetExtremumZZBar(): Экстремум ЗигЗага номер ",ne," не найден");
  return(0);
}
这里有什么问题吗?为什么它在叫嚣着错误呢?
原因: