Tâche terminée
Temps d'exécution 5 jours
Commentaires de l'employé
Спасибо за заказ! И оперативное тестирование.
Spécifications
Краткое описание зачем это:
Детальное ТЗ и алгоритм работы:
1. В советник я вставлю такую проверку сам, мне главное сделать функцию,
куда я передаю нужные параметры, там проводятся все проверки,
и функция возвращает - 1 или 0 (можно или нельзя торговать).
2. В функцию (например IsThisCurrencyTradeAllowed (N,M,String) ) передаем 3 параметра :
число N (1-5), число M (5-10) и текстовую переменную равную "Sell" или "Buy".
3. Эта функция делает так:
-- берет имя текущей пары (где запущена), например EURUSD
(например
EURGBP, Buy
-- раскладывает текущую пару EURUSD на EUR и USD
для валюты USD - считаем сколько ордеров открыто для AUDUSD (например 9),
В
существующем советнике (сеточный, который работает одновременно на
нескольких парах на одном счете) нужно ограничить открытие новых ордеров
по паре,
если одна из валют в этой паре уже торгуется на этом счете на
других парах.
Детальное ТЗ и алгоритм работы:
1. В советник я вставлю такую проверку сам, мне главное сделать функцию,
куда я передаю нужные параметры, там проводятся все проверки,
и функция возвращает - 1 или 0 (можно или нельзя торговать).
2. В функцию (например IsThisCurrencyTradeAllowed (N,M,String) ) передаем 3 параметра :
число N (1-5), число M (5-10) и текстовую переменную равную "Sell" или "Buy".
3. Эта функция делает так:
-- берет имя текущей пары (где запущена), например EURUSD
-- берет из параметров направление, которое проверяется (например "Buy")
-- берет список всех ордеров, открытых на счете, и направление этих ордеров(например
EURGBP, Buy
USDCAD, Sell
EURGBP, Buy
AUDUSD, Buy
CHFEUR, Sell
EURAUD, Sell
CHFEUR, Sell
EURAUD, Sell
AUDCAD, Sell
AUDUSD, Buy
USDJPY, Sell
USDCAD, Sell
USDCAD, Sell
USDCAD, Sell
..........
.......... )
.......... )
-- раскладывает текущую пару EURUSD на EUR и USD
и берет направление из параметров (например "Buy")
Получается для первой части имени пары ( у нас это EUR ) - у нас операция Buy,
а для второй части имени пары USD в паре EURUSD соответственно получается как-бы Sell.
--
из списка открытых на счете ордеров смотрит какие открыты пары с
валютой EUR направленой на Buy и с валютой USD направленой на Sell.
-- считает количество ордеров в каждой из таких пар
(отдельно считает для каждой валюты ( в примере EUR и USD) для каждой пары, которая попадает под выше-описаные условия.
т.е. если брать из примера, учитывая направления:
по первой валюте EUR : сколько ордеров в паре EURGBP , сколько в паре CHFEUR
по первой валюте EUR : сколько ордеров в паре EURGBP , сколько в паре CHFEUR
по второй валюте USD: сколько в AUDUSD, cколько в USDJPY, в USDCAD
-- считаем сколько пар по каждой из двух валют (в примере это EUR и USD)
имеют ордеров больше или равное "M" (параметр к функции),
имеют ордеров больше или равное "M" (параметр к функции),
т.е.:
для валюты EUR - считаем сколько ордеров открыто для EURGBP (например 3),
для валюты EUR - считаем сколько ордеров открыто для EURGBP (например 3),
сколько открыто для CHFEUR (например 8)
для валюты USD - считаем сколько ордеров открыто для AUDUSD (например 9),
сколько открыто для USDJPY (например 6), сколько в USDCAD (например 3)
Дальше, если переменная "M" == 6
То для валюты EUR ответ - 1 пара имеют ордеров больше или равное "M" (=6)
То для валюты USD ответ - 2 пары имеют ордеров больше или равное "M" (=6)
То для валюты USD ответ - 2 пары имеют ордеров больше или равное "M" (=6)
-- если посчитали и получили что это количество по любой из валют (или EUR или USD )
больше или равно N (параметр к функции),
то функция возвращает результат = 0 (больше по данной валюте (EURUSD) не торгуем)
если это количество меньше чем N , то функция возвращает результат = 1 (можно торговать)
В качестве результата, чтобы легко можно было тестировать эту функцию,
мне надо сделать советник, в котором стоит только вызов этой функции
IsThisCurrencyTradeAllowed (N,M,String)
а переменные эти берутся из параметров советника (которые пользователь может вводить через интерфейс терминала.)
мне надо сделать советник, в котором стоит только вызов этой функции
IsThisCurrencyTradeAllowed (N,M,String)
Répondu
1
Évaluation
Projets
233
61%
Arbitrage
3
33%
/
33%
En retard
6
3%
Gratuit
Publié : 1 code
2
Évaluation
Projets
1429
59%
Arbitrage
31
81%
/
0%
En retard
10
1%
Gratuit
3
Évaluation
Projets
103
39%
Arbitrage
16
6%
/
94%
En retard
33
32%
Gratuit
Publié : 1 code
4
Évaluation
Projets
679
56%
Arbitrage
33
15%
/
39%
En retard
63
9%
Gratuit
5
Évaluation
Projets
1001
47%
Arbitrage
33
36%
/
36%
En retard
98
10%
Chargé
Publié : 6 codes
6
Évaluation
Projets
106
52%
Arbitrage
17
12%
/
65%
En retard
25
24%
Gratuit
Informations sur le projet
Budget
20- USD
Délais
à 5 jour(s)