[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 915

 
ViktorF:

Здравтвуйте!

Вопрос по тестеру:

когда тестирую советники, то тестер прекращает обрабатывать цены после пробития s/l. Что нужно сделать для того, чтобы этого не было? Чтобы и после пробития cтопа тестер продолжал дальше тестировать советник?


может это у тебя скрипт а не советник))) а период тестирования какой ты ставишь?

если все ок,то выложи советник,кто нибудь да подскажет

 
gheka:


может это у тебя скрипт а не советник))) а период тестирования какой ты ставишь?

если все ок,то выложи советник,кто нибудь да подскажет


В основном 30 минут.

Самое интересное: когда обхожу стопы принудительным закрытием  - цены обрабатываются дальше и кривая графика продолжает дальше рисоваться. А если этот же ордер закрыть по стопу (изменить немного код советника) - тестирование после пробоя стопа прекращается... Может, в настройках тестера какие параметры нужно изменить?

 
gheka:

Народ! есть ли такая функция,которая возвращает значение фиксированной убытки в пунктах закрытия ордера?

или хотя бы чтобы функция возвращала значение того,что сработал StopLoss

знаю что есть OrderStopLoss-но это значение цены при убытке,а так ничё не нашел,помогите

Тут поищите... :)

 
ViktorF:


В основном 30 минут.

Самое интересное: когда обхожу стопы принудительным закрытием  - цены обрабатываются дальше и кривая графика продолжает дальше рисоваться. А если этот же ордер закрыть по стопу (изменить немного код советника) - тестирование после пробоя стопа прекращается... Может, в настройках тестера какие параметры нужно изменить?

 
ViktorF:


В основном 30 минут.

Самое интересное: когда обхожу стопы принудительным закрытием - цены обрабатываются дальше и кривая графика продолжает дальше рисоваться. А если этот же ордер закрыть по стопу (изменить немного код советника) - тестирование после пробоя стопа прекращается... Может, в настройках тестера какие параметры нужно изменить?

Скорее всего - ошибка в коде советника и после закрытия по стопу он перестаёт открывать новые позы
 

здравствуйте!

Ворос по тестеру стратегий:  при тестирование  в журнале  тестера нет никаких результатов с записями, в журнале терминала записей об ошибках тоже нет.....при окончании полосы загрузки, в тестере советника, появляется противный писк .Советник лежит в папке experts  все галочки поставлены сто сделать помогите плз? 

 
artmedia70:

Тут поищите... :)


благодарю!!!
 
artmedia70:
Скорее всего - ошибка в коде советника и после закрытия по стопу он перестаёт открывать новые позы

Ошибку, вроде, выяснил: флажок не меняет значения после закрытия ордера стопом (т.е. не самим советником). Как это грамотно обойти?
 
ViktorF:

Ошибку, вроде, выяснил: флажок не меняет значения после закрытия ордера стопом (т.е. не самим советником). Как это грамотно обойти?

В советнике проверять - закрыт ли ордер по стопу. И, если да, то менять значение вашего флага.

Можете для определения закрытия по стопу последней закрытой позы воспользоваться готовой ф-цией Игоря Кима.

Ну, или уж сами сделайте. В любом случае - вам для начала хорошим примером будет:

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. 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:

В советнике проверять - закрыт ли ордер по стопу. И, если да, то менять значение вашего флага.

Можете для определения закрытия по стопу последней закрытой позы воспользоваться готовой ф-цией Игоря Кима.

Ну, или уж сами сделайте. В любом случае - вам для начала хорошим примером будет:


Спасибо! Попробую)
Причина обращения: