По детальному алгоритму - написать одну функцию советника MQL4

MQL4 Эксперты

Работа завершена

Время выполнения 5 дней
Отзыв от исполнителя
Спасибо за заказ! И оперативное тестирование.

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

Краткое описание зачем это:

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

Но не просто, а с условиями такими - торгуется больше чем в N парах и в каждой из этих пар открыто больше чем M ордеров и торгуется в том же направлении, что и планируемый новый ордер.

Детальное ТЗ и алгоритм работы:

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
AUDCAD, Sell
AUDUSD, Buy
USDJPY, Sell
USDCAD, Sell
USDCAD, Sell
..........
..........   )

-- раскладывает текущую пару EURUSD на EUR и USD
и берет направление из параметров (например "Buy")
Получается для первой части имени пары ( у нас это EUR ) - у нас операция Buy,
а для второй части имени пары USD в паре EURUSD соответственно получается как-бы Sell.

-- из списка открытых на счете ордеров смотрит какие открыты пары с валютой EUR направленой на Buy и с валютой USD направленой на Sell.

-- считает количество ордеров в каждой из таких пар
(отдельно считает для каждой валюты ( в примере  EUR и USD) для каждой пары, которая попадает под выше-описаные условия.
т.е. если брать из примера, учитывая направления:
по первой валюте EUR : сколько ордеров в паре EURGBP , сколько в паре CHFEUR
по второй валюте USD: сколько в AUDUSD, cколько в USDJPY, в USDCAD

-- считаем сколько пар по каждой из двух валют (в примере это EUR и USD)
имеют ордеров больше или равное "M" (параметр к функции),

т.е.:
для валюты EUR - считаем сколько ордеров открыто для EURGBP (например 3),
сколько открыто для CHFEUR (например 8)

для валюты USD - считаем сколько ордеров открыто для AUDUSD (например 9),
сколько открыто для USDJPY (например 6), сколько в USDCAD (например 3)

Дальше, если переменная "M" == 6
То для валюты EUR ответ - 1 пара имеют ордеров больше или равное "M" (=6)
То для валюты USD ответ - 2 пары имеют ордеров больше или равное "M" (=6)

-- если посчитали и получили что это количество по любой из валют (или EUR или USD )
больше или равно N (параметр к функции),
то функция возвращает результат = 0  (больше по данной валюте (EURUSD) не торгуем)
если это количество меньше чем N , то функция возвращает результат = 1 (можно торговать)


В качестве результата, чтобы легко можно было тестировать эту функцию,
мне надо сделать советник, в котором стоит только вызов этой функции
IsThisCurrencyTradeAllowed (N,M,String) 
а переменные эти берутся из параметров советника (которые пользователь может вводить через интерфейс терминала.)

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

1
Разработчик 1
Оценка
(174)
Проекты
232
61%
Арбитраж
3
33% / 33%
Просрочено
6
3%
Свободен
Опубликовал: 1 пример
2
Разработчик 2
Оценка
(618)
Проекты
1428
59%
Арбитраж
31
81% / 0%
Просрочено
10
1%
Свободен
3
Разработчик 3
Оценка
(34)
Проекты
103
39%
Арбитраж
16
6% / 94%
Просрочено
33
32%
Свободен
Опубликовал: 1 пример
4
Разработчик 4
Оценка
(351)
Проекты
679
56%
Арбитраж
33
15% / 39%
Просрочено
63
9%
Свободен
5
Разработчик 5
Оценка
(630)
Проекты
995
47%
Арбитраж
33
36% / 36%
Просрочено
98
10%
Работает
Опубликовал: 6 примеров
6
Разработчик 6
Оценка
(40)
Проекты
106
52%
Арбитраж
17
12% / 65%
Просрочено
25
24%
Свободен
Похожие заказы
Советник нужен полноценный, хотя он нужен для поиска закономерностей. Так как я в первый раз заказываю советник, то нужен опытный человек, который сможет направить (подсказать) по составлению грамотного ТЗ. Желательно чтобы исполнитель был русскоязычным, так как я с России. Всем благ
Нужен советник на золото , закинул скрин каком принципе . На mt5, и что бы код был бы свободный , смогбы его доработать . Встроенный стоп лосс, тайк профит , интерфейс .что бы автоматически открывал и закрывал позиции
Ищу для покупки исходный код адекватного торгового робота на долгосрок. Интересуют только прозрачные алгоритмы с понятным обоснованием входов и выходов. Сразу мимо: мартингейл, сеточники, усреднения убытков и торговля без стопов. Каждая сделка должна быть защищена расчетным или фиксированным Stop Loss. В приоритете системы, работающие по тренду, на пробой импульса или возврат к среднему. Чтобы начать предметный
Начало с двойного (считается нулевым), на следующем шаге сетки в любую сторону закрывается профитный ордер и открывается новая пара; таким образом: либо с одного края сетки, либо с двух всегда остаётся двойной ордер; при перевороте позиций открывается тройной ордер одинакового объёма (два ордера в сторону тренда и один в обратную) : расстояние профитов рассчитывается от крайнего двойного (против тренда), а после
enum ENUM_VOLUME { VOLUME_FIXED, VOLUME_PERCENT, VOLUME_MONEY, }; enum ENUM_CALC_MODE { CALC_MODE_OFF, CALC_MODE_FACTOR, CALC_MODE_PERCENT, CALC_MODE_POINTS, }; enum ENUM_TSL_MODE { TSL_MODE_OFF, TSL_MODE_PERCENT, TSL_MODE_POINTS, }; //+------------------------------------------------------------------------------------------------------------------+ //|
Ищем разработчика-партнёра MQL5 / Forex EA Ищем не просто исполнителя “написать советник по ТЗ”, а разработчика-партнёра , который уже работает с MQL5 / Forex , имеет свои наработки, рабочие стратегии, опыт тестирования и оптимизации советников . Формат сотрудничества Мы выступаем как селлеры и партнёры по продвижению : берём на себя упаковку, продажи, привлечение клиентов; заинтересованы в долгосрочном

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

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