Lavoro terminato
Tempo di esecuzione 5 giorni
Feedback del dipendente
Спасибо за заказ! И оперативное тестирование.
Specifiche
Краткое описание зачем это:
Детальное ТЗ и алгоритм работы:
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)
Con risposta
1
Valutazioni
Progetti
233
61%
Arbitraggio
3
33%
/
33%
In ritardo
6
3%
Gratuito
Pubblicati: 1 codice
2
Valutazioni
Progetti
1429
59%
Arbitraggio
31
81%
/
0%
In ritardo
10
1%
Gratuito
3
Valutazioni
Progetti
103
39%
Arbitraggio
16
6%
/
94%
In ritardo
33
32%
Gratuito
Pubblicati: 1 codice
4
Valutazioni
Progetti
679
56%
Arbitraggio
33
15%
/
39%
In ritardo
63
9%
Gratuito
5
Valutazioni
Progetti
1001
47%
Arbitraggio
33
36%
/
36%
In ritardo
98
10%
Caricato
Pubblicati: 6 codici
6
Valutazioni
Progetti
106
52%
Arbitraggio
17
12%
/
65%
In ritardo
25
24%
Gratuito
Informazioni sul progetto
Budget
20- USD
Scadenze
a 5 giorno(i)