Скачать MetaTrader 5

Тестирование - странное срабатывание стоп-лосса

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Статьи помогут закрепить твои знания. Заходи и читай!
Forex Trader
114257
Forex Trader 2005.11.06 17:50 
Тестирую евробакс на дневках. С 25 апреля 2001 года открыта короткая позиция по курсу 0,8940 (стоп-лосс 0,9100). 15 мая 2001 года эксперт переносит стоп лосс на 0,8865.
В случае быстрого тестирования стоп сносит 17 мая в полночь.При этом 16 мая Хай был равен 0,8872. То есть вроде правильно все.

Если же выбрать режим все тики, самый медленный и точный, то
стоп сносит только 3 августа 2001 года, несмотря на то, что 16 и 17 мая Хаи были 0,8872 и 0,8884 соответственно.
Закипают мозги от такого тестирования. Если у кого есть идеи, пжалста поделитесь.

Как такое возможно? Вот код

#property copyright "Mat"
#property link      ""

#include <stdlib.mqh>

bool executed = false;
bool modified = false;

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
{
  return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
{
  return(0);
}
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
{
  if (Year() == 2001 && Month() == 4 && Day() == 23 && !executed)
  {
    if (OrderSend(Symbol(), OP_SELLSTOP, 1.0, 0.8940, 0, 0.9100, 0, NULL, 0, 0, Green) < 0)
    {
      printError();
    }
    else
    {
      Print("Order sent");
      executed = true;
    }
  }
  
  if (Year() == 2001 && Month() == 5 && Day() == 15 && executed && !modified)
  {
    int orderCount = OrdersTotal();
    if (orderCount == 1)
    {
      if (OrderSelect(0, SELECT_BY_POS, MODE_TRADES))
      {
        if (!OrderModify(OrderTicket(), OrderOpenPrice(), 0.8865, 0, 0, Blue))
        {
          printError();
        }
        else
        {
          Print("Order modified");
          modified = true;
        }
      }
    }    
  }

   return(0);
}
//+------------------------------------------------------------------+

void printError()
{
  int e = GetLastError();
  string msg = ErrorDescription(e);
  Print("Error: " + e + " Message: " + msg);
}
Forex Trader
114257
Forex Trader 2005.11.06 18:21  
Качество моделирования какое?
Посмотри на истории - какой объём в эти дни? Вполне возможно, что там Volume=1 и генерируется только один тик.
Попробуй сделать дневки из минуток period_converter-ом
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий