Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Пример кода CCI_Reversy.
Функция CalculateAllVolumes подсчитываем ОБЪЁМЫ позиций (volumne_buys, volumne_sells) и отложенных ордеров (volumne_buy_limits, volumne_sell_limits, volumne_buy_stops, volumne_sell_stops)
А вот отдельные функции для подсчёта ПОЗИЦИЙ и ОТЛОЖЕННЫХ ордеров (уже не помню из какого кода взято)
считает ТОЛЬКО Buy stop и Sell stop
считает ПОЗИЦИИ
Верна ли будет фукнция, если я хочу посчитать отложки по типу и магику без учета символа?
Здравствуйте! 99% роботов делаю на заказ под MT4, MT5 только пару раз просили. Поэтому, МТ5 не заморачивался. Возникла необходимость написать мультивалютного EA под МТ5. Столкнулся с банальной проблемой - как посчитать количество уже открытых ордеров. Казалось бы, уже должна быть какая-то готовая функция.... Но нет. Поиск и чтение доков показывает, что для написания чего-то простейщего на МТ5 надо написать портянку кода на 2 экрана. Чтобы сделать автолот, надо подключить 10 библиотек, чтоб открыть ордер, надо написать около 20 строк. Чтоб вытащить данные из индикатора это вообще песня с танцем на углях....
По сути вопроса. Вот такую, теоретически правильную функцию подсчета ордеров написал:
Однако, считает она непонятно что. При наличии БАЙ-ордера, показывает 0. При 15 селл ордерах, показывает что их 5. Может кто направит на путь? Прошу не писать "читай справку". Читаем
Здравствуйте! 99% роботов делаю на заказ под MT4, MT5 только пару раз просили. Поэтому, МТ5 не заморачивался. Возникла необходимость написать мультивалютного EA под МТ5. Столкнулся с банальной проблемой - как посчитать количество уже открытых ордеров. Казалось бы, уже должна быть какая-то готовая функция.... Но нет. Поиск и чтение доков показывает, что для написания чего-то простейщего на МТ5 надо написать портянку кода на 2 экрана. Чтобы сделать автолот, надо подключить 10 библиотек, чтоб открыть ордер, надо написать около 20 строк. Чтоб вытащить данные из индикатора это вообще песня с танцем на углях....
По сути вопроса. Вот такую, теоретически правильную функцию подсчета ордеров написал:
Однако, считает она непонятно что. При наличии БАЙ-ордера, показывает 0. При 15 селл ордерах, показывает что их 5. Может кто направит на путь? Прошу не писать "читай справку". Читаем и так.
Спасибо! Может пригодиться!
Спасибо! Может пригодиться!
Ток нифига не работает )
Ладно. Сам напишу )
Добрый день!
В моем советнике в MT5 нужно было подсчитать число ордеров. Счет с хеджированием.
И я пользуюсь вот такой процедурой:
int GetOrdersByType(ENUM_ORDER_TYPE OrderType)
{
ulong order_ticket;
int total=0;
for(int i=0;i<OrdersTotal();i++)
if((order_ticket=OrderGetTicket(i))>0)
if(OrderType==OrderGetInteger(ORDER_TYPE))
total++;
return(total);
}
Однако оказалось, что часто неверно определяется это количество.
Не могли бы вы подсказать, какие дополнительные проверки следует добавить?
С уважением, Александр
Добрый день!
В моем советнике в MT5 нужно было подсчитать число ордеров. Счет с хеджированием.
И я пользуюсь вот такой процедурой:
int GetOrdersByType(ENUM_ORDER_TYPE OrderType)
{
ulong order_ticket;
int total=0;
for(int i=0;i<OrdersTotal();i++)
if((order_ticket=OrderGetTicket(i))>0)
if(OrderType==OrderGetInteger(ORDER_TYPE))
total++;
return(total);
}
Однако оказалось, что часто неверно определяется это количество.
Не могли бы вы подсказать, какие дополнительные проверки следует добавить?
С уважением, Александр
вот пример делайте обратный цикл от большего к меньшему и позицию замените на ордер:
Добрый день!
В моем советнике в MT5 нужно было подсчитать число ордеров. Счет с хеджированием.
И я пользуюсь вот такой процедурой:
Проблема здесь:
То есть ORDER_TYPE нужно заменить на OrderType. Ведь первое - это константа, а второе - аргумент функции.
Проблема здесь:
То есть ORDER_TYPE нужно заменить на OrderType. Ведь первое - это константа, а второе - аргумент функции.
Функция
OrderGetIntegerочень удивляется на такую замену
Функция
очень удивляется на такую замену
Прошу прощения. Что-то я протупил, не о том подумал.