Нужен робот на основании индикатора RSI. Смотрите задание

MQL5 Uzmanlar

İş tamamlandı

Tamamlanma süresi: 5 gün
Geliştirici tarafından geri bildirim
Благодарю
Müşteri tarafından geri bildirim
Отличная работа! Всё выполнено в срок с пояснениями по возникающим вопросам.

Şartname

Условие "ВремяПроверкиУровня"
Это часть алгоритма, которая будет много раз использоваться
Когда RSI пересекла заданный в параметре уровень 70(или 80) и выше, сделать условие, что сделка открывается, если:
а) уровень RSI>=70(или 80) в течение 40 секунд. Если в течение этого времени RSI в какой-то момент опускается ниже 70(или 80), то отсчёт 40 секунд начинается заново.
или
б) величина отклонения от уровня RSI 70 (или 80) больше или равно 5 (то есть значение RSI>=75(или 85)).
(Используем здесь заданные далее в алгоритме параметры 
Параметр "Уровень RSI при открытии 1 или 2" (по умолчанию 70);
Параметр "Условие "ВремяПроверкиУровня" при открытии 1 или 2" (по умолчанию 40 секунд))


А это сам алгоритм:
Блок 1.
Условия для сделки на покупку.
Выполняем Алгоритм Покупка:
[Если RSI дошёл до уровня 70, тогда открываем сделку.  Применяем здесь условие "ВремяПроверкиУровня"
В параметрах дать возможность менять:
"Уровень RSI при открытии 1" (по умолчанию 70)
"Условие "ВремяПроверкиУровня" при открытии 1" (по умолчанию 40 секунд)
"Величина отклонения от уровня RSI" (по умолчанию 5)

Фиксируем, на какой свече открылась эта сделка(это, получается 1-ая по счёту свеча) и отсчитываем начиная от неё 11 свечей. И далее, когда открывается 12 свеча, фиксируем уровень RSI при открытии этой свечи. Если в этот момент RSI < 70 ("Параметр Уровень RSI при открытии 1"), тогда закрываем сделку.
В параметрах дать возможность менять:
"Число свечей после открытия сделки" (по умолчанию 11)

Если в период, когда отсчитываются эти 11 свечей, RSI опускается до 50, тогда закрываем сделку досрочно.

Далее, если условия для закрытия сделки в течение 11 свечей не выполнились и всё также RSI >= 70 ("Параметр Уровень RSI при открытии 1"), тогда ждём, пока RSI не опустится обратно до уровня 70 ("Параметр Уровень RSI при открытии 1"), и после этого закрываем сделку. Применяем при закрытии условие "ВремяПроверкиУровня"
(Используем заданные ранее 
Параметр "Уровень RSI при открытии 1" (по умолчанию 70);
Параметр "Условие "ВремяПроверкиУровня" при открытии 1" (по умолчанию 40 секунд))
Фиксируем свечу, на которой закрылась сделка. Это свеча закрытия.]
Конец алгоритма Покупка.
В параметрах дать возможность менять:
"Условие "ВремяПроверкиУровня" при закрытии" (по умолчанию 20 секунд)

После закрытия сделки от свечи закрытия, которую принимаем как 1-ую по счёту, отсчитываем 12 свечей. И далее, когда открывается 13 свеча, фиксируем уровень RSI при открытии этой свечи. Если RSI>=70 ("Параметр Уровень RSI при открытии 1"), тогда открываем новую сделку.
Если во время отсчёта 12 свечей RSI дошёл до уровня 75 и выше, тогда открываем сделку досрочно в этот момент. Применяем здесь для уровня RSI 75 условие "ВремяПроверкиУровня" 
(Используем заданные ранее 
Параметр "Уровень RSI при открытии 1" (по умолчанию 70);
Параметр "Условие "ВремяПроверкиУровня" при открытии 1" (по умолчанию 40 секунд))
В параметрах дать возможность менять:
"Уровень RSI для неоткрытой сделки Покупка" (по умолчанию 75)
"Число свечей до открытия сделки" (по умолчанию 12)
Далее после открытия сделки снова выполняем Алгоритм Покупка (или Алгоритм Продажа, он описан далее).



Аналогичные условия для сделки на продажу:
Выполняем Алгоритм Продажа:
[Если RSI дошёл до уровня 30, тогда открываем сделку.  Применяем здесь условие "ВремяПроверкиУровня"
В параметрах дать возможность менять:
"Уровень RSI при открытии 2" (по умолчанию 30)
"Условие "ВремяПроверкиУровня" при открытии 2" (по умолчанию 40 секунд)
"Величина отклонения от уровня RSI" (по умолчанию 5)

Фиксируем, на какой свече открылась эта сделка(это, получается 1-ая по счёту свеча) и отсчитываем начиная от неё 11 свечей. И далее, когда открывается 12 свеча, фиксируем уровень RSI при открытии этой свечи. Если RSI > 30 ("Параметр Уровень RSI при открытии 1"), тогда закрываем сделку.
В параметрах дать возможность менять:
"Число свечей после открытия сделки" (по умолчанию 11)

Если в период, когда отсчитываются эти 6 свечей, RSI поднимается до 50, тогда закрываем сделку досрочно.

Далее, если условия для закрытия сделки в течение 11 свечей не выполнились и всё также RSI <= 30 ("Параметр Уровень RSI при открытии 1"), тогда ждём, пока RSI не опустится обратно до уровня 30 ("Параметр Уровень RSI при открытии 1"), и после этого закрываем сделку. Применяем при закрытии условие "ВремяПроверкиУровня".
(Используем заданные ранее 
Параметр "Уровень RSI при открытии 2" (по умолчанию 70);
Параметр "Условие "ВремяПроверкиУровня" при открытии 2" (по умолчанию 40 секунд))
Фиксируем свечу, на которой закрылась сделка. Это свеча закрытия.]
Конец алгоритма Продажа.
В параметрах дать возможность менять:
"Условие "ВремяПроверкиУровня" при закрытии" (по умолчанию 20 секунд)

После закрытия сделки от свечи закрытия, которую принимаем как 1-ую по счёту, отсчитываем 12 свечей. И далее, когда открывается 13 свеча, фиксируем уровень RSI при открытии этой свечи. Если RSI<=30 ("Параметр Уровень RSI при открытии 1"), тогда открываем новую сделку.
Если во время отсчёта 12 свечей RSI дошёл до уровня 25 и ниже, тогда открываем сделку досрочно в этот момент. Применяем здесь для уровня RSI 25 условие "ВремяПроверкиУровня".
(Используем заданные ранее 
Параметр "Уровень RSI при открытии 2" (по умолчанию 70);
Параметр "Условие "ВремяПроверкиУровня" при открытии 2" (по умолчанию 40 секунд)) 
Далее после открытия сделки снова выполняем Алгоритм Продажа.
В параметрах дать возможность менять:
"Уровень RSI для неоткрытой сделки Продажа" (по умолчанию 25)
"Число свечей до открытия сделки" (по умолчанию 12)


Блок 2.
При пересечении RSI уровня 80 открываем сделку на покупку. Применяем условие "ВремяПроверкиУровня"
В параметрах дать возможность менять:
Уровень RSI при открытии Блок 2 Покупка (по умолчанию 80)
Условие "ВремяПроверкиУровня" при открытии Блок 2 Покупка (по умолчанию 40 секунд)
"Величина отклонения от уровня RSI" Покупка (по умолчанию 5)

Закрываем, когда RSI<=70. Применяем условие "ВремяПроверкиУровня" 
В параметрах дать возможность менять:
Уровень RSI при закрытии Блок 2 Покупка (по умолчанию 70)
Условие "ВремяПроверкиУровня" при закрытии Покупка (по умолчанию 20 секунд)
"Величина отклонения от уровня RSI" Покупка (по умолчанию 5)

Аналогичные условия для сделки на продажу:
При пересечении RSI уровня 20 открываем сделку на продажу. Применяем условие "ВремяПроверкиУровня"
В параметрах дать возможность менять:
Уровень RSI при открытии Блок 2 Продажа (по умолчанию 20)
Условие "ВремяПроверкиУровня" при открытии Блок 2 Продажа (по умолчанию 40 секунд)
"Величина отклонения от уровня RSI" Продажа (по умолчанию 5)

Закрываем, когда RSI>=30. Применяем условие "ВремяПроверкиУровня" 
В параметрах дать возможность менять:
Уровень RSI при закрытии Блок 2 Продажа (по умолчанию 30)
Условие "ВремяПроверкиУровня" при закрытии Блок 2 Продажа (по умолчанию 20 секунд)
"Величина отклонения от уровня RSI" Продажа (по умолчанию 5)

В 23:59 закрываем все сделки. Предусмотреть параметр, в котором эту цифру можно менять.
С 23:55 и позже новые сделки не открываем. Предусмотреть параметр, в котором эту цифру можно менять.

Все названия переменных приведены для примера, названия можно придумать свои.

Yanıtlandı

1
Geliştirici 1
Derecelendirme
(224)
Projeler
284
20%
Arabuluculuk
5
0% / 100%
Süresi dolmuş
4
1%
Serbest
2
Geliştirici 2
Derecelendirme
(580)
Projeler
671
32%
Arabuluculuk
42
45% / 45%
Süresi dolmuş
12
2%
Yüklendi
3
Geliştirici 3
Derecelendirme
(87)
Projeler
131
22%
Arabuluculuk
7
57% / 0%
Süresi dolmuş
33
25%
Serbest
Yayınlandı: 1 kod
4
Geliştirici 4
Derecelendirme
(81)
Projeler
141
52%
Arabuluculuk
5
80% / 0%
Süresi dolmuş
6
4%
Serbest
5
Geliştirici 5
Derecelendirme
(69)
Projeler
146
34%
Arabuluculuk
13
8% / 62%
Süresi dolmuş
26
18%
Serbest
Yayınlandı: 6 kod
6
Geliştirici 6
Derecelendirme
(298)
Projeler
477
40%
Arabuluculuk
105
40% / 24%
Süresi dolmuş
81
17%
Yüklendi
Yayınlandı: 2 kod
7
Geliştirici 7
Derecelendirme
(54)
Projeler
102
23%
Arabuluculuk
12
25% / 17%
Süresi dolmuş
13
13%
Serbest

Proje bilgisi

Bütçe
70+ USD