[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 951

 
Stepan241:
我对你的intikator在信息的表述方面做了些许修改。仔细看一下。这里面有混合信号。

删帖。有一个已经被禁赛一个月了。
 
001:

这正是我所描述的这个逻辑,有了勾股,所以有了勾股,我不明白如何在代码中更好地实现它。除了数组,我想不出其他的办法。感谢那些回应的人。
仔细阅读以前的帖子。我已经写过,用另一个魔法打开一个相反的姿势比较容易。然后,对头寸损失的检查将跳过已经打开的相反头寸,不会有重新打开的情况发生。
 
Vinin:

删帖。有一个已经被禁赛一个月了。
我修改这个指标只有一个目的,就是为了更详细地查看信号。如果有分歧的,它们总是在NORMAL指标上用红线显示。我不是说它不好或有小毛病,它很好。我不是说它不好或有故障,它很好......只是如果你想让初学者了解信号丢失的原因,你最好看一下,而不是只看。
 
Stepan241:
我修改这个指标的目的只有一个--更详细地查看信号。如果有不同方向的信号,它们总是在NORMAL指标上以红线显示。我不是说它不好或有小毛病,它很好。我不是说它不好或有故障,它很好......只是如果你想让初学者了解信号丢失的原因,你最好看一下,而不是只看。
你应该在私下里 "观察",而不是在官方网站的论坛上倾倒破碎的指标......
 
artmedia70:

如果你正在使用日元,并且订单符号包含日元,你需要调整日元的数字。不要担心--这个功能将为你做一切。而且,它应该被置于,以及任何其他功能的EA主体之外。而你应该从EA中调用它,如下所示。



if (isCloseLastPosByStop(Symbol(), OP_BUY, Magic)) // Если последняя закрытая позиция Buy на текущем графике с магиком Magic была закрыта по стопу, то ...
   {
      // .......... тут код, который выполнится при данном условии
   }
//--------------------------------------------------------------------------------------------------------------------------
if (isCloseLastPosByStop(USDJPY, OP_SELL, Magic)) // Если последняя закрытая позиция Sell с символом USDJPY с магиком Magic была закрыта по стопу, то ...
   {
      // .......... тут код, который выполнится при данном условии
   }
//--------------------------------------------------------------------------------------------------------------------------
if (isCloseLastPosByStop()) // Если любая последняя закрытая позиция с любым символом и любым магиком была закрыта по стопу, то ...
   {
      // .......... тут код, который выполнится при данном условии
   }
артем,я выбрал третье условие, и вбил самый простейший код "Alert" и что,
у меня в истории были и убытки и прибыли, функция срабатывала в любом случае и при прибыли и при убытке 

 

我如何从整个历史记录中得到最近10个订单的利润/亏损?

 
DhP:

我怎样才能得到整个历史中最后十笔订单的盈亏?


拿着计算器,算算看))))

.

.

.

.

.

最近有人给我看了上次关闭订单的代码,看看你是否能让它发挥作用。

bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {// Объявление функции. Передаваемые параметры: sy = символ, op - тип, mn - магик
  datetime t;                                                  // Переменная содержит время закрытия ордера
  double   ocp, osl;                                           // ocp - цена закрытия позиции, osl - цена СтопЛосс закрытой позиции
  int      dg, i, j=-1, k=OrdersHistoryTotal();                // k содержит общее количество ордеров в истории

  if (sy=="0") sy=Symbol();                                 // Если в ф-цию передан sy равный 0 или NULL, то использовать символ графика
  for (i=0; i<k; i++) {                                     // Цикл по массиву закрытых ордеров
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {      // Если выбран ордер из массива закрытых ордеров, ...
      if (OrderSymbol()==sy || sy=="") {                    // ... если его символ совпадает с нашим, ...
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {  // ... если его тип Бай или Селл, ...
          if (op<0 || OrderType()==op) {                // ... если тип ордера равен или -1 (имеется ввиду любой) или равен переданному в ф-цию, ...
            if (mn<0 || OrderMagicNumber()==mn) {       // ... если его магик или любой (-1) или равен переданному в ф-цию (магику советника), ...
              if (t<OrderCloseTime()) {    // ... если переменная t содержит время закрытия меньше, чем время закрытия выбранного ордера, то ...
                t=OrderCloseTime();        // ... то присвоим переменной t время закрытия выбранного ордера (этот ордер закрыт позже предыдущего)
                j=i;                                        // Запишем в переменную j индекс найденного ордера с максимальным временем закрытия
              }
            }
          }
        }
      }
    }
  }                                                       // По окончании цикла в переменной j находится индекс последнего закрытого ордера
  if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {      // Выберем его по индексу
    dg=MarketInfo(sy, MODE_DIGITS);                       // Количество цифр после десятичного точки в цене инструмента, заданного переменной sy
    if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2; // Честно... точно не скажу, но вижу, что корректировка под йену
    ocp=NormalizeDouble(OrderClosePrice(), dg);           // Нормализуем цену закрытия ордера для дальнейшего сравнения с ценой СтопЛосс
    osl=NormalizeDouble(OrderStopLoss(), dg);             // Нормализуем цену СтопЛосс ордера для сравнения с ценой закрытия
    if (ocp==osl) return(True);                           // Если эти цены равны, значит поза закрыта по стопу, возвращаем значение "Истина"
  }
  return(False);                                          // Возвращаем "Ложь"
}
 
是否有一个脚本或顾问可以买入几个订单并在+利润时卖出所有订单...请告诉我谁知道。
 

亲爱的论坛用户。谁能告诉我如何正确写出 "市场买入订单开盘价低于前一个市场买入订单的开盘价"的条件?

 
fanat:

亲爱的论坛用户。谁能告诉我如何正确写出 "市场买入订单开盘价低于前一个市场买入订单的开盘价 "的条件?

几页之前,我发布了一个程序,搜索指定符号的最后一笔交易的历史,并返回其利润。以此代码为基础,你可以不返回最后一笔交易的利润,而是返回例如最后一笔交易的开盘价或收盘价..... 或任何其他数据。
原因: