Простой арифметический робот, с выставлением сетки отложенных ордеров

MQL4 Asesores Expertos

Tarea técnica

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

Робот должен отрабатывать два варианта (цикла):
1.Основной цикл
2.Цикл усреднения.

Суть "основного цикла" - купить валюту и по мере увеличения профита наращивать её до установленного уровня. Например мы хотим взять 300 пунктов профита с наращиванием (первый ордер либо по выставленной цене, либо с начала работы робота):

1. Цена   0, бай лот 0,1 (Начало цикла)
2. Цена 100, бай лот 0,1 (при покупке ставится БУ для обоих купленных лотов)
3. Цена 150, бай лот 0,2 (при покупке ставится БУ для всех купленных лотов)
4. Цена 200, бай лот 0,4 (при покупке ставится БУ для всех купленных лотов)
5. Цена 250, бай лот 0,8 (при покупке ставится БУ для всех купленных лотов)
6. Цена 300, селл всех лотов. (Конец цикла)

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

1. Цена   0, бай лот 0,1 (Начало цикла №1)
2. Цена  50, бай лот 0,1 (Начало цикла №2)
3. Цена 100, бай лот 0,1 (Начало цикла №3) + параллельно отрабатывается  цикл №1
4. Цена 150, бай лот 0,1 (Начало цикла №4) + параллельно отрабатываются циклы №1 и №2
И т.д.

Если, какой либо лот приобретается с проскальзыванием, то вся сетка запланированных ордеров (ещё не сработанных) как данного цикла, так и запланированная глубина следующих циклов - смещается. 

Основной цикл заканчивается в одном из трех случаях :
1. По установленному Тейку (в нашем случае 300пунктов).
2. По БУ. 
3. После покупки первого лота, цена ушла в минус на определенное кол-во пунктов. 

В третьем случае окончания "Основного цикла", наш минусовой лот переходит так сказать в разряд второго цикла  "Цикла усреднения" и соответственно донный лот отрабатывается уже по правилам "Цикла усреднения".


Суть "Цикла усреднения" :

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

1. Цена   0, бай лот 0,1 (Начало "основного цикла №1")
2. Цена -50, бай лот 0,1 (Начало "основного цикла №2")
3. Цена -75, Конец "основного цикла №1" лоту 0,1 выставляется ТП по цене 10  
4. Цена -100 бай лот 0,1 (Начало "основного цикла №3")
5. Цена -125, Конец "основного цикла №2" двум лотам выставляется ТП по цене -15 (лот 0,1 по цене 0 + лот 0,1 по цене -50 = лот 0,2 по цене -25, к этому прибавим 10 пунктов профита и получим цену закрытия обоих ордеров по цене -15 ) 
И т.д.


Ну вот в принципе и вся суть работы робота. Исходя из вышеизложенного получается у нас должно быть следующее окно настроек работа :

"Основной цикл" :

1.Работа совы: 0=торговля в обе стороны, 1=только покупки, 2=только продажи.
2. Покупка\продажа первого лота - либо по конкретной цене, либо 0=покупка при старте совы.
2.1. Объём первого лота.
2.2. Кол-во пунктов если цена первого лота в минус (конец цикла)
3. Шаг покупки\продажи второго лота (в пунктах от первого) - либо кол-во пунктов, либо 0=без доп.циклов (новый циклначнется лишь после окончания первого цикла).
3.1 Объем второго лота
4. ТП после усреднения первых двух лотов в пунктах.(другими словами уровень БУ при срабатывании которого Конец цикла)
5. Количество дополнительных лотов - либо количество, либо 0= нет дополнительных лотов. 
6. Шаг покупки\продажи третьего и всех последующих лотов (в пунктах от второго) - либо кол-во пунктов, либо 0=нет дополнительных покупок\продаж.
6.1. Объем третьего и всех последующих лотов - либо 0=постоянный объем, либо 1=коэффициент.
6.1.1. Если выбран 0, то устанавливаем величину постоянного объема.
6.1.2. Если выбран 1, то устанавливается коэффициент умножения каждого последующего лота, (данный и все последующие лоты умножаются на установленный коэффициент, который рассчитывается первоначально (для третьего лота) от объёма второго лота. Соответственно объем четвертого лота = третий лот х коэфициент).
7. Конец цикла -  устанавливаем ТП в пунктах от покупки последнего лота, который будет тралиться. (При достижении установленных пунктов, все ТП выставленные как БУ всех лотов данного цикла переставляются на уровень установленного трала.
7.1. Трал в пунктах, либо величина не менее 15, либо 0=нет тралла, устанавливается конкретный тп (для всех лотов данного цикла) в 15 пунктах от текущей цены.
8.Глубина (количество) следующих циклов - устанавливается количество первых ордеров для следующих циклов в обе стороны (ниже/выше  от цены первого лота)
8.1. Шаг глубины циклов в пунктах - устанавливается кол-во пунктов. 

9. Magic number (соответственно сова должна торговать на любой паре и любом ТФ)

"Цикл усреднения" :

1. Количество ТП в пунктах от усредненной цены по всем лотам (другими словами - БУ для всех имеющихся лотов в данном цикле).





Han respondido

1
Desarrollador 1
Evaluación
(351)
Proyectos
679
56%
Arbitraje
33
15% / 39%
Caducado
63
9%
Libre
2
Desarrollador 2
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
3
Desarrollador 3
Evaluación
(618)
Proyectos
1428
59%
Arbitraje
31
81% / 0%
Caducado
10
1%
Libre
4
Desarrollador 4
Evaluación
(69)
Proyectos
146
34%
Arbitraje
13
8% / 62%
Caducado
26
18%
Libre
Ha publicado: 6 ejemplos
5
Desarrollador 5
Evaluación
(23)
Proyectos
31
71%
Arbitraje
0
Caducado
1
3%
Libre
Ha publicado: 188 ejemplos
6
Desarrollador 6
Evaluación
(250)
Proyectos
460
26%
Arbitraje
140
20% / 59%
Caducado
100
22%
Trabaja
7
Desarrollador 7
Evaluación
(83)
Proyectos
154
29%
Arbitraje
1
100% / 0%
Caducado
27
18%
Libre
8
Desarrollador 8
Evaluación
(1)
Proyectos
4
25%
Arbitraje
1
0% / 100%
Caducado
1
25%
Libre
Ha publicado: 6 ejemplos
9
Desarrollador 9
Evaluación
(270)
Proyectos
552
49%
Arbitraje
57
40% / 37%
Caducado
227
41%
Trabaja
10
Desarrollador 10
Evaluación
Proyectos
1
0%
Arbitraje
0
Caducado
0
Libre
11
Desarrollador 11
Evaluación
(15)
Proyectos
68
46%
Arbitraje
6
0% / 100%
Caducado
6
9%
Libre
12
Desarrollador 12
Evaluación
(45)
Proyectos
105
30%
Arbitraje
8
25% / 50%
Caducado
40
38%
Libre
13
Desarrollador 13
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
14
Desarrollador 14
Evaluación
(574)
Proyectos
945
47%
Arbitraje
309
58% / 27%
Caducado
125
13%
Libre
15
Desarrollador 15
Evaluación
Proyectos
3
33%
Arbitraje
3
0% / 100%
Caducado
1
33%
Libre
16
Desarrollador 16
Evaluación
(64)
Proyectos
144
46%
Arbitraje
20
40% / 15%
Caducado
32
22%
Trabaja

Información sobre el proyecto

Presupuesto
10- USD