向鉴赏家提问 - 页 19

 

关于江恩线工具的问题。

冈恩线 是 "以 四十五度角 建成的", 在冈恩网格,线条也是"以四十五度角建成"。应该是一个巧合,IMHO,但他们没有!

 
hedger:

关于古恩的线路工具问题。

冈恩线 是 "以 四十五度角 建成的", 在冈恩网格,线条也是"以四十五度角建成"。应该是一个巧合,IMHO,但他们没有!

正确的角度是40度,门捷列夫确定。

45度是西伯利亚的。

 
hedger:

关于江恩线工具的问题。

冈恩线 是 "以 四十五度角 建成的", 在冈恩网格 也是如此,线条"以四十五度角建成"。应该是一个巧合,IMHO,但他们没有!


那你在哪里找到这些学位呢?
 
Vinin:

你在哪里找到学位?

就在这里: https://www.metatrader5.com/ru/terminal/help/objects/gann/gann_line

"江恩线

江恩线是一条以45度角绘制的线。这条线也被称为 "一对一"(1x1),即每单位时间的价格变化"。

还有这里 :https://www.metatrader5.com/ru/terminal/help/objects/gann/gann_grid

"江恩网格

江恩网格代表 趋势,以45度的角度建立(江恩线)"。

 

下午好!

问题就在这里。我稍微修改了I.Kim的函数,现在这个函数返回最后一个挂单、止损或卖单被设置的条数。

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru/                  |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает номер бара установки последнего ордера или -1.      |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   ("" или NULL - текущий символ)          |
//|    tf - таймфрейм                  (    0       - текущий таймфрейм)       |
//|    op - операция                   (   -1       - любая позиция)           |
//|    mn - MagicNumber                (   -1       - любой магик)             |
//+----------------------------------------------------------------------------+
int NumberOfBarOpenLastOPDER(string sy="0", int tf=0, int op=-1, int mn=-1) {
  datetime t;
  int      i, k=OrdersTotal();

  if (sy=="" || sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy) {
        if (OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderOpenTime()) t=OrderOpenTime();
            }
          }
        }
      }
    }
  }
  return(iBarShift(sy, tf, t, True));
}

此外,我需要几乎相同的功能。但是,它应该返回不是最后一个,而是在图表上设置了所有止损点的第一个 的条形图的编号!

我不能这样做。请告诉我。- 如何做?

 
Rita:

下午好!

问题就在这里。我稍微修改了I.Kim的函数,现在这个函数返回最后一个挂单、止损或卖单被设置的条数。

此外,我需要几乎相同的功能。但是,它应该返回不是最后一个,而是在图表上设置了所有止损点的第一个 的条形图的编号!

我不能这样做。请告诉我。- 如何做?

将t的初始值设置得更高,并改变条件中的符号
 if (t<OrderOpenTime())

на противоположный.
 

Spsb.我改变了标志。但这个功能还没有发挥作用。我把它放在评论中。它一直返回-1。

另外,我不太明白。在哪里以及如何设置更大的t的初始值?

 
Rita:

Spsb.我改变了标志。但这个功能还没有发挥作用。我把它放在评论中。它一直返回-1。

另外,我不太明白。在哪里以及如何设置更大的t的初始值?

datetime t;
t = TimeCurrent();

你可以只设置当前的时间
 
Rita:

下午好!

问题就在这里。我稍微修改了I.Kim的函数,现在这个函数返回最后一个挂单、止损或卖单被设置的条数。

此外,我需要几乎相同的功能。但是,它应该返回不是最后一个,而是在图表上设置了所有止损点的第一个 的条形图的编号!

我不能这样做。请告诉我。- 如何做?


类似这样的事情

int NumberOfBarOpenFirstOPDER(string sy="0", int tf=0, int op=-1, int mn=-1) {
   datetime t=TimeCurrent();
   int      i, k=OrdersTotal();

   if (sy=="" || sy=="0") sy=Symbol();
   for (i=0; i<k; i++) {
      if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
         if (OrderSymbol()==sy) {
            if (op<0 || OrderType()==op) {
               if (mn<0 || OrderMagicNumber()==mn) {
                  if (t>OrderOpenTime()) t=OrderOpenTime();
               }
            }
         }
      }
   }
   return(iBarShift(sy, tf, t, True));
}
 
谢谢大家。它成功了!该功能正在发挥作用!