Торговые функции QPILE
Или отправка транзакций. Это вторая большая сложность, с которой сталкивается программист, создающий торговый робот на QPILE, после получения котировок . Дело в том, что в QUIK доступны сотни инструментов на разных площадках, несколько типов заявок. Если это все перемножить и добавить количество вариантов цен — получим бесконечное количество параметров! Именно для этого был разработан механизм отправки транзакций, учитывающий все эти параметры. Для начала рассмотрим сам код QPILE торговой функции:
Код на QPILE доступен только зарегистрированным пользователям.
Заметили, что все переменные для отправки транзакции должны быть в текстовом формате? Именно для этого мы объединяем их с пустой строкой в коде.
Исполнив данный код, QUIK купит 10 лотов RIM9 по цене 70100. Вначале появится заявка в таблице заявок, затем она поменяет статусы с «активна» на «исполняется» и «исполнена». Появится соответствующая запись в таблице сделок, вобщем все ровно также, как если бы мы торговали «ручками». Код универсален, с помощью него можно отправлять любые варианты транзакций, главное правильно использовать нужные параметры.
Теперь вернемся к сонму вариантов значений параметров транзакции. Все они могут принимать вот такие значения:
CLASSCODE Код класса, по которому выполняется транзакция, например EQBR. Обязательный параметр
SECCODE Код инструмента, по которому выполняется транзакция, например EESR
ACTION Вид транзакции, имеющий одно из следующих значений:
- «NEW_ORDER» — новая заявка,
- «NEW_NEG_DEAL» — новая заявка на внебиржевую сделку,
- «NEW_REPO_NEG_DEAL» – новая заявка на сделку РЕПО,
- «NEW_EXT_REPO_NEG_DEAL» — новая заявка на сделку модифицированного РЕПО (РЕПО-М),
- «NEW_STOP_ORDER» — новая стоп-заявка,
- «KILL_ORDER» — снять заявку,
- «KILL_NEG_DEAL» — снять заявку на внебиржевую сделку или заявку на сделку РЕПО,
- «KILL_STOP_ORDER» — снять стоп-заявку,
- «KILL_ALL_ORDERS» – снять все заявки из торговой системы,
- «KILL_ALL_STOP_ORDERS» – снять все стоп-заявки,
- «KILL_ALL_NEG_DEALS» – снять все заявки на внебиржевые сделки и заявки на сделки РЕПО,
- «KILL_ALL_FUTURES_ORDERS» — снять все заявки на рынке FORTS,
- «MOVE_ORDERS» — переставить заявки на рынке FORTS,
- «NEW_QUOTE» — новая безадресная заявка,
- «KILL_QUOTE» — снять безадресную заявку,
- «NEW_REPORT» — новый отчет о подтверждении транзакций,
- «SET_FUT_LIMIT» — новое ограничение по фьючерсному счету.
ACCOUNT номер счета Трейдера, обязательный параметр
CLIENT_CODE 20-ти символьное составное поле, может содержать код клиента и текстовый комментарий с тем же разделителем, что и при вводе заявки вручную. Необязательный параметр.
TYPE Тип заявки, необязательный параметр. Значения: «L» – лимитированная, «M» – рыночная.
MARKET_MAKER_ORDER Признак того, является ли заявка заявкой Маркет-Мейкера. Возможные значения: «YES» или «NO». Значение по умолчанию (если параметр отсутствует): «NO».
OPERATION Направление заявки, обязательный параметр. Значения: «S» – продать, «B» – купить.
EXECUTION_CONDITION Условие исполнения заявки, необязательный параметр. Возможные значения:
- «PUT_IN_QUEUE» – поставить в очередь (по умолчанию),
- «FILL_OR_KILL» – немедленно или отклонить,
- «KILL_BALANCE» – снять остаток.
QUANTITY Количество лотов в заявке, обязательный параметр
REPOVALUE Объем сделки РЕПО-М в рублях
START_DISCOUNT Начальное значение дисконта в заявке на сделку РЕПО-М
LOWER_DISCOUNT Нижнее предельное значение дисконта в заявке на сделку РЕПО-М
UPPER_DISCOUNT Верхнее предельное значение дисконта в заявке на сделку РЕПО-М
PRICE Цена заявки, за единицу инструмента. Обязательный параметр.
Если в региональных настройках Windows установлен разделитель «,», то разделителем целой и дробной части цены может быть указана и «.» и «,».
Если в региональных настройках Windows установлен разделитель «.», то разделителем в цене может быть только «.»
STOPPRICE Стоп-цена, за единицу инструмента. Используется только при «ACTION» = «NEW_STOP_ORDER»
STOP_ORDER_KIND Тип стоп-заявки. Возможные значения:
- «SIMPLE_STOP_ORDER» – стоп-лимит,
- «CONDITION_PRICE_BY_OTHER_SEC» – с условием по другой бумаге,
- «WITH_LINKED_LIMIT_ORDER» – со связанной заявкой,
- «TAKE_PROFIT_STOP_ORDER» – тэйк-профит,
- «ACTIVATED_BY_ORDER_SIMPLE_STOP_ORDER» – стоп-лимит по исполнению заявки,
- «ACTIVATED_BY_ORDER_TAKE_PROFIT_STOP_ORDER» – тэйк-профит по исполнению заявки.
Если параметр пропущен, то считается, что заявка имеет тип «стоп-лимит».
STOPPRICE_CLASSCODE Класс инструмента условия. Используется только при «STOP_ORDER_KIND» = «CONDITION_PRICE_BY_OTHER_SEC».
STOPPRICE_SECCODE Код инструмента условия. Используется только при «STOP_ORDER_KIND» = «CONDITION_PRICE_BY_OTHER_SEC».
STOPPRICE_CONDITION Направление предельного изменения стоп-цены. Используется только при «STOP_ORDER_KIND» = «CONDITION_PRICE_BY_OTHER_SEC».
Возможные значения: «<=» или «>=».
LINKED_ORDER_PRICE Цена связанной лимитированной заявки. Используется только при «STOP_ORDER_KIND» = «WITH_LINKED_LIMIT_ORDER».
EXPIRY_DATE Срок действия стоп-заявки. Возможные значения:
- «GTC» – до отмены.
- Дата в формате «ггггммдд», где «гггг» – год, «мм» – месяц, «дд» – день.
PARTNER Код организации – партнера по внебиржевой сделке. Применяется при «ACTION» = «NEW_NEG_ORDER» или «ACTION» = «NEW_REPO_NEG_ORDER»
ORDER_KEY Номер заявки, снимаемой из торговой системы. Применяется при «ACTION» = «KILL_ORDER» или «ACTION» = «KILL_NEG_DEAL» или «ACTION» = «KILL_QUOTE»
STOP_ORDER_KEY Номер стоп-заявки, снимаемой из торговой системы. Применяется только при «ACTION» = «KILL_STOP_ORDER»
TRANS_ID Уникальный идентификационный номер заявки
SETTLE_CODE Код расчетов при исполнении внебиржевых заявок
PRICE2 Цена второй части РЕПО
REPOTERM Срок РЕПО. Параметр сделок РЕПО-М.
REPORATE Ставка РЕПО, в процентах
BLOCK_SECURITIES Признак блокировки бумаг на время операции РЕПО («YES», «NO»)
REFUNDRATE Ставка фиксированного возмещения, выплачиваемого в случае неисполнения второй части РЕПО, в процентах
COMMENT Текстовый комментарий, указанный в заявке. Используется при снятии группы заявок.
LARGE_TRADE Признак крупной сделки (YES/NO). Параметр внебиржевой сделки.
CURR_CODE Код валюты расчетов по внебиржевой сделки, например «SUR» – рубли РФ, «USD» – доллары США. Параметр внебиржевой сделки.
FOR_ACCOUNT Лицо, от имени которого и за чей счет регистрируется сделка (параметр внебиржевой сделки). Возможные значения:
- OWNOWN – от своего имени, за свой счет,
- OWNCLI — от своего имени, за счет клиента,
- OWNDUP — от своего имени, за счет доверительного управления,
- CLICLI — от имени клиента, за счет клиента.
SETTLE_DATE Дата исполнения внебиржевой сделки
KILL_IF_LINKED_ORDER_ PARTLY_FILLED Признак снятия стоп-заявки при частичном исполнении связанной лимитированной заявки. Используется только при «STOP_ORDER_KIND» = «WITH_LINKED_LIMIT_ORDER». Возможные значения: «YES» или «NO».
OFFSET Величина отступа от максимума (минимума) цены последней сделки. Используется при «STOP_ORDER_KIND» = «TAKE_PROFIT_STOP_ORDER» или «ACTIVATED_BY_ORDER_TAKE_PROFIT_STOP_ORDER».
OFFSET_UNITS Единицы измерения отступа. Возможные значения:
- «PERCENTS» – в процентах (шаг изменения – одна сотая процента),
- «PRICE_UNITS» – в параметрах цены (шаг изменения равен шагу цены по данному инструменту). Используется при «STOP_ORDER_KIND» = «TAKE_PROFIT_STOP_ORDER» или «ACTIVATED_BY_ORDER_TAKE_PROFIT_STOP_ORDER».
SPREAD Величина защитного спрэда. Используется при «STOP_ORDER_KIND» = «TAKE_PROFIT_STOP_ORDER» или «ACTIVATED_BY_ORDER_TAKE_PROFIT_STOP_ORDER».
SPREAD_UNITS Единицы измерения защитного спрэда. Возможные значения:
- «PERCENTS» – в процентах (шаг изменения – одна сотая процента),
- «PRICE_UNITS» – в параметрах цены (шаг изменения равен шагу цены по данному инструменту).
Используется при «STOP_ORDER_KIND» = «TAKE_PROFIT_STOP_ORDER» или «ACTIVATED_BY_ORDER_TAKE_PROFIT_STOP_ORDER».
BASE_ORDER_KEY Регистрационный номер заявки-условия. Используется при «STOP_ORDER_KIND» = «ACTIVATED_BY_ORDER_SIMPLE_STOP_ORDER» или «ACTIVATED_BY_ORDER_TAKE_PROFIT_STOP_ORDER».
USE_BASE_ORDER_BALANCE Признак использования в качестве объема заявки «по исполнению» исполненного количества бумаг заявки-условия. Возможные значения: «YES» или «NO». Используется при «STOP_ORDER_KIND» = «ACTIVATED_BY_ORDER_SIMPLE_STOP_ORDER» или «ACTIVATED_BY_ORDER_TAKE_PROFIT_STOP_ORDER».
ACTIVATE_IF_BASE_ORDER_PARTLY_FILLED Признак активации заявки «по исполнению» при частичном исполнении заявки-условия. Возможные значения: «YES» или «NO». Используется при «STOP_ORDER_KIND» = «ACTIVATED_BY_ORDER_SIMPLE_STOP_ORDER» или «ACTIVATED_BY_ORDER_TAKE_PROFIT_STOP_ORDER».
BASE_CONTRACT Идентификатор базового контракта для фьючерсов или опционов. Обязательный параметр снятия заявок на рынке FORTS.
MODE Режим перестановки заявок на рынке FORTS. Параметр операции «ACTION» = «MOVE_ORDERS» Возможные значения:
0 – оставить количество в заявках без изменения,
1 — изменить количество в заявках на новые,
2 – при несовпадении новых количеств с текущим хотя бы в одной заявке, обе заявки снимаются. Дополнительные параметры функции перестановки:
- FIRST_ORDER_NUMBER Номер первой заявки
- FIRST_ORDER_NEW _QUANTITY Количество в первой заявке
- FIRST_ORDER_NEW_PRICE Цена в первой заявке
- SECOND_ORDER_NUMBER Номер второй заявки
- SECOND_ORDER_NEW _QUANTITY Количество во второй заявке
- SECOND_ORDER_NEW _PRICE Цена во второй заявке
KILL_ACTIVE_ORDERS Признак снятия активных заявок по данному инструменту. Используется только при «ACTION» = «NEW_QUOTE». Возможные значения: «YES» или «NO».
NEG_TRADE_OPERATION Направление операции в сделке, подтверждаемой отчетом
NEG_TRADE_NUMBER Номер подтверждаемой отчетом сделки для исполнения
VOLUMEMN Лимит открытых позиций, при «Тип лимита» = «Рубли» или «Всего»
VOLUMEPL Лимит открытых позиций, при «Тип лимита» = «Залоговые рубли»
KFL Коэффициент ликвидности
KGO Коэффициент клиентского гарантийного обеспечения
USE_KGO Параметр, который определяет, будет ли загружаться величина КГО при загрузке лимитов из файла:
- при USE_KGO=Y – величина КГО загружает.
- при USE_KGO=N – величина КГО не загружается
CHECK_LIMITS Признак проверки попадания цены заявки в диапазон допустимых цен, заданных параметрами «Максимально возможная цена» и «Минимально возможная цена». Параметр Срочного рынка FORTS. Возможные значения: «Y» – выполнять проверку, «N» – не выполнять.
MATCH_REF Ссылка, которая связывает две сделки РЕПО или РПС подаваемые через файл. Параметр представляет собой набор произвольный набор количеством до 10 символов (допускаются цифры и буквы).
Заявка на продажу Ростелеком, лимитированная, 3 лота по 43.21 руб.:
ACCOUNT=NL0080000043; CLIENT_CODE=467; TYPE=L; TRANS_ID=1; CLASSCODE=EQBR; SECCODE=RU0008943394; ACTION=NEW_ORDER; OPERATION=S; PRICE=43,21; QUANTITY=3;
Заявка на покупку ЛУКОЙЛ, лимитированная, 3 лота по 253.3 руб.:
ACCOUNT=NL0080000043; CLIENT_CODE=467; TYPE=L; TRANS_ID=2; CLASSCODE=EQBR; SECCODE=LKOH; ACTION=NEW_ORDER; OPERATION=B; PRICE=253,3; QUANTITY=3;
Внебиржевая заявка на покупку Ростелеком, лимитированная, 1 лот по 42.81 руб.:
ACCOUNT=NL0080000043; CLIENT_CODE=467; TYPE=L; TRANS_ID=3; CLASSCODE=PSEQ; SECCODE=RU0008943394; ACTION= NEW_NEG_DEAL; OPERATION=B; PRICE=42,81; QUANTITY=1; PARTNER=NC0080000000;
Внебиржевая заявка на продажу РАО ЕЭС-п, лимитированная, 3 лота по 1.113 руб.:
ACCOUNT=NL0080000043; CLIENT_CODE=467; TYPE=L; TRANS_ID=4; CLASSCODE=PSEQ; SECCODE=EESRP; ACTION=NEW_NEG_DEAL; OPERATION=S; PRICE=1,113; QUANTITY=3; PARTNER=NC0080100000;
Внебиржевая сделка РАО ЕЭС, продажа 30 лотов по 19.332 руб.:
CLIENT_CODE=2/3;TRANS_ID=8;CLASSCODE=SCVC;SECCODE=EESR;ACTION=NEW_NEG_DEAL; OPERATION=B; PRICE=19.332; QUANTITY=30; SETTLE_CODE=UPTO5; LARGE_TRADE=YES; CURR_CODE=SUR; FOR_ACCOUNT=OWNCLI; SETTLE_DATE=20070620;
Стоп-лимит РАО ЕЭС, 100 лотов на продажу по цене 7,000, стоп-цена – 7,300, срок до 19 мая 2003 г.:
ACTION=NEW_STOP_ORDER; ACCOUNT= NL0080000043; TRANS_ID=17; CLASSCODE=EQBR; SECCODE=EESR; OPERATION=S; QUANTITY=100; CLIENT_CODE=467; STOPPRICE=7.3; PRICE=7.0; EXPIRY_DATE=20030519;
Стоп-заявка с условием по другой бумаге РАО ЕЭС, продажа 15 лотов по цене 7,000, условие по РАО ЕЭС-п, условие стоп-цены <= 8,000:
ACTION=NEW_STOP_ORDER; STOP_ORDER_KIND=CONDITION_PRICE_BY_OTHER_SEC; ACCOUNT= NL0080000043; QUANTITY=15; TRANS_ID=15; CLASSCODE=EQBR; SECCODE=EESR; STOPPRICE_CLASSCODE=EQBR; STOPPRICE_SECCODE=EESRP; STOPPRICE_CONDITION=<=; OPERATION=S; CLIENT_CODE=1001; STOPPRICE=8.0; PRICE=7.0;
Стоп-заявка со связанной заявкой РАО ЕЭС, покупка 15 лотов по цене 8,500, стоп-цена >= 8,000, и лимитированная заявка по 6,000:
ACTION=NEW_STOP_ORDER; STOP_ORDER_KIND=WITH_LINKED_LIMIT_ORDER; ACCOUNT= NL0080000043; TRANS_ID=16; CLASSCODE=EQBR; SECCODE=EESR; OPERATION=B; QUANTITY=15; CLIENT_CODE=1001; STOPPRICE=8.0; PRICE=8.5; LINKED_ORDER_PRICE=6.0; STOPPRICE_CONDITION=>=; KILL_IF_LINKED_ORDER_ PARTLY_FILLED=NO;
Тэйк-профит Лукойл, покупка 1 лота, активация при достижении цены 265 с отступом в 5% и защитным интервалом в 5 пипсов, срок исполнения до 06.07.2004:
ACTION=NEW_STOP_ORDER; TRANS_ID=8; STOP_ORDER_KIND=TAKE_PROFIT_STOP_ORDER; STOPPRICE=265; CLIENT_CODE=Q5; OPERATION=B; SECCODE=LKOH; CLASSCODE=EQBR; ACCOUNT=L01-00000F00; QUANTITY=1; EXPIRY_DATE=20040706; OFFSET=5; OFFSET_UNITS=PERCENTS; SPREAD=5; SPREAD_UNITS=PRICE_UNITS;
Тэйк-профит по исполнению заявки по частичному исполнению заявки с номером 81874488 выставить тэйк-профит на покупку Лукойла в объеме исполненной части заявки-условия, при достижении цены 265 с отступом 10 пипсов и защитным интервалом 10 пипсов:
ACTION=NEW_STOP_ORDER; TRANS_ID=11; STOP_ORDER_KIND=ACTIVATED_BY_ORDER_TAKE_PROFIT_STOP_ORDER; BASE_ORDER_KEY=81874488; USE_BASE_ORDER_BALANCE=yes; ACTIVATE_IF_BASE_ORDER_PARTLY_FILLED=yes; SPREAD=10; OFFSET=10; OFFSET_UNITS=PRICE_UNITS; SPREAD_UNITS=PRICE_UNITS; STOPPRICE=265; CLIENT_CODE=Q5; OPERATION=B; SECCODE=LKOH; CLASSCODE=EQBR; ACCOUNT=L01-00000F00;
Стоп-лимит по исполнению заявки по частичному исполнению заявки с номером 81874488 выставить стоп-лимит на покупку Лукойла в объеме исполненной части заявки-условия, со стоп-ценой 271 и ценой заявки 270:
ACTION=NEW_STOP_ORDER; TRANS_ID=12; STOP_ORDER_KIND=ACTIVATED_BY_ORDER_SIMPLE_STOP_ORDER; BASE_ORDER_KEY=81874488; USE_BASE_ORDER_BALANCE=yes; ACTIVATE_IF_BASE_ORDER_PARTLY_FILLED=yes; PRICE=270; STOPPRICE=271; CLASSCODE=EQBR; SECCODE=LKOH; ACCOUNT=L01-00000F00; OPERATION=B; CLIENT_CODE=Q5;
Снятие заявки с номером 503983:
CLASSCODE=EQBR; SECCODE=RU0009024277; TRANS_ID=5; ACTION=KILL_ORDER; ORDER_KEY=503983;
Снятие внебиржевой заявки с номером 503984:
CLASSCODE=EQBR; TRANS_ID=6; ACTION=KILL_NEG_DEAL; ORDER_KEY=503984;
Отмена внебиржевой сделки с номером 3:
ACTION=KILL_NEG_DEAL; TRANS_ID=25; CLASSCODE=SCVC; SECCODE=EESR; ORDER_KEY=3; OPERATION=S; FIRM_ID=NC0038900000;
Снятие всех заявок клиента с кодом Q6:
TRANS_ID=1; CLASSCODE=EQBR; ACTION=KILL_ALL_ORDERS; CLIENT_CODE=Q6;
Снятие всех стоп-заявок с направлением «на покупку»:
TRANS_ID=2; CLASSCODE=EQBR; ACTION=KILL_ALL_STOP_ORDERS; OPERATION=B;
Снятие всех адресных заявок по классу «РПС: Акции 1-го уровня»:
TRANS_ID=3; CLASSCODE=PSEQ; ACTION=KILL_ALL_NEG_DEALS;
Снятие всех заявок на срочном рынке FORTS на покупку контрактов на курс акций РАО ЕЭС:
TRANS_ID=50; ACCOUNT=SPBFUT00001; ACTION=KILL_ALL_FUTURES_ORDERS; OPERATION=B; CLASSCODE=SPBFUT; BASE_CONTRACT=EESI;
Перестановка заявок на срочном рынке FORTS:
ACTION=MOVE_ORDERS; TRANS_ID=333; CLASSCODE=SPBFUT; SECCODE=EBM6; MODE=1; FIRST_ORDER_NUMBER=21445064; FIRST_ORDER_NEW_PRICE=10004; FIRST_ORDER_NEW_QUANTITY=4; SECOND_ORDER_NUMBER=21445065; SECOND_ORDER_NEW_PRICE=10004; SECOND_ORDER_NEW_QUANTITY=;
(Перестановка заявок на рынке FORTS выполняется по следующим правилам:
• Если MODE=0, то заявки с номерами, указанными после ключей FIRST_ORDER_NUMBER и SECOND_ORDER_NUMBER, снимаются. В торговую систему отправляются две новые заявки, при этом изменяется только цена заявок, количество остается прежним;
• Если MODE=1, то заявки с номерами, указанными после ключей FIRST_ORDER_NUMBER и SECOND_ORDER_NUMBER, снимаются. В торговую систему отправляются две новые заявки, при этом изменится как цена заявки, так и количество;
• Если MODE=2, то заявки с номерами, указанными после ключей FIRST_ORDER_NUMBER и SECOND_ORDER_NUMBER, снимаются.
Если количество бумаг в каждой из снятых заявок совпадает со значениями, указанными после FIRST_ORDER_NEW_QUANTITY и SECOND_ORDER_NEW_QUANTITY, то в торговую систему отправляются две новые заявки с соответствующими параметрами.)Безадресная заявка на покупку РАО ЕЭС, 1 лот по 15.0 руб., коду расчетов T0, с признаком снятия активных безадресных заявок «НЕТ»:
ACTION=NEW_QUOTE; TRANS_ID=779; CLASSCODE=PSEQ; SECCODE=EESR; OPERATION=B; QUANTITY=1; PRICE=15.0; SETTLE_CODE=T0; KILL_ACTIVE_ORDERS=NO;
Снятие безадресной заявки с номером 15919:
ACTION=KILL_QUOTE; TRANS_ID=781; CLASSCODE=PSEQ; SECCODE=EESR; ORDER_KEY=15919;
Импорт ограничений по фьючерсным счетам по счету Трейдера 389_011, где лимит открытых позиций «Всего» составляет 20 млн. рублей и лимит открытых позиций «Залоговые рубли» ограничен 10 млн. рублей:
ACTION=SET_FUT_LIMIT; TRANS_ID=22; CLASSCODE=SPBFUT; ACCOUNT=389_011; VOLUMEMN=20000000,00; VOLUMEPL=10000000,00; KFL=0,00; KGO=0,00; USE_KGO=Y; FIRM_ID=SPBFUT389;
Подтверждение отчетом сделок для исполнения с номером 179205900:
ACTION=NEW_REPORT; TRANS_ID=15; CLASSCODE=RPMA; NEG_TRADE_OPERATION=B; NEG_TRADE_NUMBER=179205900;
Данные взяты из руководства пользователя QUIK.
хотел уточнить по поводу kill all orders, начитавшись квиковского форума, я понял, что эта функция не работает? а как на самом деле?
На самом деле ее лучше не использовать, правильно удалять заявки это делать цикл по таблице заявок, отфильтровывать их по статусу «активна», определять их номер и затем по номеру удалять.
Дмитрий Reply:
мая 1, 2009 at 14:32
А нельзя ли написать и выложить здесь эту функцию, «правильный» аналог kill all orders?
Евгений Reply:
мая 1, 2009 at 17:53
Можно, на выходных выложу, где-то валялась такая...
Евгений Reply:
марта 11, 2010 at 10:44
www.hirobot.ru/2009/05/fu...kill-all-orders/
ДОбРый день. написал робота, начал отлаживать и использовал вашу функцию выставления заявки. так вот, я передою данные в функцию
ORDER (PRICE, LOTS, «SELL», LIMIT, TrID )
А квик пишет неправильно указана оерация «sell»
в чем может быть проблема? спасибо
Евгений Reply:
мая 15, 2009 at 21:29
Думаю надо указывать не «Sell» a «S». прочитайте внимательно эту статью.
coole Reply:
марта 11, 2010 at 6:35
Просто-просто, у вас в примере, при вызове функции в первой строке стоит значение «BUY»
может надо «B»???
Евгений Reply:
марта 11, 2010 at 10:37
Да. Поправил.
«EXECUTION_CONDITION» — «KILL_BALANCE»
А как это работает ? Неисполненная часть заявки снимается спустя какое-то время ? Или ?
Евгений Reply:
мая 19, 2009 at 15:22
Ни разу не сталкивался, но могу предположить что сразу снимается неисполненный остаток, иначе теряется смысл этой функции.
Евгений подскажите, какой лучше тип заявок использовать для тейкпрофита и с какими параметрами сделки. Имеется открытая позиция по фортс при достижении уровня тейкпрофит ее надо закрыть, как лучше?
Евгений Reply:
ноября 25, 2009 at 19:35
Рекомендую использовать стопзаявки. Поищите на сайте торговый робот «Дефендер».
pocemon Reply:
ноября 25, 2009 at 19:45
Стоп-заявка сразу исполняется и рожает обычную заявку, которая отображается как активная в таблице заявок, и когда я удаляю, например активные стоп-заявки или закрывается позиция по стопу то чтоб ее снять, нужна дополнительная операция KILL_ORDERS помимо KILL_SPOTORDERS.
Возможно ли их удалять на фортс одной командой?
Евгений Reply:
ноября 25, 2009 at 19:49
Можно.
Как таковой готовой функции в импорте транзакций нет, но делайте два блока (килл ордерс и килл стопордерс) и запускаете их друг за другом.
pocemon Reply:
ноября 25, 2009 at 19:56
Спасибо. я думаю объеденить их в одну функцию,все равно после каждой сделки надо подчищать как заявки так и стопы.
Функция GET_VALUE (trans_result, «ORDER_NUMBER») выдает значение такого рода: 81874488.00000000000
И если какой-либо переменной присвоить этот GET_VALUE, и влепить его в тип заявки KILL_ORDER — то выдает ошибку «Неправильно указан номер заявки: „81874488.00000000000“»
Как можно привести 81874488.00000000000 к простому виду 81874488 ?
Евгений Reply:
января 26, 2010 at 11:45
GET_VALUE (trans_result, «ORDER_NUMBER»)+0 это получаем число. А в функции отправки транзакции наоборот, делаем из числа текст: GET_VALUE (trans_result, «ORDER_NUMBER»)&""
Почитайте статью о типах переменных