Торговый робот. Работа в канале. Канал вычисляется во внешней программа

MQL4 Uzmanlar

İş tamamlandı

Tamamlanma süresi: 18 gün

Şartname

Необходимо разработать торгового робота осуществляющего операции купли/продажи на основании информации о канале в рамках которого движется цена.

Под каналом подразумевается линия вдоль которой осуществляется движение валюты.  Канал ограничивается верхней и нижней линиями отстоящими от основной линии канала на расстоянии 3*сигма, где сигма – среднее квадратическое отклонение.

На рисунке ниже серым цветом обозначена основная линия канала. Красным и синим цветом обозначены линии отстоящие на расстоянии 1 сигма и 3 сигма.  Верхняя цветная линия обозначает верхнюю границу канала.

Общий алгоритм работы:

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

Если канал обнаружен, то робот прекращает запрашивать данные у внешней программы и приступает к реализации торговой стратегии внутри выявленного канала – формирует ордера на покупку или продажу в соответствии с предоставленной информацией. По факту закрытия ордеров, робот снова начинает запрашивать информацию о канале у внешней программы.

Робот и внешняя программа (далее  -ВП) синхронизируют свою работу посредством формирования файлов имеющих определенное имя:

Hist – файл содержащий исторические данные (время, цена открытия,  наибольшая , наименьшая, закрытия).  Глубина выгружаемых исторических данных должна задаваться в настройках

Wait – файл появляющийся когда робот сформировал файл hist и ожидает результатов расчетов от ВП.

Ready – формируется ВП. ВП удаляет файл Wait. Означает готовность нового файла Channel

Channel – файл содержащий сведения о канале: 

- две точки задающие линию канала  координаты точек передаются как время и цена)

- сигма

- знак канала = 1 если растущий, -1 если падающий 

ВП вызывается роботом через shell. Команда передаваемая от робота операционной система, должна задаваться в настройках робота.

Пример команды :  C:\prg\ChannelCalculator.exe

Стратегия торговли в случае обнаружения канала:

Если открыто ноль ордеров и цена между значений на  enterToMarket1 (параметр задается пользователем)*сигма и enterToMarket2*сигма, то открывается новый ордер. Покупка если текущая цена ниже линии канала, Продажа – если выше.

Если один ордер уже открыт и цена отстоит на 3*сигма от линии канала, то открывается второй ордер. Покупка если текущая цена ниже линии канала, Продажа – если выше.

Одновременно может быть открыто ноль, один или два ордера.

Если цена удалилась на stopLossLevel*сигма и общая прибыль по двум открытым ордерам отрицательная, то оба ордера закрываются.

Если открыто 2 ордера и их суммарная прибыль больше нуля, то оба ордера закрываются.

Если открыт 1 ордер , его прибыль больше нуля и цена отстоит на takeProfitLevel, то ордер закрывается.


Yanıtlandı

1
Geliştirici 1
Derecelendirme
(40)
Projeler
82
34%
Arabuluculuk
3
33% / 67%
Süresi dolmuş
15
18%
Serbest
Yayınlandı: 4 kod
2
Geliştirici 2
Derecelendirme
(45)
Projeler
105
30%
Arabuluculuk
8
25% / 50%
Süresi dolmuş
40
38%
Serbest
3
Geliştirici 3
Derecelendirme
(49)
Projeler
134
27%
Arabuluculuk
62
13% / 53%
Süresi dolmuş
58
43%
Serbest
Yayınlandı: 321 makale, 1 kod
4
Geliştirici 4
Derecelendirme
(11)
Projeler
15
7%
Arabuluculuk
3
100% / 0%
Süresi dolmuş
4
27%
Serbest
Yayınlandı: 2 kod
5
Geliştirici 5
Derecelendirme
(169)
Projeler
460
41%
Arabuluculuk
39
18% / 31%
Süresi dolmuş
193
42%
Serbest
Yayınlandı: 2 kod
6
Geliştirici 6
Derecelendirme
(36)
Projeler
58
47%
Arabuluculuk
1
0% / 100%
Süresi dolmuş
0
Serbest
7
Geliştirici 7
Derecelendirme
(72)
Projeler
147
67%
Arabuluculuk
21
10% / 71%
Süresi dolmuş
44
30%
Serbest
8
Geliştirici 8
Derecelendirme
(68)
Projeler
78
27%
Arabuluculuk
13
31% / 62%
Süresi dolmuş
15
19%
Serbest
Yayınlandı: 4 kod
9
Geliştirici 9
Derecelendirme
(9)
Projeler
10
60%
Arabuluculuk
1
0% / 100%
Süresi dolmuş
0
Serbest

Proje bilgisi

Bütçe