仕事が完了した
実行時間32 日
開発者からのフィードバック
Отличный заказчик, грамотное ТЗ, понимание ситуации.
指定
Реализовать технический индикатор по следующему алгоритму:
Высчитать стандартное отклонение от изменения актива.
Логика:
- Берем цену закрытия исходя их таймфрейма
- Указываем период (за сколько последних свечей будет высчитываться стандартное отклонение)
- Смотрим на изменения актива: текущая цена закрытия - цена закрытия прошлого периода
- Когда цена закрытия текущего периода больше прошлого присваиваем параметр "Рост"
- Когда цена закрытия текущего периода меньше прошлого присваиваем параметр "Снижение"
- Считаем стандартное отклонение для показателей с параметром "Рост"
- Считаем стандартное отклонение для показателей с параметром "Снижение"
ВАЖНО: считаем стандартное отклоение не по массе, а по количеству таких параметров
К примеру: за период 12 последних свечей (по закрытию), получаем такую выборку:
"Рост" "Снижение"
0,00011
-0,00019
-0,00015
-0,00025
-0,00004
-0,00005
0,00015
-0,00017
0,00001
-0,00040
0,00020
*БОЛЕЕ ПОДРОБНЫЙ ПРИМЕР И РАСЧЕТЫ В EXCELL ФАЙЛЕ.
Стандартное отклонение с показателем рост нужно считать по 4м значениям (0,00011; 0,00015; 0,00001; 0,00020). То есть пустые значения не учитывать (в екселе это важно, возможно в програмном коде другая логика)
Стандартное отклонение с показателем рост нужно считать по 4м значениям (-0,00019; -0,00015; -0,00025; -0,00004; -0,00005; -0,00017; -0,00040)
- Высчитываем показатель Relative Strength путем деления St.Dev (Рост) / St.Dev (Снижение). То есть стандартное отклоение за период по выборке "рост" / стандартное отклоение за период по выборке "снижение"
- Высчитываем показатель PRO Deviation путем = 100-100/(1+Relative Strenght) (чтобы индексировать значение от 0 до 100)
ВИД индикатора:
- Полученные данные отображать в виде гистограмм
- Добавить условие в индикатор:
Если значение PRO Deviation меньше 25 (выбирается в параметрах) - красить столбец гистограмы в зеленый цвет
Если значение PRO Deviation больше 75 (выбирается в параметрах) - красить столбец гистограмы в красный цвет
- Добавить условие в отображение индикатора на графике:
Реализовать появление стрелки когда значение по закрытию было 25 (выбирается в параметрах) и ниже (красная гистограма), когда идет закрытие выше 25 - появляется стрелка на графике указывающая на рост (под ценой low свечи)
Реализовать появление стрелки когда значение по закрытию было 75 (выбирается в параметрах) и выше (зеленая гистограма), когда идет закрытие ниже 75 - появляется стрелка на графике указывающая на снижение (над ценой High свечи)
ПРИМЕР ВИЗУАЛИЗАЦИИ: https://prnt.sc/8DX2d7XbAjB9
- Добавить Алерт в индикатор:
1. Когда цена закрылась выше 75 или ниже 25 соотвесвтенно, выдать алерт в терминал с текстом:
Для BUY_SIGNAL: Closed short position at "НАЗВАНИЕ ИНСТРУМЕНТА/ТЕКЕТА". Prepare to long position.
Для SELL_SIGNAL: Closed long position at "НАЗВАНИЕ ИНСТРУМЕНТА/ТЕКЕТА". Prepare to short position.
2. Когда цена закрылась выше 25 или ниже 75 (при появлении сделки), выдать алерт в терминал с текстом:
Для BUY_SIGNAL: Open long position at "НАЗВАНИЕ ИНСТРУМЕНТА/ТЕКЕТА".
Для SELL_SIGNAL: Open short position at "НАЗВАНИЕ ИНСТРУМЕНТА/ТЕКЕТА".
3. Добавить возможность отправки этих уведомлений на телефон (в МТ4/5 если залогинен в терминал на телефоне)
НАСТРОЙКИ В ОКНЕ ИНДИКАТОРА:
Переменная Значение
Indicator Name PRO Deviation
Indicator Parameters ========================
Indicator Period 12 //по дефолту 12, но можно менять
Indicator Overbought Limit 75 //по дефолту 75, но можно менять
Indicator Oversold Limit 25 //по дефолту 25, но можно менять
Indicator Applied Price Close //по дефолту Close, но можно менять (Open, Low, Medium etc.)
Number Of Candles To Analyse 500
Notification Options ========================
Send Alert Notification True //Выбор между тру/фолс (если фолс - не отправлять алерт)
Send Notification to Mobile True //Выбор между тру/фолс (если фолс - не отправлять алерт)
Drawing Options ========================
Draw Histogram True //Выбор между тру/фолс (если фолс - не отображать гистограмы цветом)
Draw Signal Arrows True //Выбор между тру/фолс (если фолс - не отображать стрелки)
Buy Arrow Code 200 //Дает возможность кастомизировать стрелку
Sell Arrow Code 202 //Дает возможность кастомизировать стрелку
Arrow Size (1-5) 2 //По дефолту 2. Можно менять с 1 до 5
Histogram Size (1-5) 3 //По дефолту 3. Можно менять с 1 до 5
Buy Arrow Color Gold //По дефолту Gold. Можно задавать любой цвет
Sell Arrow Color Gold //По дефолту Gold. Можно задавать любой цвет
Overbought Histogram Color Red //По дефолту Red. Можно задавать любой цвет
Oversold Histogram Color Green //По дефолту Green. Можно задавать любой цвет
Реализовать робота по следующему алгоритму:
Реализовать робота по следующему алгоритму:
Реализовать торгового робота на основе ранее созданного индикатора
То есть в робота необходимо перетянуть код с индикатора и автоматизировать процесс открытия/закрытия сделок.
Логика робота:
- Когда появляется сигнал на покупку (стрелка на графике индикатора) - открывает сделку.
-- Если Гистограмы индикатора возвращаются в зону покупок/продаж - робот открывает сделку.
-- Пример для покупок: Значение индикатора 22. 21. 24. 27. Когда значение ЗАКРЫВАЕТСЯ выше 25 (задается в настройках робота) - открыается покупка. Когда значения достигает больше 75 (закртиые больше 75) - закрывать сделку по рынку.
-- Пример для продаж: Значение индикатора 77. 78. 76. 73. Когда значение ЗАКРЫВАЕТСЯ ниже 75 (задается в настройках робота) - открыается продажа. Когда значения достигает меньше 25 (закртиые меньше 25) - закрывать сделку по рынку.
Следовательно, сделка откроется по рынку когда индикатор закроется со значением 27 и закроет сделку когда будет значение закрытия больше 75 (77 к примеру). После того как будет закрытие ниже 75 - откроется продажа. И тд. по кругу.
- Если открыта покупка и появляются условия для откртия покупок - открывается еще одна сделка.
-- Пример: Открпылась сделка на покупку. Значение гистограм вновь опустилось ниже 25. После того как закроется выше 25 - открыть новую покупку. Когда значения закроются выше 75 - закрыть 2 сделки на покупку (тоесть в таком условии формируется сетка ордеров, которая закрывает все сделки)
- Если открыта продажа и появляются условия для откртия продаж - открывается еще одна сделка.
-- Пример: Открпылась сделка на продажу. Значение гистограм вновь выросло выше 75. После того как закроется ниже 75 - открыть новую покупку. Когда значения закроются ниже 25 - закрыть 2 сделки на продажу (тоесть в таком условии формируется сетка ордеров, которая закрывает все сделки)
Лотность, логика добавление в сетку, а также параметры контроля лота/объема - задаются в настройках робота.
НАСТРОЙКИ В ОКНЕ РОБОТА:
Переменная Значение
Trading Robot Name PRO Deviation EA
Trading Robot Parameters ========================
PRO Deviation Period 12 //по дефолту 12, но можно менять
PRO Deviation Overbought Limit 75 //по дефолту 75, но можно менять
PRO Deviation Oversold Limit 25 //по дефолту 25, но можно менять
PRO Deviation Applied Price Close //по дефолту Close, но можно менять (Open, Low, Medium etc.)
Number Of Candles To Analyse 500
Risk & Money Management Options ========================
Lot Size 0.01 //Размер первой сделки
Use Lot Multiplicator? True //Если тру - умножает следующий лот в сетке на это значение. Если фолс - все сделки по фиксированому обьему, который указан в лот сайз. Так, если тру и лот 0.01, то следующая сделка будет также 0.01. Округляем в сторону уменьшения. Пример мультипликатора 1.25 на 0.01: 1я сделка = 0,01 / 2я сделка = 0,01 / 3я сделка = 0,01 / 4я сделка = 0,02 / 5я сделка = 0,03 / 6я сделка = 0,03 / 7я сделка = 0,04 / 8я сделка = 0,05 / 9я сделка = 0,07 / 10я сделка = 0,09 / 11я сделка = 0,11 / 12я сделка = 0,14 / 13я сделка = 0,18 и тд
Lot Multiplicator 1.25 //Умножает лот на эту сумму. Логика выше
Use Max Lot Size? True //Если тру - задает максимальный ограничитель на лот / если фолс - лот может увеличиваться максимального значения
Max Lot Size 0.20 //Если стека добралась до этого показателя, то последующие сделки совершать без умножителя а по этому показателю
Use Max counts of orders? True //Если тру, то при достижении параметра ниже - больше не открывает сделок
Max counts of orders 20 //Значение можно изменять
Use Max risk per capital? True //Если тру, то при достижении параметра ниже закрывает весь результат пор рынку
Max risk per capital, % 30 //Значение можно изменять
応答済み
1
評価
プロジェクト
18
6%
仲裁
1
0%
/
100%
期限切れ
2
11%
暇
2
評価
プロジェクト
54
30%
仲裁
8
0%
/
63%
期限切れ
13
24%
暇
3
評価
プロジェクト
425
38%
仲裁
86
44%
/
19%
期限切れ
71
17%
取り込み中
4
評価
プロジェクト
24
17%
仲裁
3
67%
/
0%
期限切れ
4
17%
暇
プロジェクト情報
予算
50 - 80 USD
開発者用
45
- 72
USD
締め切り
最高 10 日