int limit;
int counted_bars = IndicatorCounted();
//---- последний посчитанный бар будет пересчитанif(counted_bars > 0)
counted_bars--;
limit = Bars - counted_bars - 1;
if (limit > maxBars) limit=maxBars;
//---- основной циклfor( i = limit; i >= 0; i--)
{
b[i]=High[i+1];
}
// 1.5.5. Метод возвращает час (0, 1, 2, ..., 23) для указанного времени.template <typename Type1, typename Type2> // Рекомендуемые типы для Type1: WORD, DWORD. Рекомендуемые типы для Type2: int, long, __int64, __time32_t, __time64_t.static Type1 Hour(const Type2 t2Time) // Дата, представленная в виде количества секунд, прошедших после 00:00 1 января 1970 года.
{
return(Type1(GetGMT(t2Time).tm_hour)); // Возвращаем результат.
}
// 1.5.1. Метод возвращает день месяца (1 - 31) для указанного времени.template <typename Type1, typename Type2> // Рекомендуемые типы для Type1: WORD, DWORD. Рекомендуемые типы для Type2: int, long, __int64, __time32_t, __time64_t.static Type1 Day(const Type2 t2Time) // Дата, представленная в виде количества секунд, прошедших после 00:00 1 января 1970 года.
{
return(Type1(GetGMT(t2Time).tm_mday)); // Возвращаем результат.
}
// 1.8.1. Метод возвращает для указанного времени: struct tm {int tm_sec; // Секунды.// int tm_min; // Минуты.// int tm_hour; // Часы.// int tm_mday; // День месяца.// int tm_mon; // Месяц.// int tm_year; // Год.// int tm_wday; // День недели.// int tm_yday; // День года.// int tm_isdst;); // Летнее время.template <typename Type> // Рекомендуемые типы: __time32_t, __time64_t.static tm GetGMT(Type tTime) // Время в виде количества секунд от 01.01.1970 года.
{// Переменные.
__time64_t t64Time(tTime); // Присваиваем и преобразуем тип времени.
DWORD dwError = 0; // Номер ошибки.
tstringstream ssExclusion; // Строка с сообщением об ошибке.// Структуры.struct tm NewTime = {0}; // Структура //----if (::_gmtime64_s(&NewTime, &t64Time) != 0)
{
if (DEBUGGING || DEBUGGING_EXCLUSION)
{
dwError = ::GetLastError();
ssExclusion << std::endl << _T("Ошибка в методе \"Utils::UTime::GetGMT()\".")
<< std::endl << _T("Не заполнена структура \"tm\".")
<< std::endl << Utils::Error::Description(dwError) << std::endl;
if (DEBUGGING) tcout << ssExclusion.str();
if (DEBUGGING_EXCLUSION) throw(ssExclusion.str());
}
}
return(NewTime); // Возвращаем результат.
}
私はこのサイクルを持っています。
このように前回の高値を照会した場合、インジケータは再描画できるのでしょうか?
皆さん、Hour()とDay()関数のソースコードはどこにあるのでしょうか?
これについては...
そのことについては...
OrderOpenTime() から開始 時間を取得して、現在の Hour() と比較するにはどうすればよいですか?
OrderOpenTime() からポジションの開始時間を取得し、現在の Hour() と比較するにはどうすればよいですか?
うまくいったかな?
ループの中でどこがエラーになっているのか説明してください。EAで注文が処理され、tpまたはslによって削除された瞬間に表示されます。
MQL5です。マルチカレンシー・エキスパート・アドバイザー。
利益または損失は、通常、個別の通貨で計算されます。
テスターで決済した取引を最後にどのように計上するのか?