Ответить
12.11.2010, 15:09
Аватар для aspirine
aspirine aspirine вне форума Интересующийся
Регистрация: 19.12.2009 / Сообщений: 28
Поблагодарили 6 раз(а) / Репутация: 4

По умолчанию Последний ордер

Здравствуйте!
такая ситуация: есть куча открытых рыночных и отложенных ордеров, бай и селл, как из них выбрать последний РЫНОЧНЫЙ ордер?
12.11.2010, 15:36
Аватар для exhumer
exhumer exhumer вне форума Активный участник
Регистрация: 26.07.2010 / Адрес: Тамбов / Сообщений: 88
Поблагодарили 126 раз(а) / Репутация: 127
я вот так решил эту задачку


PHP код:
int GetLastOrder(string sym,int magic)
   {
   
int ticket=0;
   for(
int i=0;i<OrdersTotal();i++)
     {
      if(
OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(
OrderType()>1) continue;
      if(
OrderMagicNumber()!=magic) continue;
      if(
OrderSymbol()!=sym) continue;
         
ticket=OrderTicket();
     }
     
//if(ticket==0) Alert("Its so strange... GetLastOrder return zero result!!!");
   
   
return(ticket);
   } 
возвращает тикет последнего ордера по заданному мейджику и символу. ищет только среди op_buy и op_sell (if(OrderType()>1) continue; ). если надо и среди отложек, то уберите эту строчку и все.
соответственно для себя подправите, если что.
12.11.2010, 20:57
Аватар для aspirine
aspirine aspirine вне форума Интересующийся
Регистрация: 19.12.2009 / Сообщений: 28
Поблагодарили 6 раз(а) / Репутация: 4
у меня выбирает только первый ордер селл и бай, а дальше ступор при этом постоянно выдает ошибку 4107
13.11.2010, 07:05
Аватар для exhumer
exhumer exhumer вне форума Активный участник
Регистрация: 26.07.2010 / Адрес: Тамбов / Сообщений: 88
Поблагодарили 126 раз(а) / Репутация: 127
надо код смотреть... 4107 - это ERR_INVALID_PRICE_PARAM.
покажите кусок кода, где выбираетет ордера, может что проглядели.
13.11.2010, 07:06
Аватар для exhumer
exhumer exhumer вне форума Активный участник
Регистрация: 26.07.2010 / Адрес: Тамбов / Сообщений: 88
Поблагодарили 126 раз(а) / Репутация: 127
у меня выбирает только первый ордер селл и бай, а дальше ступор при этом постоянно выдает ошибку 4107
видимо после выбора ордера Вы с ним что-то делаете, раз он на цену ругается... ибо данная ошибка возникает в OrderClose, OrderModify, OrderSend когда неверно выбрана цена, например бид с аском перепутан.

Вы просто выбирайте OrderSelect-ом и параметры читайте, а с ордерами ничего не делайте.
Функция, которую я Вам показал должна работать, ибо я ее из своей вполне рабочей программы выдрал
13.11.2010, 13:14
Аватар для aspirine
aspirine aspirine вне форума Интересующийся
Регистрация: 19.12.2009 / Сообщений: 28
Поблагодарили 6 раз(а) / Репутация: 4
Я разобрался, спасибо за отклик.
Ответить


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перед открытием фондового рынка: последний день недели начнется без определенной тенденции Алексей Новости, обзоры, рекомендации 0 09.07.2010 14:40
Перед открытием фондового рынка: последний день квартала начнется снижением основных индексов Алексей Новости, обзоры, рекомендации 0 01.07.2010 14:50
Последний торговый час сессии Wall Street встречает со следующими показателями: Dow +38 пп до 10,988.06, а Nasdaq +11 пп Алексей Новости, обзоры, рекомендации 0 09.04.2010 20:20
В последний час торгов Dow торгуется около нейтральной линии, с потерей всего в 7 пунктов. Nasdaq остается на 6 пунктов выше нейтральной линии. Алексей Новости, обзоры, рекомендации 0 08.03.2010 20:50


Текущее время: 12:21. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO