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

 
ViktorF:

你好!

关于测试器的问题。

在测试EA时,测试者在突破s/l后停止处理价格。我应该怎么做才能防止这种情况?如果我想让测试者在突破止损后继续测试EA,我应该怎么做?


也许你有一个脚本,而不是一个EA))),你设置的测试期是什么?

如果一切正常,请发布EA,有人会告诉你该怎么做。

 
gheka:


也许你有一个脚本,而不是一个EA))),你设置的测试期是什么?

如果你的时间框架没有问题,请发布EA,有人会告诉你。


主要是30分钟。

最有趣的是,当我通过强制平仓绕过止损时,价格被进一步处理,图表的曲线继续被绘制。但如果我在止损点关闭同一订单(改变一下EA代码)--测试在止损点崩溃后停止......也许你应该在测试器的设置 中改变一些参数?

 
gheka:

朋友们!有没有一个函数可以返回以点为单位的固定损失值来关闭一个订单?

我知道有一个OrderStopLoss,但这是一个损失的价格。

我知道有一个OrderStopLoss - 但它是一个亏损的价格值,但我没有找到任何东西,请帮助我

在此搜索...:)

 
ViktorF:


大部分是30分钟。

最有趣的是:当我通过强制平仓绕过止损时--价格被进一步处理,图表曲线继续被绘制。但是,如果我通过止损关闭同一订单(稍微改变一下专家顾问的代码)--测试在止损崩溃后停止......也许,你应该改变测试器设置中的一些参数?

 
ViktorF:


大部分是30分钟。

最有趣的是:当我通过强制平仓绕过止损时--价格被进一步处理,图表曲线继续被绘制。但是,如果我通过止损关闭同一订单(稍微改变专家顾问的代码)--测试在止损崩溃后停止......也许,你应该改变测试器设置中的一些参数?

很可能是EA代码中的一个错误,它在停止后停止开立新的头寸。
 

你好

关于策略 测试器的问题 当在日志测试器中测试时,没有结果与日志文件中的记录,在终端日志错误记录中也没有.....,在测试器中,有一个讨厌的吱吱声。顾问在于文件夹中的专家,所有的复选框都设置了100个帮助plz?

 
artmedia70:

在此搜索...:)


谢谢你!!!
 
artmedia70:
很可能是EA代码中的一个错误,在止损点上平仓后,它就不再开新仓了。

我想我找到了错误的原因:在订单被止损关闭后,复选框的值没有改变(即不是由EA本身决定)。我怎样才能绕过这个问题呢?
 
ViktorF:

我想我找到了错误的原因:在订单关闭后,旗子的值不会因为止损而改变(也就是说,不会因为专家顾问而改变)。你如何巧妙地绕过这个问题?

在EA中,检查订单是否在停止时关闭。如果是这样,就改变你的标志值。

你可以使用Igor Kim的现成函数来确定最后的平仓是否被止损所关闭。

或者你可以自己做。在任何情况下,这可能是一个很好的例子,让你开始。

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

  if (sy=="0") sy=Symbol();
  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) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderCloseTime()) {
                t=OrderCloseTime();
                j=i;
              }
            }
          }
        }
      }
    }
  }
  if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
    dg=MarketInfo(sy, MODE_DIGITS);
    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);
}
 
artmedia70:

在EA中,检查订单是否在停止时关闭。如果是这样,就改变你的标志值。

你可以使用Igor Kim的现成函数来确定最后的平仓是否被止损所关闭。

或者你可以自己做。在任何情况下,这将是一个很好的例子,供你开始使用。


谢谢你!我会试一试的)
原因: