Live HelpLive Help       Език: Български



DSAPI_Client API

Наръчник за работа с API

Предоставеният приложен програмен интерфейс (DSAPI_Client.exe) реализира достъп до някои от най-важните функции на електронната платформа Delta Trading. Нашите клиенти могат да го използват за връзка с автоматични системи за онлайн търговия. Езикът за програмиране на тези системи трябва да позволява използване на ActiveX component DSAPI_Client.exe и инстанциране на обектa DSAPI_Client.clientAPI. DSAPI_Client.exe ще се поддържа от версия 4.0.7 и всички след нея.

Използват се само три основни типа за представяне на данните:

Long – 32-bit (4-byte) цели числа със знак (+/-);
Double – IEEE 64-bit (8-byte) числа със плаваща запетая;
String – Unicode character set, 2 байта за един символ.

Типът Date (8-byte) се конвертира 1:1 в Double (8-byte) и се подава като параметър.

Другото изискване е електронната платформа Delta Trading да работи.


Клиентът трябва да заяви в ИП "Делтасток" АД, че желае да ползва DSAPI_Client интерфейса.

DSAPI_Client API има следните функции:

  1. CancelOrder – Заявка за отмяна на един ордер.
  2. CancelOrder_Async – Заявка за отмяна на един ордер.
  3. ClosePosition – Затваря една позиция на пазарни цени.
  4. GetAccSum – Връща наличните по сметки парични средства.
  5. GetAccSum_S – Връща наличните по сметки парични средства.
  6. GetChartData – Експорт на данни във файл от графиките за даден инструмент.
  7. GetChartData_S – Експорт на данни във файл от графиките за даден инструмент.
  8. GetErrDescription – Връща описанието по зададен номер на грешка
  9. GetFreeMargin – Връща свободните парични средства.
  10. GetFreeMargin_S – Връща свободните парични средства.
  11. GetOrdList_Async – Връща списък от ордери по зададен филтър.
  12. GetOrdStatus – Връща статуса на ордера (заявен, потвърден, изпълнен, отменен).
  13. GetOrdStatus_S – Връща статуса на ордера (заявен, потвърден, изпълнен, отменен).
  14. GetPosition – Връща количество и средната цена на позицията.
  15. GetPosition_S – Връща количество и средната цена на позицията.
  16. GetPositionRes – Връща текущия резултат от една позиция.
  17. GetPositionRes_S – Връща текущия резултат от една позиция.
  18. GetPositionsRes – Връща текущия резултат от всички откритите позиции.
  19. GetPositionsRes_S – Връща текущия резултат от всички откритите позиции.
  20. GetQuote – Връща Bid, Ask, Hi, Low на зададен инструмент.
  21. GetQuote_S – Връща Bid, Ask, Hi, Low на зададен инструмент.
  22. GetTotalResult – Връща общият резултат от търговията.
  23. GetTotalResult_S – Връща общият резултат от търговията.
  24. GetUsedMargin – Връща използваните средства за гаранция на отворените позиции.
  25. GetUsedMargin_S – Връща използваните средства за гаранция на отворените позиции.
  26. NewOrder – Заявка за изпълнение на нов ордер.
  27. NewOrder_Async – Заявка за изпълнение на нов ордер.
  28. GetOrdParams – Връща инструмент, к-во, статус и цена на изпълнение на задаен ордер.
  29. GetOrdParams_S – Връща инструмент, к-во, статус и цена на изпълнение на задаен ордер.
  30. GetClnNum – Връща клиентския номер.
  31. GetApiVersion – Връща версията на Delta Trading API.
  32. GetDTVersion – Връща версията на Delta Trading.
  33. GetParam – Връща параметрите на резултата от дадена функция.
  34. CreateClientAPI – Създава Delta Trading ClientAPI за текущата сметка или за зададена.
  35. DestroyClientAPI – Изключва Delta Trading ClientAPI.

Инструментите (параметърът Instrument) в DSAPI_Client API се задават с техните кодове (към 05/2007):

Валути:

AUD/CAD AUD/CHF AUD/JPY AUD/NZD AUD/USD
CAD/CHF CAD/JPY CHF/BGN CHF/JPY EUR/AUD
EUR/CAD EUR/CHF EUR/GBP EUR/JPY EUR/NOK
EUR/CAD EUR/CHF EUR/GBP EUR/JPY EUR/NOK
EUR/NZD EUR/RON EUR/SEK EUR/USD EUR/ZAR
GBP/AUD GBP/BGN GBP/CAD GBP/CHF GBP/JPY
GBP/NOK GBP/NZD GBP/USD GBP/ZAR NZD/CAD
NZD/CHF NZD/JPY NZD/USD USD/BGN USD/CAD
USD/CHF USD/DKK USD/JPY USD/NOK USD/RON
USD/RUB USD/SEK USD/TRY USD/ZAR

Акции, индекси, злато и петрол могат да се видят в платформата Delta Trading от менюто "Търговия/Инструменти". Инструментите, които искате да използвате в DSAPI_Client API, трябва предварително да бъдат заредени в платформата Delta Trading.

Валутите (параметърът InCurrency) се задават с техните стандартни кодове:

AUD BGN CAD CHF EUR GBP JPY
NOK NZD RON RUB SEK ZAR USD

Следва подробно описание на функции от DSAPI_Client.

1. CancelOrder (OrdID As Long) As Long

Заявява един ордер за отмяна.

Параметри: OrdID – номер на поръчката, която искате да отмените.

Резултат:

Ако върнатият резултат е равен на OrdID, поръчката е отменена.

Ако е по-малък от 0 – има грешка, върнатият резултат е номерът на грешката (виж таблицата с грешките).

Пример: CancelOrder (12345678) – 12345678 (поръчката е отменена).

2. CancelOrder_Async (OrdID As Long, RequestID As Long, errNumber As Long)

Заявява един ордер за отмяна. Обработката е асинхронна. Връща две стойности (по референция) RequestID и errNumber, затова тези параметри трябва да се обяват предварително като променливи.

RequestID – уникален номер на заявката към DSAPI_Client.clientAPI. Чрез този номер ще можете да проследявате как е минало изпълнението.

errNumber – номер на грешка

Параметри:

OrdID – номер на поръчката, която искате да отмените

RequestID – уникален номер на заявката към DSAPI_Client.clientAPI

errNumber – променлива, в която по референция се връща номер на грешката (виж таблицата с грешките)

Резултат:

RequestID – уникален номер на заявката към DSAPI_Client.clientAPI

errNumber – номер на грешката (виж таблицата с грешките)

Пример: CancelOrder_ASync (12345678, RequestID1, errNumber1)

RequestID1 – 453628

errNumber1 – 0

...

Получаване на резултат от заявката става чрез събитието: CancelOrderExecuted (RequestID As Long, OrdID As Long)

Instance_CancelOrderExecuted (RequestID As Long, OrdID As Long) – поръчката е отменена от заявка за отмяна RequestID и поръчка номер OrdID.

3. ClosePosition (Instrument As String) As Long

Затваря позицията с инструмент Instrument.

Параметри:

Instrument – инструмент код (Напр.: "EUR/USD")

Резултат:

1 – позицията е затворена;

0 – няма резултат;

< 0 – номер на грешката (виж таблицата с грешките).

Пример: ClosePosition("EUR/USD") – 1 (позицията е затворена)

4. GetAccSum (InCurrency As String, errNumber As Long) as Double

Връща салдото по сметки в заявената валута или 0, ако има грешка.

Номерът на грешката се получава от параметъра errNumber. Той трябва да бъде предварително дефинирана променлива, която получава стойност по референция от функцията GetAccSum.

Параметри:

InCurrency – валута (Напр: InCurrency = "EUR").

errNumber – променлива, в която по референция се връща номерът на грешката (виж таблицата с грешките)

Пример:

GetAccSum ("USD", errNumber1) – 2345.33 (в USD)

errNumber1 – 0

5. GetAccSum_S (InCurrency As String)

Връща салдото по сметки в заявената валута или 0, ако има грешка.

Номерът на грешката се получава от параметъра errNumber. Той трябва да бъде предварително дефинирана променлива, която получава стойност по референция от функцията GetAccSum.

Параметри:

InCurrency – валута (Напр: InCurrency = "EUR").

Пример:

GetAccSum_S ("USD") – Резултат - RES2345.33*ERR0*

GetParam("RES", Резултат) - Резултат 2345.33

GetParam("ERR", Резултат) - Резултат ErrorNumber – 0

6. GetChartData (Instrument As String, iTypeInter As String, fname As String, DateFrom As Double, DateTo As Double, errNumber As Long) As Long

Връща 0/1 – неуспешно/успешно пренасяне на данните във файл.

Параметри:

Instrument – инструмент дисплей код

iTypeInter – интервал:

"1" – 1 мин. "5" – 5 мин. "30" – 30 мин. "60" – 1 час
"4" – 4 часа "24" – 1 ден "7" – 1 седмица "33" – 1 месец


Fname – името на файла – пример: C:\chart\eurusd5.txt (пътят до файла трябва да бъде предварително създаден!)

DateFrom – Date (не Datetime) – начало на периода за експорт (конвертирана в Double)

DateTo – Date (не Datetime) – край на периода за експорт (конвертирана в Double)

errNumber – променлива, в която по референция се връща номер на грешката (виж таблицата с грешките)

Пример:

GetChartData("EUR/USD", "24", "C:\chart\eurusd5.txt", 234242.2246, 353535.666, errNumber1) – 1

errNumber1 – 0

Резултатът е записан във файл със следния (.csv– comma delimited) формат:
<date>, <open>, <hi>, <low>, <close>, <volume> crlf

7. GetChartData_S (Instrument As String, iTypeInter As String, fname As String, DateFrom As Double, DateTo As Double) As String

Връща 0/1 – неуспешно/успешно пренасяне на данните във файл.

Параметри:

Instrument – инструмент дисплей код

iTypeInter – интервал:

"1" – 1 мин. "5" – 5 мин. "30" – 30 мин. "60" – 1 час
"4" – 4 часа "24" – 1 ден "7" – 1 седмица "33" – 1 месец


Fname – името на файла – пример: C:\chart\eurusd5.txt (пътят до файла трябва да бъде предварително създаден!)

DateFrom – Date (не Datetime) – начало на периода за експорт (конвертирана в Double)

DateTo – Date (не Datetime) – край на периода за експорт (конвертирана в Double)

Пример:

GetChartData_S("EUR/USD", "24", "C:\chart\eurusd5.txt", 234242.2246, 353535.666) – Резултат RES1*ERR0

GetParam("RES", Резултат) = 1

GetParam("ERR", Резултат) = 0

Резултатът е записан във файл със следния (.csv– comma delimited) формат:
<date>, <open>, <hi>, <low>, <close>, <volume> crlf

8. GetErrDescription (ErrorNumber As Long) As String

Връща описанието на една грешка по зададен номер.

Номер Описание
–1 The instrument code not found in DeltaTrading platform.
–2 Order's quantity must be positive number and divisible by 1000.
–3 ordPriceReq1/ordPriceReq2 < 1 or not a double format number.
–4 Unknown ordType 1-market; 2-limit; 3-stop; 4-OCO.
–5 Unknown ordBuySell 'B' – Buy / 'S' – Sell. Unknown ordBuySell 'B' – Buy / 'S' – Sell.
–6 Not available funds for the order's execution.
–7 Not available funds for the order's execution.
–8 Market is closed.
–9 Forex trading not authorized.
–10 CFD trading not authorized.
–11 Precious Metal trading not authorized.
–12 Commodity trading not authorized.
–13 DSAPI_Client Object not set.
–14 Unexpected Error: DSAPI_Client.ClientAPI/NewOrder.
–15 Unexpected Error: DSAPI_Client.ClientAPI/myApp1Events.RiseClientEvent.
–16 ReqID_NWE < 1 No Request ID.
–17 ordID_NOE < 1 No order ID.
–18 ordStatus_NOE <> 1, 2, 3, 4, 5. Order Status not Specified.
–19 DSAPI_Client.internalAPI Object not set.
–20 Unexpected Error: DSAPI_Client.internalAPI/NewOrderExecuted.
–21 Unexpected Error: DSAPI_Client.internalAPI/myApp2Events.RiseClientEvent.
–22 Operation's execution declined! DT-Client busy with another operation.
–23 Operation's execution declined by DT-Client! This Logical Order cannot close the position.
–24 Operation's execution declined by DT-Client! The requested price is not a valid market price.
–25 DT-Client has placed the order for execution, but the order status not returned from the server.
–26 OCO order; The first price must be higher than the second price.
–27 Delta Trading can not execute the requested operation. Check the status of the operation.
–28 Unexpected Error: DSAPI_Client.internalAPI/GetCommonOper.
–29 Unknown currency symbol.
–30 Unexpected Error: DSAPI_Client.internalAPI/GetQuote.
–31 Unexpected Error: DeltaTrading/frmDSAPI/internalAPI_GetQuoteAPI.
–32 Unexpected Error: DeltaTrading/frmDSAPI/internalAPI_GetOrdStatusAPI.
–33 No open currently position of specified instrument.
–34 Wrong parameters.
–35 Order List Is Not Complete.
–36 Unexpected Error: DSAPI_Client.ClientAPI/SendMssg.
–37 Unexpected Error: DSAPI_Client.ClientAPI/GetPosition.
–38 Unexpected Error: DSAPI_Client.ClientAPI/GetOrdList_Async.
–39 Unexpected Error: DSAPI_Client.ClientAPI/ClosePosition.
–40 Unexpected Error: DSAPI_Client.ClientAPI/GetChartData.
–41 Unexpected Error: DSAPI_Client.ClientAPI/GetOrdStatus.
–42 Unexpected Error: DSAPI_Client.ClientAPI/GetOrdParams.
–43 Unexpected Error: DSAPI_Client.ClientAPI/GetAccNum.
–44 Unexpected Error: DSAPI_Client.ClientAPI/GetFreeMargin.
–45 Unexpected Error: DSAPI_Client.ClientAPI/GetUsedMargin.
–46 Unexpected Error: DSAPI_Client.ClientAPI/GetAccSum.
–47 Unexpected Error: DSAPI_Client.ClientAPI/GetPositionRes.
–48 Unexpected Error: DSAPI_Client.ClientAPI/GetQuote.
–49 Unexpected Error: DSAPI_Client.ClientAPI/GetPositionsRes.
–50 Unexpected Error: DSAPI_Client.ClientAPI/CancelOrder_ASync.
–51 Unexpected Error: DSAPI_Client.ClientAPI/CancelOrder.
–52 Unexpected Error: DSAPI_Client.ClientAPI/NewOrder_Async.
–53 Unexpected Error: DSAPI_Client.internalAPI/GetClnNumExecuted.
–54 Unexpected Error: DSAPI_Client.internalAPI/GetOrdParamsExecuted.
–55 Unexpected Error: DSAPI_Client.internalAPI/CancelOrderExecuted.
–56 Unexpected Error: DSAPI_Client.internalAPI/Error_DSAPI.
–57 Unexpected Error: DSAPI_Client.internalAPI/SetResValueExecuted.
–58 Unexpected Error: DSAPI_Client.internalAPI/GetPositionExecuted.
–59 Unexpected Error: DSAPI_Client.internalAPI/GetOrdListExecuted.
–240 Delta Trading with the required account has not been started..
–241 There is API connected to Delta Trading with the same account..
–242 Account number is not found in DSAPI_Client.exe.
–243 Unexpected Error: DSAPI_Client.internalAPI.

Пример: G etErrDescription (–10) – "–10 – CFD trading not authorized."

9. GetFreeMargin (InCurrency As String, errNumber As Long) as Double

Получаване на свободния марджин в заявената валута.

Параметри:

InCurrency – валута (Напр: InCurrency = "EUR")

errNumber – променлива, в която по референция се връща номер на грешката (виж таблицата с грешките)

Пример:

GetFreeMargin ("USD", errNumbe1) – 5431. 31 (в USD)

errNumbe1 – 0

10. GetFreeMargin_S (InCurrency As String)

Получаване на свободния марджин в заявената валута.

Параметри:

InCurrency – валута (Напр: InCurrency = "EUR")

Пример:

GetFreeMargin_S("USD", errNumbe1) – Резултат - RES5431. 31 *ERR0*

GetParam("RES", Резултат) - Резултат 34324.44 USD

GetParam("ERR", Резултат) - Резултат ErrorNumber – 0

11. GetOrdList_Async (Instrument As String, ordStatus As Long, ordType As Long, ordBuySell As String, ordDate1 As Double, ordDate2 As Double, RequestID As Long, errNumber As Long)

Връща списък от ордери по зададен филтър. Обработката е асинхронна. Връща две стойности (по референция) – RequestID и errNumber, затова тези параметри трябва да се обявени предварително.

Параметри:

Instrument – инструмент код (Напр.: "EUR/USD")

ordStatus – статус на поръчката 1– заявен, 2-потвърден, 3-изпълнен, 4-отменен, 5-заявен за отмяна

ordType – тип на поръчка: 1 – маркет, 2 – лимит, 3 – стоп, 4 – ЕОД

ordBuySell – купува – ‘B’ или продава – ‘S’

ordDate1 – дата от

ordDate2 – дата до

RequestID – уникален номер на заявката към DSAPI_Client.clientAPI

errNumber – номер на грешката (виж таблицата с грешките)

Резултат:

RequestID – уникален номер на заявката към DSAPI_Client.clientAPI

errNumber – променлива, в която по референция се връща номер на грешката (виж таблицата с грешките)

Пример:

GetOrdList_Asyn ("EUR/USD", 3, 2, "B", 01.05.2007, 30.05.2007, RequestID1, errNumber1)

RequestID1 – 242334

errNumber1 – 0

...

Получаване на резултат от заявката става чрез събитието:

Instance_GetOrdListExecuted

(RequestID As Long, OrdID As Long, Instrument As String,
ordStatus As Long, ordType As Long, ordBuySell As String,
ordDate1 As Double, ordDate2 As Double, ordCount As Double,
ordPrice As Double, ordPrice1 As Double, errNumber As Long)

RequestID – номер на заявката, получен в GetOrdList_Asyn

OrdID – номер на поръчката

Instrument – кодът на инструмента

ordStatus – статус на поръчката: 1 – заявен, 2 – потвърден, 3 – изпълнен, 4 – отменен, 5 – заявен за отмяна

ordType – тип на поръчка: 1 – маркет, 2 – лимит, 3 – стоп, 4 – ЕОД

ordBuySell – купува – "B" или продава – "S"

ordDate1 – дата на заявяване конвертирана в Double (8-byte)

ordDate2 – дата на последна промяна на статуса, конвертирана в Double (8-byte)

оrdCount – количеството на ордер

ordPrice – цената на изпълнение на ордер

ordPrice1 – заявена цена на ордера

errNumber – номер на грешката (виж таблицата с грешките), ако има грешка, това означава, че върнатите данни за този ордер са непълни.

13. GetOrdStatus (OrdID As Long) As Long

Запитване към сървъра за статус на ордер.

Параметри:

OrdID – номер на поръчката, чийто статус искате да проверите

Резултат:

1, 2, 3, 4, 5 – заявен/потвърден/изпълнен/отмене/заявен за отмяна

< 0 – номер на грешката (виж таблицата с грешките)

Пример: GetOrdStatus (12345678) – 3 (изпълнен)

14. GetOrdStatus_S(OrdID As Long)

Запитване към сървъра за статус на ордер.

Параметри:

OrdID – номер на поръчката, чийто статус искате да проверите

Резултат:

1, 2, 3, 4, 5 – заявен/потвърден/изпълнен/отмене/заявен за отмяна

< 0 – номер на грешката (виж таблицата с грешките)

Пример: GetOrdStatus_S (12345678) – 3 (изпълнен)

15. GetPosition (Instrument As String, Count As Double, Price As Double, errNumber As Long)

Запитване към сървъра за позиция по даден инструмент.

Параметри:

Instrument – инструмент код (Напр.: "EUR/USD")

Count – променлива, в която по референция се връща количеството на позицията

Price – променлива, в която по референция се връща средната цена на позицията

errNumber – променлива, в която по референция се връща номер на грешката (виж таблицата с грешките)

Резултат:

Count – количество

Price – цена

errNumber – грешка No.

Пример:

GetPosition ("USD/JPY", "USD", errNumber1)

errNumber1 – 0

16. GetPosition_S (Instrument As String) as String

Запитване към сървъра за позиция по даден инструмент.

Параметри:

Instrument – инструмент код (Напр.: "EUR/USD")

Пример:

GetPosition_S ("USD/JPY")

Резултат: CNT1000*PR1.2567*ERR0

CNT – променлива, в която по референция се връща количеството на позицията

PR – променлива, в която по референция се връща средната цена на позицията

ERR – променлива, в която по референция се връща номер на грешката (виж таблицата с грешките)

GetParam("CNT", "CNT1000*PR1.2567*ERR0") - 1000

GetParam("PR", "CNT1000*PR1.2567*ERR0") - 1.2567

GetParam("ERR", "CNT1000*PR1.2567*ERR0") - 0

17. GetPositionRes (Instrument As String, InCurrency As String, errNumber As Long) As Double

Получаване на текущия резултат от позицията по даден инструмент.

Параметри:

Instrument – инструмент дисплей код (Напр.: "EUR/USD")

InCurrency – валутата, в която ще бъде изчислен резултатът (Напр.: InCurrency = "EUR")

errNumber – променлива, в която по референция се връща номер на грешката (виж таблицата с грешките)

Резултат:

Резултат от позицията

Ако има грешка, то грешка No = ErrNumber.

Пример:

GetPositionRes ("EUR/USD", "EUR", errNumber1) – 34324.44 (в "EUR")

errNumber1 – 0

18. GetPositionRes_S (Instrument As String, InCurrency As String) As String

Получаване на текущия резултат от позицията по даден инструмент.

Параметри:

Instrument – инструмент дисплей код (Напр.: "EUR/USD")

InCurrency – валутата, в която ще бъде изчислен резултатът (Напр.: InCurrency = "EUR")

Резултат:

Резултат от позицията

Ако има грешка, то грешка No = ErrNumber.

Пример:

GetPositionRes_S ("EUR/USD", "EUR") – RES34324.44*ERR0*

GetParam("RES", "RES34324.44*ERR0*") - Резултат 34324.44 EUR

GetParam("ERR", "RES34324.44*ERR0*") - Резултат ErrorNumber – 0

19. GetPositionsRes (InCurrency As String, errNumber As Long) As Double

Получаване на текущия резултат от всички откритите позиции.

Параметри:

InCurrency – валутата, в която ще бъде изчислен резултатът (Напр.: InCurrency = "EUR")

errNumber – променлива, в която по референция се връща номер на грешката (виж таблицата с грешките)

Резултат:

Резултат от всички откритите позиции, конвертиран в "EUR"

Пример:

GetPositionRes ("EUR" , errNumber1) – 34114.44 (в "EUR")

errNumber1 – 0

20. GetPositionsRes_S (InCurrency As String) As String

Получаване на текущия резултат от всички откритите позиции.

Параметри:

InCurrency – валутата, в която ще бъде изчислен резултатът (Напр.: InCurrency = "EUR")

Резултат:

Резултат от всички откритите позиции, конвертиран в "EUR"

Пример:

GetPositionsRes ("EUR") – Резултат RES34114.44*ERR0*

GetParam("RES", "RES34114.44*ERR0*") - Резултат 34114.44 EUR

GetParam("ERR", "RES34114.44*ERR0*") - Резултат ErrorNumber – 0

21. GetQuote (Instrument As String QBid As Double, QAsk As Double, QHi As Double, QLow As Double, errNumber As Long)

Връща котирането на Instrument.

Параметри:

Instrument – инструмент код (Напр.: "EUR/USD")

QBid, QAsk, QHi, QLow, ErrNumber – купува, продава, най-високо, най-ниско, грешка. Тези параметри трябва да бъдат декларирани като променливи, защото резултата се предава по референция през тях.

Резултат:

QBid, QAsk, QHi, QLow, ErrNumber

Пример:

GetQuote ("USD/GBP", QBid1, QAsk1, QHi1, QLow1, ErrNumber1)

QBid1 – 1.3681

QAsk1 – 1.3684

QHi1 – 1.3689

QLow1 – 1.3680

ErrNumber1 – 0

22. GetQuote_S (Instrument As String)

Връща котирането на Instrument.

Параметри:

Instrument – инструмент код (Напр.: "EUR/USD")

Пример:

GetQuote ("USD/GBP") - Резултат = BID1.3681*ASK1.3684*HI1.3689*LOW1.3680*ERR0*

GetParam("BID", Резултат) - 1.3681

GetParam("ASK", Резултат) – 1.3684

GetParam("HI", Резултат) – 1.3689

GetParam("LOW", Резултат) – 1.3680

GetParam("ERR", Резултат) – 0

23. GetTotalResult(InCurrency As String, errNumber As Long) As Double

Получаване на общ резултат в заявената валута.

Параметри:

InCurrency – валута (Напр: InCurrency = "EUR")

errNumber – 0 или отрицателно число (виж таблицата с грешките)

Пример:

GetTotalResult ("USD" , errNumber1) – 5307.23

errNumber1 – 0

24. GetTotalResult_S(InCurrency As String) As String

Получаване на общ резултат в заявената валута.

Параметри:

InCurrency – валута (Напр: InCurrency = "EUR")

Пример:

GetTotalResult ("USD") – Резултат - RES5307.23*ERR0*

GetParam("RES", Резултат) – 5307.23

GetParam("ERR", Резултат) – 0

25. GetUsedMargin (InCurrency As String, errNumber As Long) As Double

Връща използваните парични средства за гаранция на отворените позиции.

Параметри:

InCurrency – валута (Напр: InCurrency = "EUR")

errNumber – 0 или отрицателно число (виж таблицата с грешките)

Пример:

GetUsedMargin ("USD", errNumber) - 1403.34 USD

errNumber - 0

26. GetUsedMargin_S (InCurrency As String) As String

Връща използваните парични средства за гаранция на отворените позиции.

Параметри:

InCurrency – валута (Напр: InCurrency = "EUR")

Пример:

GetUsedMargin ("USD") - Резултат - RES1403.34*ERR0*

GetParam("RES", Резултат) – 1403.34

GetParam("ERR", Резултат) – 0

27. NewOrder (Instrument As String, ordCount As Long, ordPriceReq1 As Double, ordPriceReq2 As Double, ordType As Long, ordBuySell As String, ordValidity As String) As Long

Заявява за изпълнение нов ордер

Параметри:

Instrument – инструмент код (Напр.: "EUR/USD")

ordCount – количество

ordPriceReq1 – цена

ordPriceReq2 – цена2 (за ЕОД поръчки)

ordType – тип на поръчка: 1 – маркет, 2 – лимит, 3 – стоп, 4 – ЕОД

ordBuySell – купува – ‘B’ или продава – ‘S’

ordValidity – за деня – ‘1’ или до отмяна – ‘2’

Резултат:

Връща OrdID – номерът на поръчката. Ако резултатът е по-малък от 0, то има грешка:

Пример:

NewOrder ("EUR/USD", 10000, 0, 0, 1, "B", 2) – Пазарна купува 10 лота(10000) "EUR/USD" валидност: до отмяна

NewOrder ("EUR/USD", 10000, 1.3680, 0, 2, "S", 2) – Лимит продава 10 лота(10000) "EUR/USD" на цена 1.3680, валидност: до отмяна

28. NewOrder_Async (Instrument As String, ordCount As Long, ordPriceReq1 As Double, ordPriceReq2 As Double, ordType As Long, ordBuySell As String, ordValidity As String, RequestID As Long, errNumber As Long)

Параметри:

Instrument – инструмент дисплей код (Напр.: "EUR/USD")

ordCount – количество

ordPriceReq1 – цена

ordPriceReq2 – цена2 (за ЕОД поръчки)

ordType – тип на поръчка: 1 – маркет, 2 – лимит, 3 – стоп, 4 – ЕОД

ordBuySell – купува – ‘B’ или продава – ‘S’

ordValidity – за деня – ‘1’ или до отмяна – ‘2’

Резултат:

RequestID As Long

Ако има грешка, то ErrNumber – грешка No.

Пример:

NewOrder ("EUR/USD", 10000, 0, 0, 1, "B", 2) – Пазарна купува 10 лота(10000) "EUR/USD" валидност: до отмяна

NewOrder ("EUR/USD", 10000, 1.3680, 0, 2, "S", 2) – Лимит продава 10 лота(10000) "EUR/USD" на цена 1.3680, валидност: до отмяна

...

Получаване на резултат от заявката става чрез събитието:

Instance_NewOrder_Async (InstrDispCode As String, ordCount As Long, ordPriceReq1 As Double, ordPriceReq2 As Double, ordType As Long, ordBuySell As String, ordValidity As String, RequestID As Long, errNumber As Long)

29. GetOrdParams(OrdID As Long, errNumber As Long) As String

Връща инструмент, к-во, статус и цена на изпълнение на задаен ордер.

Параметри:

OrdID – номерът на поръчката.

errNumber – 0 или отрицателно число (виж таблицата с грешките)

Пример:

GetOrdParams("467298", errNumber)

Резултат - *IAUD/NZD*CNT1000*PR1.23424*ST3*BSB

GetParam("I", Резултат) – Инструмент: AUD/NZD

GetParam("CNT", Резултат) – К-во: 1000

GetParam("PR", Резултат) – Цена: 1.23424

GetParam("ST", Резултат) – Статус: 3

GetParam("BS", Резултат) – Buy/Sell: B

30. GetOrdParams_S(OrdID As Long) As String

Връща инструмент, к-во, статус и цена на изпълнение на задаен ордер.

Параметри:

OrdID – номерът на поръчката.

Пример:

GetOrdParams_S("467298", errNumber)

Резултат - *IAUD/NZD*CNT1000*PR1.23424*ST3*BSB*ERR0

GetParam("I", Резултат) – Инструмент: AUD/NZD

GetParam("CNT", Резултат) – К-во: 1000

GetParam("PR", Резултат) – Цена: 1.23424

GetParam("ST", Резултат) – Статус: 3

GetParam("BS", Резултат) – Buy/Sell: B

GetParam("ERR", Резултат) – Грешка: 0

31. GetClnNum() As String

Връща клиентския номер.

Пример:

GetClnNum() - Резултат - "000102310"

32. GetApiVersion() As String

Връща версията на Delta Trading API.

Пример:

GetApiVersion() - Резултат - "1.0.41"

33. GetDTVersion() As String

Връща версията на Delta Trading.

Пример:

GetDTVersion() - Резултат - "4.0.12"

34. GetParam(strKey as String, strExpr as String) As String

Връща параметрите на резултата от дадена функция.

Параметри:

strKey – индекс

strExpr – резултат от дадена функция

Пример:

GetParam("CNT", "*IAUD/NZD*CNT1000*PR1.23424*ST3*BSB*ERR0") - Резултат - 1000

35. CreateClientAPI(Optional ByVal strExtNumber As String = "") As Long

Създава Delta Trading ClientAPI за текущата сметка или за зададена.

Параметри:

strExtNumber – клиентски номер

Пример:

CreateClientAPI() - Ако има грешка, то ErrNumber – грешка No.

CreateClientAPI("000123456") - Ако има грешка, то ErrNumber – грешка No.

36. DestroyClientAPI() As Long

Изключва Delta Trading ClientAPI.


Още примери за използване на DSAPI_Client.clientAPI в различни програмни среди:

Windows Script Host

  1. Отворете програмата Notepad.exe (Start/Programs/Accessories) или стартирайте Notepad.exe от прозореца Run (Start/Run):
  2. Въведете следния текст:
    2.1. Ако желаете VBScript:
    dim o, retVal, err2
    Set o = CreateObject ("DSAPI_Client.clientAPI")
    err2 = o.CreateClientAPI()
    if err.Number = 0 and err2 <> 0 Then
        retVal = o.NewOrder("EUR/USD",1000,1.3444,0,1,"B","1")
        msgbox o.GetErrDescription(retval)
    else
        msgbox (cstr(err.number) & " " & err.Description)
    end if
    Запазете файла под име NewOrder.vbs – разширението .vbs в името на файла е задължително.

    2.2 Ако желаете JScript:
    var obj;
    var retval;
    var retval1 = 0;
    try
    {
      obj = new ActiveXObject("DSAPI_Client.clientAPI");
      retval1 = obj.CreateClientAPI();
      retval = 0 + obj.NewOrder("EUR/USD",1000,1.3444,0,1,"B","1");
      if (retval > 0)
      {
       WScript.Echo("The order ID is " + retval);
      }
      else
      {
       WScript.Echo("Execution fail. " + obj.GetErrDescription(retval));
      };
    }
    catch(e)
    {
       WScript.Echo("Object not set." + e.description);
    }

    Запазете файла под име NewOrder.js – разширението .js в името на файла е задължително.

  3. За да изпълните горните скриптове кликнете 2 пъти върху името на файла или го стартирайте от прозореца Run (Start/Run).

Microsoft Visual Basic 6.0

  1. Отворете празен проект от тип Standart Exe.
  2. В полето Name на "Project properties" запишете NewOrder.
  3. Запазете проекта в една директория.
  4. От менюто Project/References от списъка Available References изберете DSAPI_Client.
  5. В кода на формата Form1 запишете следния програмен код:
    Dim obj As New DSAPI_Client.clientAPI
    Private Sub Form_Load()
       Dim retval As Long, err2 as Long
       err2 = o.CreateClientAPI()
       On Error Resume Next
       retval = obj.NewOrder("EUR/USD", 1000, 1.3444, 0, 1, "B", "1")
       If retval > 0 Then
          MsgBox "The order ID is " & CStr(retval)
       Else
          MsgBox "Execution fail. " & obj.GetErrDescription(retval)
       End If
    End Sub
  6. Натиснете F5.

Microsoft VB.NET 2005

  1. Стартирайте нов проект "File/New/Project…".
  2. От "Project Type" изберете "Visual Basic/Windows", а от "Tempaltes" – "Windows Application". В полето Name запишете NewOrder, в полето "Location" изберете къде да се запише проекта ви. И накрая бутона "OK".
  3. В "Solution Explorer – NewOrder" кликнете върху обекта "NewOrder" с десен бутон на мишката. От падащото меню изберете "Add Reference…". От списъка "COM"изберете "DSAPI_Client".
  4. В кода на формата "Forma1.vb" добавете следния код:
    Public Class Form1
    Private Sub Form1_Load (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      Dim obj As New DSAPI_Client.clientAPI
      Dim retval As Long, err2 As Long = 0
       err2 = o.CreateClientAPI()
      retval = obj.NewOrder("EUR/USD", 10000, 0, 0, 1, "B", "1")
      If retval > 0 Then
        MsgBox("The order ID is " & CStr(retval))
      Else
        MsgBox("Execution fail. " & CStr(obj.GetErrDescription(retval)))
      End If
    End Sub
    End Class
  5. Натиснете F5.

Microsoft Visual C# 2005

Стартирайте нов проект "File/New/Project…". От "Project Type" изберете "Visual C#/Windows", а от "Tempaltes" – "Windows Application". В полето Name запишете NewOrder, в полето "Location" изберете къде да се запише проекта ви. И накрая бутона "OK".

  1. В "Solution Explorer – NewOrder" кликнете върху обекта "NewOrder" с десен бутон на мишката. От падащото меню изберете "Add Reference…". От списъка "COM"изберете "DSAPI_Client".
  2. В кода на формата "Forma1.cs" добавете следния код:
    namespace NewOrder
    {
      public partial class Form1 : Form
      {
        public Form1()
        {
         InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
        DSAPI_Client.clientAPI obj = new DSAPI_Client.clientAPI();
        int retval = 0;
        retval = 0 + obj.NewOrder("EUR/USD",1000,1.3444,0,1,"B","1");
         if (retval > 0)
         {
          MessageBox.Show("The order ID is " + retval.ToString());
         }
         else
         {
          MessageBox.Show("Execution fail. " + obj.GetErrDescription(retval));
         };
        }
      }
    }
  3. Натиснете F5.



DELTA TRADING
Форма за бърза регистрация
*
*
Парола:*Повторете паролата:*
 
Държава:*
Защитен код:*
Въведете кода:*





Уведомление за риск: Tърговията на марджин носи висока степен на риск! Съществува възможност да понесете частична или пълна загуба на вложените от вас средства. Поради тази причина, не трябва да инвестирате пари, които не можете да си позволите да загубите. Високото ниво на ливъридж увеличава както вашата печалба, така и вашата загуба. Повече за рисковете можете да прочетете тук.


Всички права запазени © 1999-2012 "ДЕЛТАСТОК" АД - 1784 София, бул. "Цариградско шосе" 115Г, Офис сграда "Мегапарк", Тяло "Е", ет. 6, тел. 8115010, GSM 0897 818030, 0889 919669; office@deltastock.bg;