Skip to content

aleksraiden/OpenFXMarket

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

28 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

OpenFXMarket

Fast abstract market exchange (orderbook and order matching engine)

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» своС имя ΠΈ Π΄ΠΎΠΌΠ΅Π½: openfxmarket.com (сайт скоро Π±ΡƒΠ΄Π΅Ρ‚).

Data Format Spec

Order - Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ элСмСнт Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎΠΉ систСмы. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΎΠ±Π΅Π·Π»ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΡ‚ΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΈ всю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ сдСлкС. Π˜ΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ JSON-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°:

  • _ - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ заявки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ СдинствСнный слуТит для опрСдСлСния заявки Π²ΠΎ внСшнСй систСмС Π±ΠΈΡ€ΠΆΠΈ. Π¦Π΅Π»ΠΎΠ΅ число.
  • a - ΠΊΠΎΠ΄ инструмСнта, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΈΠ΄ΡƒΡ‚ Ρ‚ΠΎΡ€Π³ΠΈ (строка, 6 - 9 символов)
  • d - Π΄Π°Ρ‚Π° ΠΈ врСмя ΠΊΠΎΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ, UTC с миллисСкундами (Ρ†Π΅Π»ΠΎΠ΅ число)
  • t - Ρ‚ΠΈΠΏ ΠΊΠΎΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ: sell|buy, строка 1 символ (s|b)
  • p - Ρ†Π΅Π½Π° Π·Π° 1 Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ инструмСнта (число, 9 Π·Π½Π°ΠΊΠΎΠ² послС запятой, Π² Π²ΠΈΠ΄Π΅ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа)
  • v - объСм сдСлки Π² Π΅Π΄ΠΈΠ½ΠΈΡ†Π°Ρ… инструмСнтов (число, 9 Π·Π½Π°ΠΊΠΎΠ² послС запятой, Π² Π²ΠΈΠ΄Π΅ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа)
  • s - Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΡ€Π΄Π΅Ρ€Π° - обьСм сдСлки * Ρ†Π΅Π½Π° инструмСнта (число, 9 Π·Π½Π°ΠΊΠΎΠ² послС запятой, Π² Π²ΠΈΠ΄Π΅ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа)
  • x - коммисия, Π² случаС, Ссли ΠΎΠ½Π° ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Π°Ρ. Π­Ρ‚ΠΎ конСчная сумма, отнимаСмая ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΎΡ€Π΄Π΅Ρ€Π° ΠΏΡ€ΠΈ исполнСнии
  • c - врСмя ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΎΡ€Π΄Π΅Ρ€Π°, Π² случаС, Ссли установлСн, заявка Π±ΡƒΠ΄Π΅Ρ‚ исполнСна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли врСмя мСньшС ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ. UTC с миллисСкундами.
  • f - Ρ„Π»Π°Π³ΠΈ сдСлки (строка 10 символов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ символ - ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π»Π°Π³, Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ - 0).
    • ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ символ: Ρ‚ΠΈΠΏ ΠΎΡ€Π΄Π΅Ρ€Π° (L - Π»ΠΈΠΌΠΈΡ‚ ΠΎΡ€Π΄Π΅Ρ€, M - ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ ΠΎΡ€Π΄Π΅Ρ€, Ρ‚ΠΎΠ³Π΄Π° Ρ†Π΅Π½Π° ΠΈΠ»ΠΈ обьСм ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹, S - стоп-лосс (ΠΏΠΎΠΊΠ° Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½)
    • Π’Ρ‚ΠΎΡ€ΠΎΠΉ символ: порядок исполнСния ΠΎΡ€Π΄Π΅Ρ€Π° - F|P - Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ, ΠΈΠ»ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ (F), P - ΠΎΡ€Π΄Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Π΅Π½ частично (Π½Π° сумму, Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ρ‡Π΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ коммисии)

AccountEngine

БСрвис Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ΠΎΠ² - это Ρ‚Π°ΠΊΠΆΠ΅ абстрагированный ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΡƒΡ‡Π΅Ρ‚Π° сдСлок ΠΈ расчСта состояния Ρ‚ΠΎΡ€Π³ΠΎΠ²Ρ‹Ρ… Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ΠΎΠ². Он нСзависим ΠΎΡ‚ Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎΠΉ систСмы ΠΈ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ лишь отсылаСмыС Π΅ΠΌΡƒ ΠΎΡ€Π΄Π΅Ρ€Π°. Π’Π°ΠΊΠΆΠ΅ сСрвис Π½Π΅ Π²Π΅Π΄Π΅Ρ‚ привязки ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ, ΠΎΠ½ лишь расчитываСт баланс, согласно указаниями. Основной сСрвСр Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ для ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, ΠΏΠ΅Ρ€Π΅Π΄ постановкой ΠΎΡ€Π΄Π΅Ρ€Π° Π² Ρ‚ΠΎΡ€Π³ΠΎΠ²ΡƒΡŽ систСму.

Основной сСрвиса Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ΠΎΠ² являСтся, ΠΊΠ°ΠΊ Π½Π΅ слоТно ΠΏΠΎΠ½ΡΡ‚ΡŒ: Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚. Π­Ρ‚ΠΎ структура счСтов, Π° Ρ‚Π°ΠΊΠΆΠ΅ истории ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ счСту. Π‘Ρ‡Π΅Ρ‚Π° ΠΈΠΌΠ΅ΡŽΡ‚ стандартный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈ Π½ΠΎΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π°Π»ΡŽΡ‚ (Π°ΠΊΡ‚ΠΈΠ²ΠΎΠ²), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ вСдутся Ρ‚ΠΎΡ€Π³ΠΈ. Для систСмы это лишь абстрактныС ΠΊΠΎΠ΄Ρ‹, здСсь Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ привязки ΠΊ Π²Π°Π»ΡŽΡ‚Π°ΠΌ. Π’Π°ΠΊΠΆΠ΅ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ сСрвиса являСтся ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ балансов Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ΠΎΠ² ΠΈ ΡƒΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ комиссии, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎΠΉ систСмы ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°Ρ€Π΅ инструмСнтов.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС, сСрвис ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½ ΠΈΠ»ΠΈ остановлСн (ΠΈΠ»ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€Π΅Ρ€Π²Π°Π½), ΠΏΡ€ΠΈ этом Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΎΡ€Π΄Π΅Ρ€Π° Π½Π° исполнСниС Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Ρ‹ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ - MQE_MATCHED_ORDERS. БСрвис !ΠžΠ‘Π―Π—ΠΠ! послС запуска ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ эту ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ всС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° ΠΎΡ€Π΄Π΅Ρ€Π° Π² порядкС ΠΈΡ… слСдования Π”Πž Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ сообщСния. ΠŸΡ€ΠΈ этом ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ запросы, Π½ΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΡΠΎΡ‚ΡŒ выполнСния Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π½Π°Ρ€ΡƒΡˆΠ΅Π½Π°.

Для автоматичСской ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ баланса запускаСтся пСриодичСская ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, ΠΏΡ€ΠΈ этом общая сумма всСх счСтов (Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ инструмСнту) Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π½ΠΎΠΉ 0.

About

OpenFXMarket - Fast abstract market exchange (orderbook and order matching engine)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published