помощь с индикатором
Results 1 to 7 of 7

Thread: помощь с индикатором

  1. #1
    Я надеюсь, что кто-то здесь поможет. Я пытаюсь написать индикатор, который скажет мне, сколько времени осталось в свече.

    Но я не могу понять, получаю ли я правильные данные. Я получаю огромное количество, которое я не могу перевести в минуты.

    Я пробую это на 4-часовом графике (backtesting, который, для чего-то, что должно быть так просто, должно быть легко сделать).

    Введенный код #property indior_chart_window int init () {return (0); } int deinit () {return (0); } int start () {int counted_bars = IndiorCounted (); int limit; if (counted_barslt; 0) return (-1); datetime varLeft; предел = Bars-counted_bars-1; for (int shift = 0; shiftlt; limit; shift ) {varLeft = TimeCurrent () - Время # 91; shift # 93 ;; Комментарий (varLeft, минуты до конца бара); } return (0); }

  2. #2
    используйте эту функцию: string TimeToStr (значение datetime, int mode = TIME_DATE | TIME_MINUTES) Преобразует значение, содержащее время в секундах, прошедшее с 1 января 1970 года, в строку формата yyyy.mm.dd hh: mi. Параметры: значение - Положительное количество секунд, прошедшее с 00:00, 1 января 1970 г. Режим - Дополнительный режим вывода данных может быть одним или комбинацией: TIME_DATE получает результат как yyyy.mm.dd, TIME_MINUTES получает результат как hh: mi, TIME_SECONDS получает результат как hh: mi: ss. Пример: строка var1 = TimeToStr (TimeCurrent (), TIME_DATE | TIME_SECONDS);

  3. #3
    Спасибо, что получает его в читаемом формате, но на 4-часовом графике он отсчитывает до конца дня (я использовал TIME MINUTES). Есть идеи?

  4. #4
    varLeft = (Time [shift] 1440) - TimeCurrent (); Возьмите время в баре, добавив к нему 4 часа (1440 секунд), а затем вычтите текущее время.

  5. #5
    возвращает недопустимую ошибку времени из комментария. И я получаю обычное большое количество в противном случае.

  6. #6
    ну, вот код, который работает, вроде. В обратном тесте timecurrent () вытягивает последнее время сервера, а не текущее время тестера. Хотелось бы исправить это. чтобы использовать время тестера, тогда я мог бы надлежащим образом проверить мой советник. Введенный код/ --------------------------------------------- --------------------- /| Candle_Remaining_Time.mq4 |/| Copyright © 2009, MetaQuotes Software Corp. |/| # 91; # 93 URL, HTTP:/www.metaquotes.net#91;URL # 93; |/ ----------------------------------------------- ------------------- #property copyright Copyright © 2009, MetaQuotes Software Corp. #property link # 91; url # 93; http:/www.metaquotes.net # 91;URL # 93; #property indior_chart_window/ -------------------------------------------- ---------------------- /| Пользовательская функция инициализации индикатора |/ ----------------------------------------------- ------------------- int init () {//---- индикаторы/---- return (0); }/ ---------------------------------------------- -------------------- /| Пользовательская функция деинициализации индикатора |/ ----------------------------------------------- ------------------- int deinit () {//----/---- return (0); }/ ---------------------------------------------- -------------------- /| Пользовательская функция итерации индикатора |/ ----------------------------------------------- ------------------- int start () {int counted_bars = IndiorCounted (); int limit; if (counted_barslt; 0) return (-1); datetime varLeft; int varBarday, varBarhour, varBarminute, varCurday, varCurhour, varCurminute; int varRy, varRemhour, varRemminute; предел = Bars-counted_bars-1; for (int shift = 0; shiftlt; limit; shift ) {varBarday = TimeDay (Time # 91; shift # 93; varBarhour = TimeHour (время # 91; сдвиг # 93; varBarminute = TimeMinute (время # 91; сдвиг # 93; varCurday = TimeDay (TimeCurrent ()); varCurhour = TimeHour (TimeCurrent ()); varCurminute = TimeMinute (TimeCurrent ()); varRy = varCurday-varBarday; varRemhour = varCurhour-varBarday; varRemminute = varCurminute-varBarminute; Комментарий (varRy, Days ,, varRemhour, Hours ,, varRemminute, Минуты до конца свечи); } return (0); }/ ---------------------------------------------- --------------------

  7. #7

    Quote Originally Posted by ;
    возвращает недопустимую ошибку времени из комментария. И я получаю обычное большое количество в противном случае.
    oops, не думал об этом, возвращающем число слишком низко. Вам нужно будет сделать математику, чтобы перевести оставшиеся секунды в минуты и секунды. varLeft будет содержать количество секунд до конца свечи.

Действующие разрешения

  • Вы не можете создавать новые темы
  • Вы не можете размещать ответы
  • Вы не можете использовать вложения
  • Вы не можете редактировать ваши записи
  •  
  • BB-код - Вкл.
  • Смайлики - Вкл.
  • Код [IMG] - Вкл.
  • Код [VIDEO] - Вкл.
  • HTML-код - Выкл.
Веб-сайт использует cookies
Веб-сайт использует cookies, в настоящее время некоторые из них уже установлены. Вы можете ознакомиться с более подробной информацией об использовании нами cookies здесь. Чтобы принять условия использования cookies, пожалуйста, нажмите на кнопку справа. Если вы продолжаете пользоваться веб-сайтом, вы по умолчанию принимаете условия использования cookies.