Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2015

 
Tretyakov Rostyslav #:
Я с линуксом еще не подружился, но пытаюсь)

smartctl и под винду есть, но там диск, видимо, по-другому надо указывать.

 
JRandomTrader #:

smartctl и под винду есть, но там диск, видимо, по-другому надо указывать.

нашел - smartmontools
 
JRandomTrader #:

Рекомендация: слить данные, пролить диск нулями, прогнать тест заново. Очень вероятно, что ещё долго поживёт.

И да, smartctl из smartmontools может дать больше информации о состоянии диска.

Когда началась деградация рабочей поверхности жесткого диска:

  1. нужно сразу позаботиться о сохранении ценной информации на другом накопителе;
  2. не нужно с ним мучиться, а нужно просто идти в магазин и покупать новый.
С уважением, Владимир.
 
MrBrooklin #:

Когда началась деградация рабочей поверхности жесткого диска:

  1. нужно сразу позаботиться о сохранении ценной информации на другом накопителе;
  2. не нужно с ним мучиться, а нужно просто идти в магазин и покупать новый.
С уважением, Владимир.

Прогоните mhdd на новом диске, посмотрите, сколько там "зелёных" секторов. Это уже деградация или ещё нет?

В данном случае вполне может помочь (или не помочь) "освежение" поверхности проливкой нулей, слабые сектора могут уйти без ремапов, надо смотреть.

Для себя - давно не доверяю надёжности отдельного диска, у меня все стоят попарно в зеркалах (raid1).

 

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

тестирую сов с настройками торговли по определенным дням/ часам.

хочу запустить автоматическую оптимизацию в тестере, но в тестере в строках касающихся настроек времени, нет  настроек в столбце "Шаг".

Кто нибудь сталкивался с тестированием советников по времени? это вообще возможно?


 
законопослушный гражданин #:

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

тестирую сов с настройками торговли по определенным дням/ часам.

хочу запустить автоматическую оптимизацию в тестере, но в тестере в строках касающихся настроек времени, нет  настроек в столбце "Шаг".

Кто нибудь сталкивался с тестированием советников по времени? это вообще возможно?


Покажи код входных параметров

у меня все есть


 
Tretyakov Rostyslav #:

Покажи код входных параметров

у меня все есть


в разделе "настройки"

sinput string WorkSheduller         = "============= Работа по расписанию ============";
input  bool   TimeControl              = True;             // Флаг запуска функции контроля "рабочего времени" - (плохие часы/дни)
sinput string BadDay                   = "0";              // Плохие дни недели для работы (через ",")
sinput string BadTime                  = "0";              // Плохое время для работы (через ",")
input  ENUM_HOUR Open_HourTrade        = 0;                // Начало работы
input  ENUM_HOUR Close_HourTrade       = 0;               // Конец работы

в разделе "void OnInit()"

    //---- Готовим "фильтр рабочего времени"
    if (TimeControl)
    {
        //---- Массив "плохих" дней для торговли
        li_size = fStringToArray (BadDay, gia_BadDay);
        //---- Массив "плохих" часов для торговли
        li_size = fStringToArray (BadTime, gia_BadTime);
        
    }

в разделе "void OnTick()"

   //---- Организовываем работу по времени
    if (IsTradeTime (Open_HourTrade, Close_HourTrade))
    {
        gb_TimePause = IsBadTime (gia_BadDay, gia_BadTime);
        gb_Pause = gb_TimePause;
    }
    else {gb_Pause = true;}
    
    if (gi_MyOrders == 0)
    {
        //---- Осуществляем проверки, способствующие оптимизации работы кода
        if (gb_Pause)                                                           
        {
            if (gb_TimePause)                                                   // пауза по не рабочему периоду времени
            {
                if (gdt_NewBarH1 != gdt_BeginBar_H1)
                gdt_NewBarH1 = gdt_BeginBar_H1;
            }
            return;
        }
    }

отдельные функции:

//|         Функция, контролирующая время работы советника                            |
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
bool IsTradeTime (
    int OpenHour,
    int CloseHour)
//+...................................................................................+
{
    if (!TimeControl) {return (true);}
//----
    int li_Hour = TimeHour (gdt_curTime);
//----
    if (OpenHour < CloseHour && (li_Hour < OpenHour || li_Hour >= CloseHour))
    
    {return (false);}
    if (OpenHour > CloseHour && (li_Hour < OpenHour && li_Hour >= CloseHour))
    {return (false);}
    if (OpenHour == 0) {CloseHour = 24;}
    if (li_Hour == CloseHour - 1 && TimeMinute (gdt_curTime) >= 45)
    {return (false);}
//----
    return (true);
}
//+-----------------------------------------------------------------------------------+
//|         Функция, контролирующая "не рабочее время" советника                      |
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
bool IsBadTime (
    int& ar_BadDay[],
    int& ar_BadTime[])
//+...................................................................................+
{
//----
    if (!TimeControl) {return (false);}
    for (int li_DAY = 0; li_DAY < ArraySize (ar_BadDay); li_DAY++)
    {
        if (TimeDayOfWeek (gdt_curTime) == ar_BadDay[li_DAY])
        {return (true);}
    }
    for (int li_HOUR = 0; li_HOUR < ArraySize (ar_BadTime); li_HOUR++)
    {
        if (TimeHour (gdt_curTime) == ar_BadTime[li_HOUR])
        {return (true);}
    }
//----
    return (false);
}
 
законопослушный гражданин #:

в разделе "настройки"

в разделе "void OnInit()"

в разделе "void OnTick()"

отдельные функции:

Первые два параметра - строки, следующие два - перечисления. Перебора по ним не будет.
Ну и само собой не будет перебора по параметрам со спецификатором sinput.
 
Sergey Gridnev #:
Первые два параметра - строки, следующие два - перечисления. Перебора по ним не будет.
Ну и само собой не будет перебора по параметрам со спецификатором sinput.
//строки ??
sinput string BadDay                   = "0";              // Плохие дни недели для работы (через ",")
sinput string BadTime                  = "0";              // Плохое время для работы (через ",")
//перечисления??
input  ENUM_HOUR Open_HourTrade        = 0;                // Начало работы
input  ENUM_HOUR Close_HourTrade       = 0;               // Конец работы

я правильно понял, что к чему?

 
законопослушный гражданин #:

в разделе "настройки"

input  ENUM_HOUR Open_HourTrade        = 0;                // Начало работы
input  ENUM_HOUR Close_HourTrade       = 0;               // Конец работы

Поменяй ENUM на int

input int Open_HourTrade        = 0;                // Начало работы
input int Close_HourTrade       = 0;               // Конец работы
Причина обращения: