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

 
Artyom Trishkin:

Не очень понятно что хотите найти. Точку пересечения трендовой линии ценой на каком-либо баре? Для этого есть функции получения значения линии на баре. Но я бы использовал уравнение прямой:


Не требует наличие реального объекта

Я как раз и хочу использовать уравнение прямой. Получив координаты линии тренда, я вычисляю коэффициент приращения тренда за один бар по формуле Dy=(Yn-Yo)/n, где n - количество баров между начальной и конечной точкой отрезка трендовой линии.

А советник начинает контролировать график с момента постановки линии тренда. Т.е., фактически он уже будет проверять пересечение графиком линии тренда на следующем текущем баре в точке Y1=Yo+Dy. Если пересечения не будет, то будет проверяться точка Y2=Y0+2*Dy следующего текущего бара и т.д., пока такое пересечение не будет найдено.
Я проиллюстрировал это все в файле ниже, потому что не знаю, как вставить рисунок в текст своего поста

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Если указаны параметры start_time и stop_time, то функция возвращает количество баров в диапазоне дат. Если эти параметры не указаны, то функция возвращает общее количество баров. Если данные для таймсерии с указанными параметрами при вызове функции Bars() еще не сформированы в терминале, или данные таймсерии в момент вызова функции не...
Файлы:
p1pxls.png  10 kb
 
Mihail Matkovskij:

Как я уже говорил выше, набросайте исходник, чтобы было от чего отталкиваться. Тем более, кое-какие знания о том как получить данные объекта на графике у Вас уже есть. Делать за Вас всё с нуля никому не охота. А так, то чего не хватает для работы эксперта можно будет дополнить...

Михаил, я и не прошу этого делать, просто хотел уточнить правильность алгоритмической части.

А в отношении моих нынешних знаний MQL вы мне льстите - я только что приступил к его изучению, поэтому даже для наброски примитивного исходника пока знаний у меня не хватает.

Принципиальным камнем преткновения для меня было решить вопрос с нахождением на графике нанесенных вручную линий тренда и считывания их параметров. Вы с Артемом мне в этом помогли, за что вам большое спасибо.

А дальше  я потихоньку сам попробую писать и, если что-то не будет получаться, тогда снова по конкретным мелочам буду обращаться за помощью.

 
vladmirad:

Я как раз и хочу использовать уравнение прямой. Получив координаты линии тренда, я вычисляю коэффициент приращения тренда за один бар по формуле Dy=(Yn-Yo)/n, где n - количество баров между начальной и конечной точкой отрезка трендовой линии.

А советник начинает контролировать график с момента постановки линии тренда. Т.е фактически он уже будет проверять на пересечение графиком линии тренда, начиная с первого после начального бара, где он будет проверять пересечение линии тренда в точке Y1=Yo+Dy. Если пересечения не будет, то будет проверяться точка Y2=Y0+2*Dy следующего текущего бара и т.д., пока такое пересечение не будет найдено.
Я проиллюстрировал это все в файле ниже, потому что не знаю, как вставить рисунок в текст своего поста

Здесь точно лучше использовать уравнение прямой. Ссылку на функцию я дал чуть выше. Там и пояснения есть.

А пример торговли по пересечению линий можете поискать в публикациях у Scriptor - он выкладывал такой советник в CodeBase.

Scriptor
Scriptor
  • www.mql5.com
С возросшим интересом к рынку Форекс, люди часто спрашивают, что можно почитать о законах функционирования мировой валютной биржи. В связи с этим, выкладываю свой список литературы для начинающих. Дополнение приветствуется :) Форекс для начинающих - А. Куликов В основу книги положен многолетний опыт Бесплатно скачать MetaTrader 5 Бесплатно...
 
Artyom Trishkin:

Здесь точно лучше использовать уравнение прямой. Ссылку на функцию я дал чуть выше. Там и пояснения есть.

А пример торговли по пересечению линий можете поискать в публикациях у Scriptor - он выкладывал такой советник в CodeBase.

Еще раз благодарю вас за оперативную помощь и дельные профессиональные советы, обязательно ними воспользуюсь.
А пока надо все узнанное переварить... :)
 
vladmirad:

Михаил, я и не прошу этого делать, просто хотел уточнить правильность алгоритмической части.

Дело не в том, что вы не просите, или еще не освоились, а в том, что исходник проще доработать, чем создавать с нуля. Тогда программисты на этом форуме помогут вам без проблем, потому как сразу будет ясна постановка и специфика задачи. Иногда проще посмотреть код, чем читать объяснение на словах, что кодер хочет сделать. Тем более, если он новичок, то и объяснить что ему нужно у него может не всегда получается. :) Еще, учиться программировать нужно программируя. Это просто обязательный способ обучения для любого хорошего программиста! А ваш прогресс еще никто так и не видел... Так что если будут вопросы, смело публикуйте исходник, не стесняйтесь. А затем уже пишите на словах, что нужно сделать или поправить.

 

Всем привет. Подскажите в какой ветке жаловаться на обновления MT5?


Бесконечное количество обновлений с новыми глюками в последние пару месяцев с чем связано? .

При закрытии или открытии сделки на одном терминале, автоматом появляется вся история на графиках не только на этом , но и на других терминалах по всем инструментам .Уже неделю такая хрень. Бесит. Каждый раз надо удалять.

Вручную перенесить  сделки на график по одной с истории вообще невозможно теперь. При добавлении всех сделок , открывается новый график со всей историей.

Плюс чтото поменяно в очередном обновлении что советник перестал компилироваться, вылезают ошибки.

Раньше была возможность подписывать объекты в свойствах и надпись появлялась на экране, потом

пропало.

 
Добрый день! Помогите пожалуйста, нужно в индикатор вставить буфер чтобы брать данные из советника через iCustom.  
Файлы:
FindLevels.mq4  12 kb
 
edelweiss7:
Добрый день! Помогите пожалуйста, нужно в индикатор вставить буфер чтобы брать данные из советника через iCustom.  

просто указываете индекс буфера, который должен быть присвоен при инициализации в SetIndexBufer

 
Mihail Matkovskij:

Дело не в том, что вы не просите, или еще не освоились, а в том, что исходник проще доработать, чем создавать с нуля. Тогда программисты на этом форуме помогут вам без проблем, потому как сразу будет ясна постановка и специфика задачи. Иногда проще посмотреть код, чем читать объяснение на словах, что кодер хочет сделать. Тем более, если он новичок, то и объяснить что ему нужно у него может не всегда получается. :) Еще, учиться программировать нужно программируя. Это просто обязательный способ обучения для любого хорошего программиста! А ваш прогресс еще никто так и не видел... Так что если будут вопросы, смело публикуйте исходник, не стесняйтесь. А затем уже пишите на словах, что нужно сделать или поправить.Спсибо

Спасибо, Михаил!
Как только подготовлю мало-мальский исходник, обязательно воспользуюсь вашим советом!

 

Подскажите пожалуйста что это за ошибки вылезают теперь? После обновления очередного.

Попробовал удалить первую строчку с ошибкой из 3 осталось одна, ее удалил тоже, все скомпелировалось.. Тестирую
Причина обращения: