Помогите дилетанту

 

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

Функция, которая возвращает количество тиков в заданном направлении за заданное время после каждого тика. Направление движения считается и после остановки (без движения в обратную сторону).

Функция, которая возвращает сумму пунктов тиков в заданном направлении за заданное время после каждого тика. Размер 1-го тика определяется разницей цены в начале тика и в конце тика, необходимо учитывать только модуль.

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

Открытие рыночного ордера Buy (+- 3 пункта от момента подачи заявки)

Закрытие ордера Buy по рыночной цене

Открытие рыночного ордера Sell (+- 3 пункта от момента подачи заявки)

Закрытие ордера Sell по рыночной цене

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

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

Файлы:
 

Посмотри вот это

https://www.mql5.com/ru/code/7464
 

На самом деле здесь все просто, тики брать не откуда, соответственно их надо собирать. Заводим массив на кол-во нужных в расчетах тиков N, каждый тик сдвигаем, записываем изменение цены. После N тиков массив заполнен. Дальше продолжаем вести этот массив теряя старые данные и заполняя его новыми. Сделав этот массив двухмерным можно также записывать время между тиками. Имея этот массив пересчитывать его элементы можно как угодно и совсем просто.

.....

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

.....

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

З.Ы. Кстати, посыл к Лаки не совсем корректен, тот работает все с одним последним тиком, и под Ваши цели врядли сильно подойдет.

 

Спасибо за советы. Насчет Лаки я уже понял, хотя тоже интересно. Хочу все равно попробовать свой вариант. Заполнение тикового массива, получается только в реальном времени? Я почему то считал, что информация о всех тиках и их значениях сохраняется в истории??? То биш я как раз и надеюсь на тестер, потому что оптимизировать такой эксперт нереально без тестера.

 
nkeshka писал(а) >>

Спасибо за советы. Насчет Лаки я уже понял, хотя тоже интересно. Хочу все равно попробовать свой вариант. Заполнение тикового массива, получается только в реальном времени? Я почему то считал, что информация о всех тиках и их значениях сохраняется в истории??? То биш я как раз и надеюсь на тестер, потому что оптимизировать такой эксперт нереально без тестера.

В МТ тиковые данные не хранятся, тестер генерит синтетическую тиковую последовательность на данных O C H L и вроде как объемов. Для данного эксперта такая последовательность не подойдет, протестировать конечно можно, но совпадения работы в тестере и онлайн не будет.

 

Советую заглянуть сюда, тут обсуждались тики: Объем сделок, и пройтись поиском по тиковым индикаторам, помню, там Вашу мысль цепляли.

ИМХО, для начала стоит посмотреть, как выглядит идея в индикаторах, может советник и не придется писать, ибо "тут рыбы нет".

 
nkeshka писал(а) >>

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

Входящие данные сделать в виде трехмерного массива, далее идет проверка на правильность подбора входных данных, то бишь проверка логических выводов на правильность методом фиктивных сделок, или еще каким то методом попроще. Далее мы получаем массив, который постоянно изменяется, в каждый новый момент времени. То есть сейчас при Т10,Х13,Y2 наибольшее количество правильных выводов, значит эксперт торгует по этим входящим данным, через какое то время Т1,Х13,Y2 набирает большее количество правильных выводов, значит эксперт переключается на исполнение по новому алгоритму и т.д. Мы получаем думающий эксперт!

Вообщем-то и то далеко не ново, причем примерно с тем же эффектом, только гораздо серьезнее в реализации) Потяните? Здесь уже результат в определенной мере может зависить от качества реализации.... Начните с простого, или готовьте деньги на оплату труда прораммиста, тут исполнят любой каприз за Ваши деньги)

 
Figar0 писал(а) >>

Вообщем-то и то далеко не ново, причем примерно с тем же эффектом, только гораздо серьезнее в реализации) Потяните? Здесь уже результат в определенной мере может зависить от качества реализации.... Начните с простого, или готовьте деньги на оплату труда прораммиста, тут исполнят любой каприз за Ваши деньги)

Финасово не потяну, Мозгами вроде бог не обделил, времени только будет жалко если ошибочно мое предположение по поводу тиков. Нарвался на одну мысль и развил ее до абсурда. Она есть выше. Повторюсь более адресно.

ПЕРВОИСТОЧНИК с которым все работают на Форексе это ТИКИ и их размер. Все остальное МИНУТЫ, ЧАСЫ, ДНИ и т.д. это их производные. Или я в чем то не прав? А может на самом деле все происходит прямо наоборот ТИКИ являются машинной производной минут, Минуты - часов, Часы - дней? То бишь тики это Казино для лохов? Тогда надо переходить на дни и работать старыми проверенными дедовскими способами, но при этом иметь солидный запас прочности, дабы Казино с помощью ТИКОВ не сожрало твое депо.

 
nkeshka >>:

А может на самом деле все происходит прямо наоборот ТИКИ являются машинной производной минут, Минуты - часов, Часы - дней? То бишь тики это Казино для лохов?

Вы эта.., как ево, не грузите уж так. Крышу надо беречь, а то, не дай Бог, дождик.
 

Ответил в другой ветке, но повторюсь... Когда я занимался плотно тиками была возможность подать тестеру свою тиковую историю (она есть и сейчас но несколько сложнее), в результате исследований обнаружил, что закомерности ведущие к чему-либо начинают появляться при значительном объеме тиковых данных, начиная где-то с 100 тиков. Но сотня тиков это уже несколько минутных баров, смысл возиться с тиками учитывая, что встроенных возможностей в МТ для этого не много? Смотрел также временное распределение тиков, закономерностей поддающихся использованию as is тоже необнаружил.

Плюс, те котировки которые мы получаем это лишь усредненные отголоски цен по которым в данное время осуществляются реальные сделки, или просто нечто среднее между заявками спроса и предложения, к тому же прошедшее несколько поставщиков и фильтры ДЦ (кстати иногда ДЦ выдают нам микс котировок полученных из разных источников), вся эта цепочка убивает напрочь оригинальную информационную составляющую в тиковых данных, если она и была. 99,9% - шум неподдающийся анализу. В лоб тики использовать очень сложно хотя информации в них полюбому не меньше, чем в барах любого ТФ. Вкратце, можно любоваться на кирпичи сколько угодно долго, но жить то лучше в доме, и построить его удобнее и быстрее из панелей, хоть немного и в ущерб качеству и характеристикам.

 
granit77 писал(а) >>
Вы эта.., как ево, не грузите уж так. Крышу надо беречь, а то, не дай Бог, дождик.

Спасибо за юмор. А крышу и так рвет от ентого MQL.

Причина обращения: