img

Сделки. Объект Deals

int64 Open(const string& in symbol,double volume,float price,uint16 cmd,bool islock,float sl,float tp,bool byanyprice,uint max_deviation,uint trailing_dist)

Открытие сделки *.

Параметры:

  • string symbol - символ, на котором совершается сделка
  • double volume - объем
  • float price - цена открытия
  • uint16 cmd - направление открытия
  • bool islock - флаг локированности
  • float sl - цена стоп лосс
  • float tp - цена тейк профит
  • bool byanyprice - флаг открытия по любой цене
  • uint max_deviation - максимальное отклонение от заявленной цены открытия
  • uint trailing_dist - дистанция трейлинг-стопа

В случае успешного результата возвращается уникальный идентификатор сделки.

В случае неудачи возвращается 0, а код ошибки можно узнать через System.LastError.

Пример использования

bool Modify(int64 id,float sl,float tp,uint trailing)

Модификация существующей позиции.

Параметры:

  • int64 id - идентификатор позиции
  • float sl - цена стоп лосс
  • float tp - цена тейк профит
  • uint trailing - дистанция трейлинг-стопа

Возвращаемое значение - флаг успешной модификации позиции. В случае неудачи код ошибки можно узнать через System.LastError.

bool Unlock(const string& in symbol,int64 dealid1,int64 dealid2)

Разлокирование пары существующих разнонаправленных позиций.

Параметры:

  • string symbol - символ, на котором отрыты позиции
  • int64 dealid1 - идентификатор первой позиции
  • int64 dealid2 - идентификатор второй позиции

Возвращаемое значение - флаг успешного разлокирования позиций. В случае неудачи код ошибки можно узнать через System.LastError.

bool Close(int64 id,float bid,float ask,bool byanyprice,uint max_deviation)

Закрытие существующей позиции.
Параметры:

  • int64 id - идентификатор позиции
  • float bid, ask - цены закрытия
  • bool byanyprice - флаг закрытия по любой цене
  • uint max_deviation - максимальное отклонение от заявленной цены закрытия

Возвращаемое значение - флаг успешного закрытия позиции. В случае неудачи код ошибки можно узнать через System.LastError.

bool Select(int64 sel,int mode)

Осуществляет выбор сделки для дальнейшего обращения к ее свойствам.

Параметры:

Пример использования

Свойства Deals (свойства выбранной позиции)

Позиция должна быть предварительно выбрана с помощью функции Select().

  • int Total - количество открытых позиций (предварительный вызов функции Select не нужен)
  • int64 ID - уникальный идентификатор позиции
  • string Symbol - символ, на котором отрыта позиция
  • uint16 Direction - направление
  • double Volume - объем позиции
  • bool IsLock - локированность позиции
  • datetime OpenTime - время открытия
  • float OpenPrice - цена открытия
  • float SL - стоп лосс
  • float TP - тейк профит
  • bool TrailingActive - флаг активности трейлинга
  • uint TrailingDistance - дистанция трейлинга
  • double Swap - своп сделки

* Если позиции противоположных направлений открываются на одном символе с флагом islock=false и имеют равные объемы, происходит взаимное уничтожение таких сделок. При этом возвращаемое функцией Open() значение для второй сделки будет ненулевым.