Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 139

 
nikelodeon:

Может ктонить объяснить, почему в период оптимизации появляются такие настройки советника, при которых отсутствует прибыльность. Что это означает????

Мало сделок, макс 8. Прогоните по бОльшей истории.
 
Forexman77:
Подскажите, как через тестер стратегий находить абсолютный максимум и минимум на истории?
Максимум и минимум чего?
 
paladin80:
Максимум и минимум чего?

За историю EURUSD максимальные и минимальные цены за день. Время их образования.
 
Forexman77:

За историю EURUSD максимальные и минимальные цены за день. Время их образования.
Читайте iHighest и iLowest
 
paladin80:
Читайте iHighest и iLowest

Найти через iHighest и iLowest не проблема. Как загнать это в тестер, чтобы он выдал информацию по времени образования, на определенной истории.
 
Forexman77:

Найти через iHighest и iLowest не проблема. Как загнать это в тестер, чтобы он выдал информацию по времени образования, на определенной истории.

Можно так попробовать:

 for (int i=0; i<iBars(Symbol(),PERIOD_D1); i++) {
  double HistoryMaximum=iHigh(Symbol(),PERIOD_D1,i);
  double HistoryMinimum=iLow(Symbol(),PERIOD_D1,i);
  Print("Дата ",TimeToStr(iTime(Symbol(),PERIOD_D1,i),TIME_DATE)," Максимум=",DoubleToStr(HistoryMaximum,Digits)," Минимум=",DoubleToStr(HistoryMinimum,Digits));
 }

 
Forexman77:

Найти через iHighest и iLowest не проблема. Как загнать это в тестер, чтобы он выдал информацию по времени образования, на определенной истории.

double High_price=-1.0;
double Low_price=10000000000.0;
double Time_high_price, Time_low_price;
//+------------------------------------------------------------------+
int init()
  {
   return(0);
  }
//+------------------------------------------------------------------+
int start()
  {
//----
   if (iHigh(NULL,PERIOD_M1,0)>High_price)
   {
     High_price=iHigh(NULL,PERIOD_M1,0);
     Time_high_price=iTime(NULL,PERIOD_M1,0);
   }
   
   if (iLow(NULL,PERIOD_M1,0)<Low_price)
   {
     Low_price=iLow(NULL,PERIOD_M1,0);
     Time_low_price=iTime(NULL,PERIOD_M1,0);
   }
//----
   return(0);
  }
//+------------------------------------------------------------------+
int deinit()
  {
//----
   Print("Highest price = ",DoubleToStr(High_price,Digits)," on ",TimeToStr(Time_high_price,TIME_DATE|TIME_SECONDS));
   Print("Lowest price = ",DoubleToStr(Low_price,Digits)," on ",TimeToStr(Time_low_price,TIME_DATE|TIME_SECONDS));
//----
   return(0);
  }
 
Sepulca:

Можно так попробовать:


Как сделать, чтобы время минимума и максимума по отдельности выводилось? Вернее по отдельности сделать не проблемма. В журнале на каждое время выходит по несколько строк.

В чем может быть проблема? Как сделать, чтобы на одно значение выходила одна строка. В идеале необходимо время в цифрах, которое можно скопировать в эксель и сравнить по

совпадению.


 
киньте пожаqлуста ссылку на статью как настраивать сигналы для MetaTrader 4
 

У меня опять таки функция удаления отложенных ордеров не всё удаляет. Причём, не удаляет в тестере. Помогите понять, что с ней не так.

void DeletePendingOrders()
{
    int numberOfTry = 0,
        err,
        ticket;

   for (int i=OrdersTotal()-1; i>=0; i--)
   {
      if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
      if (OrderMagicNumber() != i_magic) continue;
      if (OrderSymbol() != Symbol()) continue;
      if (OrderType() > 1 && OrderType() < 6)
      {
         ticket = OrderTicket();
         numberOfTry = 0;
      
         while (numberOfTry < 3)
         {
            while (!IsTradeAllowed()) Sleep(5000);
                err = 0;

           if (OrderDelete(ticket, Red))
            {
                numberOfTry = 3;
            }
            else
            {
                err = GetLastError();
                Print("err = ", err);
            }
      
            if (err > 0)
            { 
              Print(numberOfTry," #",ticket," Error modifing order: (", err , ") ");
              Sleep(5000); RefreshRates(); numberOfTry++;
            }
         }
      }
   }
}
Причина обращения: