Руководство пользователя
Функции установки ордеров
int64 SetPending(string symbol,double volume,float price,uint8 cmd,uint8 duration,bool islock,float sl,float tp,uint trailing_dist)
Установка отложенного ордера.
Параметры:
string symbol
- символdouble volume
- объемfloat price
- цена открытияuint8 cmd
- направление открытияuint8 duration
- длительностьbool islock
- флаг локированностиfloat sl
- цена stop lossfloat tp
- цена take profituint trailing_dist
- дистанция трейлинг-стопа
В случае успешного создания ордера возвращается уникальный идентификатор.
В ином случае возвращается 0, а код ошибки можно узнать через System.LastError
.
int64 SetOCO(string symbol,float ord1_price,double ord1_volume,uint8 ord1_cmd,bool ord1_islock,float ord2_price,double ord2_volume,uint8 ord2_cmd,bool ord2_islock,uint8 duration)
Установка OCO-ордера, состоящего из двух ордеров, при активации одного из которых другой удаляется.
Параметры:
string symbol
- символ сделокfloat ord1_price
- цена открытия первого ордераdouble ord1_volume
- объем первого ордераuint8 ord1_cmd
- направление открытия первого ордераbool ord1_islock
- локированность первого ордераfloat ord2_price
- цена открытия второго ордераdouble ord2_volume
- объем второго ордераuint8 ord2_cmd
- направление открытия второго ордераbool ord2_islock
- локированность второго ордераuint8 duration
- длительность
В случае успешного создания ордера возвращается уникальный идентификатор. В ином случае возвращается 0, а код ошибки можно узнать через System.LastError
.
int64 SetActivation(string symbol,float activaton_price,float ord1_price,double ord1_volume,uint8 ord1_cmd,bool ord1_islock,float ord2_price,double ord2_volume,uint8 ord2_cmd,bool ord2_islock,uint8 duration,bool ord2_oco)
Установка Activation-ордера, при срабатывании которого (по цене активации) устанавливаются два отложенных (или OCO-) ордера.
Параметры:
string symbol
- символ ордеровfloat activaton_price
- цена активацииfloat ord1_price
- цена открытия первого ордераdouble ord1_volume
- объем первого ордераuint8 ord1_cmd
- направление открытия первого ордераbool ord1_islock
- флаг локированности первого ордераfloat ord2_price
- цена открытия второго ордераdouble ord2_volume
- объем второго ордераuint8 ord2_cmd
- направление открытия второго ордераbool ord2_islock
- флаг локированности второго ордераuint8 duration
- длительностьbool ord2_oco
- флаг OCO для пары активизируемых ордеров
В случае успешного создания ордера возвращается уникальный идентификатор.
В ином случае возвращается 0, а код ошибки можно узнать через System.LastError
.
Функции изменения параметров ордеров
bool ModifyPending(int64 order,double volume,float price,uint8 cmd,uint8 duration,bool islock,float sl,float tp,uint trailing_dist)
Изменение параметров существующего отложенного ордера.
Параметры:
int64 order
- идентификатор ордераdouble volume
- объемfloat price
- цена открытияuint8 cmd
- направление открытияuint8 duration
- длительностьbool islock
- флаг локированностиfloat sl
- цена stop lossfloat tp
- цена take profituint trailing_dist
- дистанция трейлинг-стопа
В случае успешной модификации ордера функция возвращает true.
В ином случае возвращается false, а код ошибки можно узнать через System.LastError
.
bool ModifyOCO(int64 order,float ord1_price,double ord1_volume,uint8 ord1_cmd,bool ord1_islock,float ord2_price,double ord2_volume,uint8 ord2_cmd,bool ord2_islock,uint8 duration)
Изменение параметров существующего OCO-ордера
Параметры:
int64 order
- идентификатор ордераfloat ord1_price
- цена первого ордераdouble ord1_volume
- объем первого ордераuint8 ord1_cmd
- направление открытия первого ордераbool ord1_islock
- локированность первого ордераfloat ord2_price
- цена второго ордераdouble ord2_volume
- объем второго ордераuint8 ord2_cmd
- направление открытия второго ордераbool ord2_islock
- локированность второго ордераuint8 duration
- длительность
В случае успешной модификации ордера функция возвращает true.
В ином случае возвращается false, а код ошибки можно узнать через System.LastError
.
bool ModifyActivation(int64 order,int64 linked1,int64 linked2,float activaton_price,float ord1_price,double ord1_volume,uint8 ord1_cmd,bool ord1_islock,float ord2_price,double ord2_volume,uint8 ord2_cmd,bool ord2_islock,uint8 duration,bool ord2_oco)
Изменение параметров существующего Activation-ордера
Параметры:
int64 order
- идентификатор ордераint64 linked1
- идентификатор первого ордера 2-го уровняint64 linked2
- идентификатор второго ордера 2-го уровняfloat activaton_price
- цена активацииfloat ord1_price
- цена первого ордераdouble ord1_volume
- объем первого ордераuint8 ord1_cmd
- направление открытия первого ордераbool ord1_islock
- локированность первого ордераfloat ord2_price
- цена второго ордераdouble ord2_volume
- объем второго ордераuint8 ord2_cmd
- направление открытия второго ордераbool ord2_islock
- локированность второго ордераuint8 duration
- длительностьbool ord2_oco
- флаг OCO для пары активизируемых ордеров
В случае успешной модификации ордера функция возвращает true.
В ином случае возвращается false, а код ошибки можно узнать через System.LastError
.
Для модификации после срабатывания Activation-ордера с включенным флагом OCO в функцию ModifyActivation нужно передавать параметры order=0 и activaton_price=0.
После срабатывания Activation-ордера с выключенным флагом OCO, ордера 2-го уровня модифицируются независимо друг от друга. Для изменения каждого из них, необходимо вызывать функцию ModifyActivation с order=0, ord2=0, activaton_price=0, ord2_price=0, ord2_volume=0.
Дополнительные функции и свойства для работы с ордерами
bool Delete(int64 order)
Закрытие указанного ордера по его идентификатору. В качестве результата возвращается флаг успеха. В случае неудачи код ошибки можно узнать через System.LastError
.
bool Select(int64 sel,int mode)
Осуществляет выбор ордера для дальнейшего обращения к его свойствам.
Параметры:
int64 sel
- идентификатор или позиция ордера в зависимости от режима выбораint mode
- режим выбора сделки
int64 Link(uint num)
Получение id для связанных ордеров второго уровня, где num
- порядковый номер связанного ордера.
Свойства Orders
Ордер должен быть предварительно выбран с помощью функции Select().
int Total
- количество установленных ордеров (предварительный вызов функции Select не нужен)int64 ID
- идентификатор ордераstring Symbol
- символ ордераuint16 Direction
- направление ордераuint16 Type
- тип ордераuint16 SubType
- подтип ордераbool IsActive
- флаг активности ордераdouble Volume
- объемfloat Price
- цена открытияfloat SL
- цена stop lossfloat TP
- цена take profitdatetime OpenTime
- время открытияdatetime ActTime
- время активацииbool IsLimit
- флаг лимитного ордера (иначе стоповый ордер)uint16 Duration
- длительностьbool IsLock
- флаг локированостиint64 OCO
- ссылка на парный OCO-ордерint64 DealID
- ссылка на сделкуuint TrailingDistance
- дистанция трейлингаstring Currency
- символ ордера (свойство является устаревшим)