Trabajo finalizado
Plazo de ejecución 9 días
Comentario del Ejecutor
Отличный заказчик. Проявил терпение, когда возникли трудности (что привело к задержке написания советника). Рекомендую к сотрудничеству.
Tarea técnica
В наличии имеется советник, который работает на реале полгода, ошибок нету.
Нужно доработать данный советник, то есть к существующему алгоритму добавить ещё приличный кусок кода согласно ТЗ.
Краткое описание алгоритма работы советника.
Основные настройки советника:
Min_MinWidth - допустимый минимум минимальной ширины канала в пунктах;
BeginLot - начальный лот;
Kof - коэффициенты увеличения лота.
Для открытия первого ордера в серии используется индикатор.
Для открытия второго и последующих ордеров используется следующая схема.
Например, первый ордер бай. Если цена идёт в противоположном направлении,
то значить второй ордер через определённое количество пунктов откроется в селл увеличенным лотом.
Если цена пошла в противоположном направлении, то откроется бай ордер, и так далее, пока не будет
набрана определённая прибыль, после чего советник закрывает всю серию ордеров.
Количество ордеров в серии определяется количеством прописанных коэффициентов в настройках Kof.
Эти же коэффициенты и определяют объёмы для ордеров в серии. Для каждого сигнала индикатора открывается
своя серия ордеров. Например, индикатор подал сигнал, открылся ордер с магиком ХХХ, далее если есть
определённые условия, то советник будет открывать другие ордера в серии с тем же магиком ХХХ по указанной выше схеме
(бай-селл-бай-селл-...). Но в любое время индикатор может подать сигнал для открытия нового ордера, и если не закрыта
первая серия ордеров, то для второго сигнала будет открыт ордер с магиком ХХХ+1, для третьего сигнала индикатора будет
открыт ордер с магиком ХХХ+3 и т.д.
Бывают случаи, когда открыта полная серия ордеров для одного сигнала, но цена идёт против советника.
В таком случае нужно доработать алгоритм.
Нужно сделать так, чтобы советник закрывал всю серию ордеров, кроме последнего ордера, если серия ордеров (кроме последнего ордера)
достигла указанной прибыли в валюте депозита (новая настройка в советнике Prib_Z). Например,
открыта серия ордеров 0,1 бай; 0,2 селл; 0,3 бай; 0,5 селл; 0,8 бай. То есть в данном примере советник закрывает серию ордеров,
когда вся серия наберёт определённую прибыль, что возможно только если цена пойдёт в направлении бай.
Нужно доработать алгоритм советника следующим образом. Продолжая вышеуказанный пример, допустим что цена
пошла в сторону селл, допустим, что Prib_Z = 10. Значит если вся серия ордеров, кроме последнего ордера (0,8 бай)
набрала прибыль 10 долларов (Prib_Z = 10), то советник закрывает эту серию ордеров (кроме последнего ордера 0,8 бай).
Далее нужно сделать новую настройку Step_Bez (шаг в пунктах для вывода в безубыток последнего оставшегося ордера в рынке 0,8 бай)
и Lot_Bez (лот для ордера для вывода в безубыток последнего оставшегося ордера в рынке 0,8 бай).
А также новая настройка Prib_Bez (прибыль в валюте депозита, при достижении которой советник закроет оставшиеся ордера серии).
Например, остался открытый ордер 0,8 бай, Step_Bez = 1000 (количество пипсов для 5-значных котировок); Lot_Bez=0,4; Prib_Bez = 10.
После того, как цена достигнет 1000 пипсов от оставшегося ордера 0,8 бай, откроется ордер 0,4 бай, и после этого,
если суммарная прибыль по этим ордерам (0,8 бай и 0,4 бай) достигнет прибыли 10 долларов (Prib_Bez = 10, с учётом комиссий и свопов),
то советник закроет эти ордера.
Может возникнуть ситуация, если останется 0,8 бай, но цена не достигнет уровня Step_Bez для открытия нового ордера,
тогда советник должен закрыть 0,8 бай, если этот ордер достигнет прибыли Prib_Bez.
Если (в нашем примере) советник открыл 0,4 бай (Lot_Bez=0,4), но цена продолжает двигаться в сторону селл, то через определённое в настройках
расстояние Kof_Step_Bez (коэффициент шага в пипсах), советник открывает новый ордер объёмом Kof_Lot_Bez (коэффициент лота). Например, продолжая
наш пример, Kof_Step_Bez = 1,2; Kof_Lot_Bez = 1,5. Значит через 1200 пипсов (Step_Bez*Kof_Step_Bez=1000*1,2) советник откроет ордер 0,6 лотов
(Lot_Bez*Kof_Lot_Bez=0,4*1,5). И далее советник будет ждать, когда серия ордеров 0,8 бай, 0,4 бай, 0,6 бай достигнет прибыли Prib_Bez, и тогда
советник закроет всю серию ордеров. Если цена продолжит движение в сторону селл, то советник будет продолжать открывать ордера,
через расстояние Kof_Step_Bez (в нашем примере Kof_Step_Bez = 1,2, значить следующим уровнем открытия ордера будет 1440 пипсов =1200*1,2
от ордера 0,6 бай), объёмом Kof_Lot_Bez (в нашем примере Kof_Lot_Bez = 1,5, значит ордер откроется 0,9 лотов = 0,6*1,5) и так далее.
Ограничением на количество ордеров будет переменная Max_ord.
Han respondido
1
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
2
Evaluación
Proyectos
164
43%
Arbitraje
43
47%
/
16%
Caducado
58
35%
Libre
Ha publicado: 1 ejemplo
3
Evaluación
Proyectos
20
30%
Arbitraje
7
14%
/
57%
Caducado
2
10%
Libre
4
Evaluación
Proyectos
55
31%
Arbitraje
8
0%
/
63%
Caducado
13
24%
Libre
Ha publicado: 22 artículos, 1 ejemplo
Información sobre el proyecto
Presupuesto
50 - 150 USD
Plazo límite de ejecución
de 3 a 10 día(s)