Советник на пробой канала, построенного по Методу наименьших квадратов

Работа завершена

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

Техническое задание

Нужен советник, работающий на пробой канала, построенного по методу наименьших квадратов. 

Входные параметры.

1) Лот: 1. Фиксированный.

            2. Процент от депозита (округление до 0.01).


2) Ширина канала: расстояние между параллельными линиями.

Канал строится с применением МНК - метода наименьших квадратов (обязательно!!!). Другие методы не принимаются.

Для понимания принципа действия и реализации метода, в помощь несколько сайтов:

https://prog-cpp.ru/mnk/

https://zaochnik.com/spravochnik/matematika/stati/metod-naimenshih-kvadratov/

https://studassistent.ru/charp/realizovat-metod-naimenshih-kvadratov-c

https://excel2.ru/articles/mnk-metod-naimenshih-kvadratov-v-ms-excel


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


Основная трендовая линия - это линия, которая вычисляется математически по МНК, по обе стороны от неё равноудалённо проводятся линии канала. На графике её можно не рисовать.

 

3) Способ вычисления точек для построения основной трендовой линии канала: 1. Сумма максимума и минимума бара / 2.

                                                                                                                          2. Сумма открытия и закрытия бара / 2.

                                                                                                                          3. Сумма всех параметров бара / 4.


4) Количество n баров для вычисления начального построения основной трендовой линии.


5) Количество m баров для построения основной трендовой линии после закрытия ордера.

 

6) Минимально допустимый угол наклона линий канала.


7) Открытие ордеров: 1. Прямое.

                                  2. Реверсное.


8) Режимы построения канала: 1. Основной - учитываются все бары.

                                               2. Начальных баров - канал строится только по начальным (n) или (m) барам, последующие бары не учитываются.


9) В основном режиме предусмотреть возможность при помощи коэффициента влиять на "жёсткость канала" от 1 до 100 (к примеру), т.е. при К=1 - чистый основной режим, при К= 100 самый жёсткий канал, последующие бары влияют по убывающей на наклон линий. Чем больше баров, тем меньшее влияние последний бар оказывает на угол наклона.


10) Стоплосс.


11) Трейлинг: 1.  Трейлинг стоп.

                      2.  Шаг.


12) Время работы: с Н1 (час, мин)  до Н2 (час, мин). Если Н1=0 и Н2=0, работа круглосуточно.


13) Проскальзывание. 


14) Магик.


15) Визуализация: 1. Линии канала красным цветом.

                            2. Баланс, свободные средства, профит по данному магику, угол наклона, режим построения канала, ширина канала (по возможности).


Таймфреймы любые, валютные пары любые,  5-знаковые котировки.


Предоставить открытый код.



1. Вход в рынок.  

После времени Н1 для построения основной трендовой линии вычисляются значения точек по последним n-барам, в соответствии с заданной шириной канала, равноудалённо строятся  две параллельные линии канала. В Основном режиме последующие новые бары учитываются при построении линий, с помощью МНК вычисляется усреднённое положение основной трендовой линии, от начальных n (m) баров до последнего бара, тем самым корректируется канал, с учётом коэффициента "жёсткости К". 


2. Работа на графике.

При условии, что угол наклона линий больше минимально допустимого угла, и если текущая цена пересекает нижнюю линию при положительном угле наклона, открывается ордер sell. Если пересекает верхнюю - ничего не выставляется. 

Сразу выставляется стоплосс. Переходим в п. 2.1.


При условии, что угол наклона линий больше минимально допустимого угла, и если текущая цена пересекает верхнюю линию при отрицательном угле наклона, открывается ордер buy. Если пересекает нижнюю - ничего не выставляется.

Сразу выставляется стоплосс. Переходим в п. 2.1.


Если угол наклона меньше минимально допустимого угла, при пересечении ценой любой линии, ордер не выставляется, переходим в п. 2.1.


2.1. !!!___Построение линий прекращается___!!! (важно), строится новый канал по последним m барам. Последующие новые бары  учитываются при построении канала в Основном режиме. 


2.2. Если открыт sell:   при условии, что угол наклона больше минимального и он отрицательный, при пересечении ценой верхней

                                   линии, ордер sell закрывается, открывается buy . Возвращаемся в п. 2.1.

                                   При пересечении ценой нижней линии ничего не выполняется, продолжает стоять sell. 

                                   Если угол наклона меньше минимального, при пересечении ценой верхней линии sell закрывается, а ордер 

                                   buy не открывается. Переходим в п.2.1.


      Если открыт buy:   при условии, что угол наклона больше минимального и он положительный, при пересечении ценой нижней 

                                   линии, ордер buy закрывается, открывается sell . Возвращаемся в п. 2.1.

                                  при пересечении ценой верхней линии ничего не выполняется, продолжает стоять buy.

                                  Если угол наклона меньше минимального, при пересечении ценой нижней линии buy закрывается, а ордер 

                                   sell не открывается. Переходим в п.2.1.


      Если открытых ордеров нет и угол наклона меньше минимально допустимого угла, при пересечении ценой любой линии, ордер не выставляется, переходим в п. 2.1.


2.3. Если есть открытый ордер после времени Н2, советник ждёт закрытия ордера, новые ордера не открывает. После закрытия ордера (по стоплоссу или пересечении линии канала), возвращаемся в п. 1.


2.4. При срабатывании стоплосса в любых случаях возвращаемся в п. 1.

 

P.S. Заказываю на сайте данный советник для написания второй раз, был печальный опыт, первый советник написали не в соответствии с моими требованиями, ещё и динамили по полной. Никого не хочу обидеть, но большая просьба: трезво оцените свои возможности по написанию советника с вычислением МНК, в этот раз буду скрупулёзно проверять абсолютно все параметры во всех режимах. Если что-то не будет работать или работать не так, не сердитесь, буду требовать исправить или переделать до подтверждения выполнения и оплаты заказа, обещаниям "доработать потом" или "исправлю по гарантии" больше не верю. Читайте внимательно ТЗ, каждое предложение и фраза имеют очень большое значение и должны быть выполнены. Ничего личного, но в этот раз будет всё серьёзно и безапеляционно.

Файлы:

Откликнулись

1
Разработчик 1
Оценка
(356)
Проекты
632
26%
Арбитраж
89
73% / 13%
Просрочено
12
2%
Свободен
2
Разработчик 2
Оценка
(50)
Проекты
94
29%
Арбитраж
3
33% / 0%
Просрочено
4
4%
Работает
3
Разработчик 3
Оценка
(142)
Проекты
280
42%
Арбитраж
18
61% / 6%
Просрочено
29
10%
Свободен
4
Разработчик 4
Оценка
(16)
Проекты
18
6%
Арбитраж
1
0% / 100%
Просрочено
2
11%
Свободен
Похожие заказы
Technical task Make dashboard for several signals for choose for mt4 and mt5 with source code TimeFrames show (1m,5m,15m,30m,1h,4h,1d,7d,30d) For mt5 other TF (choose) Life time on current tf for live candle (back time to 0 before new) (true\false) Size Colour Symbols import from wathlist Signals for choose (only 1): 1)Current price into bb or ouside BB period, shift, std 2)Trend by MA MA period, shift, types 3)Price
Modify indicator Cycles 4 with rectangle Make indictor for mt4 and mt5 with comments in source code This indicator based on Cycles_4 Parametres MA1 - is default MA2 (yes or no) - yes - value add (if not 3 MA - 2nd in trend MA, also if only 1 MA without 2 and 3) Trend MA (true\false) - true - yes - value add Revers rect - true/false Fix rect by height - true\false, like how user add and this remember in the exit from

Информация о проекте

Бюджет
30+ USD
Исполнителю
27 USD
Сроки выполнения
от 10 дн.