Specifiche
Назовите свою цену пожалуйста
Это бета версия, после тестирования этой версии, добавим несколько индикаторов, и немного изменим завершение цикла, принимаю любые ваши предложения по необходимым дополнениям, фильтрам, проверкам и системе безопасности. Конечная цель создать полностью функционального, настраиваемого, мультивалютного робота для работы в режиме реального времени на реальных счетах, с поддержкой разных дц и разных типов счетов.
Возможно участие нескольких программистов в проекте для повышения качества.
Версия алгоритма сетки 1.01
ИЗМЕНЕНИЯ:
1) Перестановка очерёдности выполнения пунктов алгоритма.
2) Упрощение начала цикла.
ОСОБЕННОСТЬ:
Советник не открывает отложенные ордера, не ставит стоплосы и тейкпрофиты, вся работа проводится виртуально, т.е. в алгоритме просчитываются и отложенные ордера и тейки и стопы но фактически мы имеем только бай шел и клоуз ол. (так делается, потому что предполагается работа с плавающим спредом, поэтому точные фиксированные значения тейк профитов и стоп лосов существенно уменьшал стабильность системы, а также для того чтобы исключить обман дц)
ПЕРВЫЙ
ЗАПУСК:
1. После первого запуска советника в первую
очередь выводится окно в котором можно было бы изменять параметры советника.
- Окно параметров (Для торговых платформ в которых это не предусмотрено)
2. В параметрах вводим интересующие нас условия работы
и выбираем инструменты на которых будет работать советник.
НАЧАЛО РАБОТЫ
1.Подготовка:
1.1 Проверка связи с сервером
1.2 Определение дня недели, времени суток сервера и местного времени суток.
(для тестовой версии необязательно, к тому же в этой версии алгоритма учёт
времени не нужен, но в будущем он понадобится.
1.3 Вычисление и постоянный мониторинг спредов по всем активным инструментам, т.е. нужно чтобы советник анализировал тики отдельно каждого активного инструмента причём учитывал бы отдельно цену бид и цену аск вычитая одну из другой в режиме реального времени (желательна визуализация этих данных в окне графиков активных инструментов, или просто визуализация на экран в отдельном окне где будут не только эти данные, которое будет называться Окно данных)
2. Начало цикла
2.1
Одновременно открываются начальные
ордера бай и шел одинакового объёма который равен значению - начальный лот (должен отражаться в окне
данных).
2.2 Советник раскидывает виртуальные уровни
сетки по заданному значению шага сетки. делает это так : а) от открытых начальных ордеров в обе
стороны откладываются два уровня второй
уровень сетки и завершающий уровень
сетки, первый уровень сетки -. место начала цикла, т.е. место
открытия начальных ордеров.
РАБОТА
(Действия в цикле)
1. 1-й этап:
1.1 Действия до достижения
ценой второго уровня сетки: Включается готовность при достижении
второго уровня сетки с любой стороны от первого уровня выполнить
следующий ряд действий: а) закрыть ордер который будет в плюсе. б) открыть
ордер в сторону движения цены с удвоенным лотом по отношению к
начальному лоту в дальнейшем эта позиция будет называться двойной ордер 1-го этапа. лот открытого
ордера будет назваться текущий лот (его
значение должно отражаться в окне данных)
1.2 Действия при достижении
ценой второго уровня сетки: а) Закрыть ордер который в плюсе и открыть двойной
ордер 1-го этапа. б) отключить готовность к аналогичным действиям на
противоположном втором уровне сетки (противоположные уровни не убираем),
в)подготовиться к завершению цикла (см. пункт ЗАВЕРШЕНИЕ) г)подготовиться
к повороту цены и переходу
советника ко 2-му этапу реализации цикла, при этом следует запланировать
открытие ордера с удвоенным лотом который будет называться двойной ордер 2-го этапа, лот
удваивается по отношению к текущему лоту двойного ордера 1-го этапа. (лот этого
ордера также именуется "текущий лот" и отображается в окне данных)
Когда цена достигла второго уровня, мы получили
один шаг профита и у нас остался открытый один ордер в минус и открытый на
втором уровне двойной ордер 1-го этапа. В этой ситуации мы имеем два варианта
развития событий, либо цена продолжит движение в выбранном направлении и цикл
закроется на следующем завершающем уровне (см. пункт ЗАВЕРШЕНИЕ) либо
цена развернётся и дойдёт до первого уровня сетки и начнётся 2-й этап
реализации цикла.
2. 2-й
этап:
2.1. На этом этапе когда цена после разворота достигла первого уровня
открывается двойной ордер 2-го этапа его объём должен быть увеличен в двое по
отношению к двойному ордеру 1-го этапа.
2.2 из этого положения есть также два варианта развития событий, а) подготовка
к завершению цикла (см. пункт ЗАВЕРШЕНИЕ) б) подготовка к повороту цены и
переходу советника к 3-му этапу реализации цикла, при этом так же как и при 2-м
этапе следует запланировать открытие двойного
ордера 3-го этапа чей лот будет удвоен по отношению к объёму ордера
2-го этапа.
Каждый этап цикла может быть последним либо
очередным при повороте цены, цикл будет реализовываться такое количество этапов
пока цена не пройдёт достаточное расстояние в одном направлении для завершения
цикла, на каждом этапе происходит открытие двойного
ордера Н-ного этапа лот которого равен лоту предыдущего этапа умноженного в
2 раза. лот вновь открытой позиции в очередном этапе также как и в предыдущих
именуется как текущий лот, помимо этого в окне данных должны отражаться
следующие данные: 1) объём бай, объём шел, залог, количество пройдённых этапов.
(это далеко не всё, но для начала вполне достаточно)
ЗАВЕРШЕНИЕ при достижении ценой завершающего уровня все открытые позиции закрываются.
НАЧАЛО
РЕАЛИЗАЦИИ АЛГОРИТМА ЗАНОВО:
Начиная с пункта НАЧАЛО РАБОТЫ