Необходимо доработать помощника для торговли

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

Необходимо доработать помощника для торговли. Имею мало опыта в программировании - понимаю язык, но придумать самому трудно.

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

 

Мне очень важно лично сесть с исполнителем и вместе писать этого помощника (работает как советник), чтобы самому понимать все операции, которые он совершает. 

 

Алгоритм следующий:

 

Пользователь выбирает тренд (bool) - вверх или вниз, вызывая советника на каждом отдельном инструменте.

Рабочий ТаймФрейм=Н1

Пользователь также вводит параметр N (Если советник будет искать Максимум, то это Количество свечей слева и справа одновременно, которые НИЖЕ этой точки, если Минимум, то соответственно, свечей, которые ВЫШЕ) 

 

extern int N=5; // Точка Демарка

extern bool TrendUp=False;


string Currency; // Инструмент


int init()

{ N=MathMax(N,2); N=MathMin(N,5); // Контроль входных параметров

  Currency=Symbol();

  return(0); }


int start()

{ if (Period()!=PERIOD_H1) { Alert("Не тот ТФ"); return(1); }

  double UP, DW, SPS, Depo=AccountBalance(), Lots;

  bool Bar=False; 

  int iMax=300, j=1, Round=Digits%2*9+1, SP=3*Round, K=300;

  while (j<iMax && !UP && !DW)

  { if (TrendUp==False && !UP && ArrayMaximum(High,2*N+1,j)==N+j) UP=High[N+j];

    if (TrendUp==True  && !DW && ArrayMinimum( Low,2*N+1,j)==N+j) DW= Low[N+j];

    j++; }

  for (int i=1; i<=20; i++) SPS+=High[i]-Low[i];

  SPS/=20;

  Lots=NormalizeDouble(Depo/SPS*Point/K/10,2);

  Lots=MathMax(Lots,MarketInfo(Currency,MODE_MINLOT)); Lots=MathMin(Lots,MarketInfo(Currency,MODE_MAXLOT));

  if (TrendUp==False) UP-=SPS; if (TrendUp==True) DW+=SPS;

  if ((TrendUp==True && Bid<UP) || (TrendUp==False && Bid>DW))

  { if (MathAbs(Close[1]-Open[1])<=30*Point) Bar=True;

    if (Bar==False)

    { if ((Close[1]-Open [1]>30*Point &&  Open[1]- Low [1]>1.62*(Close[1]- Open[1])) ||            // Белый молот, тень вниз. Тень больше тела более, чем в 1,62 раза

          ( Open[1]-Close[1]>30*Point && Close[1]- Low [1]>1.62*( Open[1]-Close[1])) ||            // Черный молот, тень вниз

          (Close[1]-Open [1]>30*Point &&  High[1]-Close[1]>1.62*(Close[1]- Open[1])) ||            // Белый молот, тень вверх

          ( Open[1]-Close[1]>30*Point &&  High[1]-Open [1]>1.62*( Open[1]-Close[1]))) Bar=True; }} // Черный молот, тень вверх


  if (Volume[0]==1 && Bar==True) // Открытие нового бара

  { if (TrendUp==True)  for (i=1; i<=10; i++) OrderSend(Currency,OP_BUY, Lots,Ask,SP,0,0);

    if (TrendUp==False) for (i=1; i<=10; i++) OrderSend(Currency,OP_SELL,Lots,Bid,SP,0,0); }

  Comment(Currency," / ",UP," / ",DW," / ",SPS/Point," / ",Lots);  

 

Далее, скрипт ищет разворотные свечи (описаны выше) и как только они появляются, входит в сторону тренда, указанную пользователем вначале.

 

Нужно вместе сесть и дописать алгоритм открытия позиций. С риск-менеджментом еще предстоит работа по оптимизации.

 

Работы на пару-тройку дней вместе посидеть несколько часов.

С меня кофе во время посиделок) 


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

1
Разработчик 1
Оценка
(34)
Проекты
55
31%
Арбитраж
8
0% / 63%
Просрочено
13
24%
Свободен
Опубликовал: 22 статьи, 1 пример
2
Разработчик 2
Оценка
(265)
Проекты
595
35%
Арбитраж
64
20% / 58%
Просрочено
147
25%
Свободен
Опубликовал: 1 статью, 22 примера
3
Разработчик 3
Оценка
(15)
Проекты
68
46%
Арбитраж
6
0% / 100%
Просрочено
6
9%
Свободен
4
Разработчик 4
Оценка
(270)
Проекты
552
49%
Арбитраж
58
40% / 36%
Просрочено
228
41%
Работает
5
Разработчик 5
Оценка
(169)
Проекты
460
41%
Арбитраж
39
18% / 31%
Просрочено
193
42%
Свободен
Опубликовал: 2 примера
6
Разработчик 6
Оценка
(71)
Проекты
254
53%
Арбитраж
16
50% / 38%
Просрочено
83
33%
Свободен
7
Разработчик 7
Оценка
(106)
Проекты
189
46%
Арбитраж
34
24% / 41%
Просрочено
58
31%
Свободен
Опубликовал: 12 примеров
8
Разработчик 8
Оценка
(2)
Проекты
2
100%
Арбитраж
1
0% / 100%
Просрочено
0
Свободен
9
Разработчик 9
Оценка
(187)
Проекты
367
56%
Арбитраж
45
22% / 56%
Просрочено
188
51%
Свободен
Опубликовал: 1 статью, 6 примеров
10
Разработчик 10
Оценка
(49)
Проекты
134
27%
Арбитраж
62
13% / 53%
Просрочено
58
43%
Свободен
Опубликовал: 271 статью, 1 пример
11
Разработчик 11
Оценка
(72)
Проекты
147
67%
Арбитраж
21
10% / 71%
Просрочено
44
30%
Свободен
12
Разработчик 12
Оценка
Проекты
0
0%
Арбитраж
0
Просрочено
0
Свободен

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

Бюджет
500 - 1500 USD
Сроки выполнения
от 5 до 20 дн.