Я бы посоветовал кидать график на тот ТФ, куда предполагаеся выводить конечный результат i.e. M1 - а данные H1 уже можно брать через iOpen,...
В этом случае, я предполагаю появится другая проблема, если я работаю на Н1, то для формирования тиков тестер все равно использует М1, и я надеюсь, что через функции iOpen, у меня будет доступ к минутным данным. Если я работаю на чарте М1, то через iTime вряд ли возможно вызвать значение времени начала часового бара (я подчеркиваю, проблема упирается в тестер).
Если есть какие-то другие варианты, как сделать синхронизацию индикатора работающего на М1 часовыми барами - поделитесь мыслями, пожалуйста.
Я бы сделал так: основной график сделал бы М1, соответственно отдельный график тоже будет М1, а вот индикаторы основного графика взял бы с периодом в 60 раз больше, т.е. получается Н1.
Я бы сделал так: основной график сделал бы М1, соответственно отдельный график тоже будет М1, а вот индикаторы основного графика взял бы с периодом в 60 раз больше, т.е. получается Н1.
А нет ни каких других индикаторов. Сам расчет данных с М1 и является основой для создания нового индикатора. Единственно, мне надо по началу нового часа обнулять ряд переменных и сбрасывать резульнаты накопленные в буферах, чтобы каждый час начинать с чистого листа.
А нет ни каких других индикаторов. Сам расчет данных с М1 и является основой для создания нового индикатора. Единственно, мне надо по началу нового часа обнулять ряд переменных и сбрасывать резульнаты накопленные в буферах, чтобы каждый час начинать с чистого листа.
Видимо, у вас "глаз замылился" )) Если Hour(Time[1]) != Hour(Time[0]), то очистка. Итак столько раз, сколько в данной минуте будет тиков. Если это критично, то добавьте флаг очистки.
Что-то у меня при компиляции редактор ругается,
')' - wrong parameters count D:\MTMQ\experts\indicators\Tikker.mq4 (79, 29)
когда вставляю конструкцию
if (H1time != Hour(Time[0]) )
H1time = Hour(Time[0]);
все скобки расставлены правильно.
Объявляю int H1time, как требуется в документации,
в int init(), присваиваю H1time=Hour(Time[1]);
Что не так?
Помогите разобраться в мистике.
Хочу сохранять в файле данные торговли. Знаю, что они сохраняются в папке терминала /EXPERTS/FILES .
Написал следующий тестовый код (обработку ошибок убрал):
---------------
string FileName = "MyFile.csv";
int handle;
handle = FileOpen(FileName, FILE_CSV|FILE_WRITE, ';');
FileWrite(handle, " Proba");
FileClose(handle);
handle = FileOpen(FileName, FILE_CSV|FILE_READ,';');
Comment (FileReadString(handle), " FileName = ", FileName, " FileSize = ", FileSize (handle));
FileClose(handle);
------------
То есть, открыл файл на запись, записал туда текст, закрыл файл.
Опять открыл, но для чтения, прочитал из него текст, вывел текст в строку комментария на графике, закрыл файл.
Так вот, всё это работает и комментарий на график выводится, но файла в той директории я не нашёл! Более того, пустил поиск по всему диску C:\, но опять файла не нашёл! Мистика какая-то! Файл, вроде есть, но его нет.
Когда к простому имени файла я добавил полный путь к папке /EXPERTS/FILES, то вышла ошибка о неправильном имени файла.
Ну не должно так быть! Не правильно это!
Где мой файл?
Помогите разобраться в мистике.
Хочу сохранять в файле данные торговли. Знаю, что они сохраняются в папке терминала /EXPERTS/FILES .
Написал следующий тестовый код (обработку ошибок убрал):
---------------
string FileName = "MyFile.csv";
int handle;
handle = FileOpen(FileName, FILE_CSV|FILE_WRITE, ';');
FileWrite(handle, " Proba");
FileClose(handle);
handle = FileOpen(FileName, FILE_CSV|FILE_READ,';');
Comment (FileReadString(handle), " FileName = ", FileName, " FileSize = ", FileSize (handle));
FileClose(handle);
------------
То есть, открыл файл на запись, записал туда текст, закрыл файл.
Опять открыл, но для чтения, прочитал из него текст, вывел текст в строку комментария на графике, закрыл файл.
Так вот, всё это работает и комментарий на график выводится, но файла в той директории я не нашёл! Более того, пустил поиск по всему диску C:\, но опять файла не нашёл! Мистика какая-то! Файл, вроде есть, но его нет.
Когда к простому имени файла я добавил полный путь к папке /EXPERTS/FILES, то вышла ошибка о неправильном имени файла.
Ну не должно так быть! Не правильно это!
Где мой файл?
Если Вы работаете в тестере, то нужно искать в tester\files
Что-то у меня при компиляции редактор ругается,
')' - wrong parameters count D:\MTMQ\experts\indicators\Tikker.mq4 (79, 29)
когда вставляю конструкцию
if (H1time != Hour(Time[0]) )
H1time = Hour(Time[0]);
все скобки расставлены правильно.
Объявляю int H1time, как требуется в документации,
в int init(), присваиваю H1time=Hour(Time[1]);
Что не так?
Функция Hour(), не имеет передаваемых параметров, а вы передаете
в нее Time[0].
Отсюда и ошибки.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Сталкнулась с проблемой, подскажите, пожалуйста, как ее решить.
Работая на чарте Н1, через функции iOpen и т.д. вызываю данные с минутного таймфрейма. После обработки этих данных, мне нужно вывести результаты на отдельном графике в масштабе М1. Если я пытаюсь построить график в отдельном подокне используя indicator_separate_window, то у меня масштаб в подокно на этот график передается с основного графика Н1. Как решить проблему? И нужно, чтобы это все работало в тестере.