Skip to content
This repository has been archived by the owner on Dec 28, 2023. It is now read-only.
/ Q2Ami Public archive

Data-source plugin for AmiBroker to fetch data from remote QUIK terminal over the network

License

Notifications You must be signed in to change notification settings

Arech/Q2Ami

Repository files navigation

Short description in English: this project makes a data-source plugin for great AmiBroker software, that obtains quotes data in real-time from QUIK terminal using t18qsrv proxy-server plugin for QUIK. QUIK terminal is commonly used to trade Russian stock/futures/etc market. You probably have to understand Russian in order do what the QUIK is used for, so I don't see much sence in making a full translation of the project description. However, note that the code comments are still written mostly in English.

Плагин AmiBroker для получСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· QUIK ΠΏΠΎ сСти

Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π» AmiBroker Π½Π° сСгодняшний дСнь являСтся, вСроятно, ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… срСдств (Π»ΡƒΡ‡ΡˆΠΈΠΌ?) для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с финансовыми таймсСриями. Благодаря Π½Π°Π»ΠΈΡ‡ΠΈΡŽ систСмы ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², Π² AmiBroker ΠΌΠΎΠΆΠ½ΠΎ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π»ΡŽΠ±Ρ‹Ρ… источников.

Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π» QUIK, ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π½Π° Российском Ρ€Ρ‹Π½ΠΊΠ΅, Π² своСй поставкС содСрТит ΠΏΠ»Π°Π³ΠΈΠ½ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² AmiBroker, ΠΎΠ΄Π½Π°ΠΊΠΎ этот ΠΏΠ»Π°Π³ΠΈΠ½ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈ QUIK ΠΈ AmiBroker Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π±Ρ‹ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ машинС. Π­Ρ‚ΠΎ Π½Π΅ всСгда ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈ Π΄Π°ΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·-Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ разрядности, совмСстимости ΠΈ Ρ‚.Π΄.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Q2Ami с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ QUIK прокси t18qsrv Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ разнСсти ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ машинам Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ с сСрвСрами Π±Ρ€ΠΎΠΊΠ΅Ρ€Π° экзСмпляр QUIK ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» AmiBroker, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ сСти Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, связка Q2Ami+t18qsrv позволяСт ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² AmiBroker ΠΏΠΎΡ‚ΠΎΠΊ ΠΎΠ±Π΅Π·Π»ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… сдСлок.

Код ΠΏΠ»Π°Π³ΠΈΠ½Π° устроСн Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ позволяСт "Π½Π° Π»Π΅Ρ‚Ρƒ" Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ прСобразования ΠΏΠΎΡ‚ΠΎΠΊΠ° сдСлок Π² любой Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π²ΠΈΠ΄ (Π²Π°ΠΌ придётся Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ для этого) ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΊΠ΅Ρ€ AmiBroker. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° см. Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ класса ::t18::_Q2Ami::modes::ticks Π² Ρ„Π°ΠΉΠ»Π΅ q2ami_convs.h. Π’Π°ΡˆΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сохранитС Π² "../t18+/Q2Ami/exp_convs.h" ΠΈ Π² Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ†Π΅ Π½Π΅Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΡƒ Conv_Modes_t Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ это сдСлано Π² q2ami_convs.h, Ρ‚ΠΎΠ³Π΄Π° ваши ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€Ρ‹ подхватятся автоматичСски.

Бтатус ΠΊΠΎΠ΄Π°

Π’ Ρ†Π΅Π»ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ скорСС ΠΊΠ°ΠΊ "ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ Π±Π΅Ρ‚Π° v2", Ρ‚.ΠΊ., Π² основном, всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π½ΠΎ Π΅ΡΡ‚ΡŒ Π½ΡŽΠ°Π½ΡΡ‹:

  1. отсутствуСт ΠΊΠΎΠ΄ восстановлСния соСдинСния с прокси t18qsrv ΠΏΡ€ΠΈ ΠΏΠΎΡ‚Π΅Ρ€Π΅ связи. Π’ случаС ΠΏΠΎΡ‚Π΅Ρ€ΠΈ соСдинСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ AmiBroker (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это Π½Π΅ большая ΠΈ ΠΎΡ‡Π΅Π½ΡŒ рСдкая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² силу нСзащищённости ΠΊΠ°Π½Π°Π»Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Q2Ami ΠΈ t18qsrv, Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ лишь Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ΄Π½ΠΎΠΉ Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½ΠΎΠΉ локальной сСти, Π³Π΄Π΅ Ρ€Π°Π·Ρ€Ρ‹Π²Ρ‹ соСдинСний - ΠΊΡ€Π°ΠΉΠ½Π΅ Ρ€Π΅Π΄ΠΊΠΎΠ΅, Ссли Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ вСроятноС, явлСниС).

  2. Иногда послС конфигурирования Π±Π°Π·Ρ‹ Ρ‡Π΅Ρ€Π΅Π· Ami File/Database settings.../Configure ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ Π½Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ запросы ΠΊ сСрвСру Π½Π° подписку Π½Π° Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΊΠ΅Ρ€Π°. ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊ Ami всё Ρ€Π΅ΡˆΠ°Π΅Ρ‚.

Условия использования

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° поставляСтся Π½Π° условиях стандартной Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ свободного ПО GNU GPLv3. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΈΠ»ΠΈ Π΅Π³ΠΎ Ρ‡Π°ΡΡ‚ΡŒ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ лицСнзия прямо Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚, ΠΏΠΈΡˆΠΈΡ‚Π΅ Π½Π° [email protected], договоримся.

Если Π²Ρ‹ Π·Π°Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ с участиСм ΠΏΠ»Π°Π³ΠΈΠ½Π° дСньги, Ρ‚ΠΎ, навСрняка, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ сколько Ρ‚Ρ€ΡƒΠ΄Π° стоит ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ½Π°Ρ‚ для покрытия расходов Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π° своё усмотрСниС. Π—Π° дСталями Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΠΈΡˆΠΈΡ‚Π΅ Π½Π° [email protected].

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация

Код содСрТит Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· AmiBroker SDK, Ρ€Π°Π·Ρ€Π΅ΡˆΡ‘Π½Π½Ρ‹Π΅ ΠΊ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Π΅Π½ΠΈΡŽ. Π­Ρ‚ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ:

///////////////////////////////////////////////////////////////////////
// Copyright (c) 2001-2010 AmiBroker.com. All rights reserved. 
//
// Users and possessors of this source code are hereby granted a nonexclusive, 
// royalty-free copyright license to use this code in individual and commercial software.
//
// AMIBROKER.COM MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOURCE CODE FOR ANY PURPOSE. 
// IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND. 
// AMIBROKER.COM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOURCE CODE, 
// INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 
// IN NO EVENT SHALL AMIBROKER.COM BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR 
// CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 
// WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 
// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE.
// 
// Any use of this source code must include the above notice, 
// in the user documentation and internal comments to the code.
///////////////////////////////////////////////////////////////////////

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€

Q2Ami Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ с использованиСм прСвосходного компилятора Clang v6 Π½Π°Π±ΠΎΡ€Π° LLVM, поэтому вСрсия 6 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹Π΅ вСрсии Π‘lang Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ сразу. Π”Ρ€ΡƒΠ³ΠΈΠ΅ соврСмСнныС компиляторы, ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Π‘++17 тСорСтичСски Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠΆΠ΅, Π½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, придётся внСсти нСбольшиС ΠΏΡ€Π°Π²ΠΊΠΈ.

Π‘Ρ€Π΅Π΄Π° Visual Studio 2015 (ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ присутствуСт Π² исходных ΠΊΠΎΠ΄Π°Ρ…) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΊ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ΄Π° ΠΈ инструмСнт управлСния компиляциСй. ИспользованиС Π΅Ρ‘ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Для компилятора VC вСрсии 2015 ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, скорСС всСго, Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ ΠΏΠΎ Π·ΡƒΠ±Π°ΠΌ, ΠΈΠ·-Π·Π° зависимостСй Π½Π° Ρ„Ρ€Π΅ΠΉΠΌΡ„ΠΎΡ€ΠΊ t18, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π‘++17, Π½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π±ΠΎΠ»Π΅Π΅ свСТиС VC2017 ΠΈΠ»ΠΈ VC2019 ΡƒΠΆΠ΅ справятся.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½ Post-Build Event Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ собранная .dll ΠΏΠ»Π°Π³ΠΈΠ½Π° копируСтся Π² ΠΏΠ°ΠΏΠΊΡƒ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² AmiBroker. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΈ пСрСнастройтС ΠΏΠΎΠ΄ сСбя, ΠΈΠ»ΠΈ ΡƒΠ±Π΅Ρ€ΠΈΡ‚Π΅ этот шаг.

Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ зависимости

  • ΠšΡ€ΠΎΠΌΠ΅ стандартных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² STL (использовалась вСрсия stl ΠΈΠ· VC2015, Π½ΠΎ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ старыми вСрсиями ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Boost Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ "Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹" (использовалась вСрсия 1.70, Π±ΠΎΠ»Π΅Π΅ свСТиС Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ (1.75 сСйчас) ). ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΠΈ Boost Π½Π΅ трСбуСтся.

  • Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ t18 содСрТит Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ описания ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½Ρ‹Π΅ Π½ΡƒΠΆΠ½Ρ‹Π΅ части. Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ достаточно ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ/ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π½Π°Π΄-ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π² ΠΏΠ°ΠΏΠΊΡƒ ../t18, ΠΈ ΠΎΠ½ подхватится автоматичСски. На всякий случай: ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° полагаСтся Π½Π° самый послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚ t18.

  • Быстрая lock-free ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ readerwriterqueue. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π°Π΄ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ/ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π½Π°Π΄-ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ../_extern/readerwriterqueue/ ΠΈ всё подхватится автоматичСски.

  • Заголовочная вСрсия INIReader Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Π½Π°Π΄-ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ../_extern/inih/

  • БистСма логирования spdlog. Если ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ/ΡΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π½Π°Π΄-ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ../_extern/spdlog-1.3.1/, подхватится автоматичСски. ΠŸΡ€ΠΈ нСизмСнности интСрфСйса, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ, Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹Π΅ вСрсии, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² случаС ошибок - Π±Π΅Ρ€ΠΈΡ‚Π΅ Π²Π΅Ρ€ΡΠΈΡŽ 1.3.1. ΠŸΡƒΡ‚ΡŒ ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ прописываСтся Π½Π° листС VC++ Directories свойств ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π΅ Include Directories.

ИспользованиС

QUIK с Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ прокси t18qsrv Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½ ΠΈ доступСн ΠΏΠΎ сСти. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π² КвикС запрос ΠΎΠ±Π΅Π·Π»ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… сдСлок для Π½ΡƒΠΆΠ½Ρ‹Ρ… инструмСнтов.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π²ΠΈΠ΄ΠΈΡ‚ Π»ΠΈ AmiBroker установлСнный ΠΏΠ»Π°Π³ΠΈΠ½, ΠΌΠΎΠΆΠ½ΠΎ Π² мСню Tools / Plugins.... Π’Π°ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ My QUIK2Ami, столбСц type Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ data.

Под Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· QUIK придётся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… (это общая рСкомСндация AmiBroker, ΠΈΠ·-Π·Π° Π΅Π³ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ устройства Π½Π΅ ΡΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Π±Π°Π·Ρ‹ с большими историчСскими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с Π±Π°Π·Π°ΠΌΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΡ… data-source ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²). Для этого:

  1. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π² любом мСстС Π½Π° дискС (ΠΊΡƒΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ AmiBroker) ΠΏΡƒΡΡ‚ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ стоит сразу ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³-Ρ„Π°ΠΉΠ» cfg.ini, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ Π² числС ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ IP-адрСс ΠΈ ΠΏΠΎΡ€Ρ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ t18qsrv. Настройки ΠΊΠΎΠ½Ρ„ΠΈΠ³Π° описаны дальшС Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ послС знакомства со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ шагами. Π’ случаС отсуствия этого Ρ„Π°ΠΉΠ»Π°, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ создан ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ запускС с Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½Ρ‹ΠΌ содСрТимым.

  2. Π”Π°Π»Π΅Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ мСню File / New / Database..., Π² появившСмся Π΄ΠΈΠ°Π»ΠΎΠ³Π΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ "Database folder" ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ€Π°Π½Π΅Π΅ созданной ΠΏΠ°ΠΏΠΊΠ΅, Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ "Base time interval" Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Tick ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Create. Π”Π°Π»Π΅Π΅ станут доступны ΠΎΠΏΡ†ΠΈΠΈ "Data source", Π³Π΄Π΅ Π½Π°Π΄ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ My QUIK2Ami ΠΈ Π·Π°Π΄Π°Ρ‚ΡŒ достаточно большоС число Π±Π°Ρ€ΠΎΠ² Π² "Number of bars". ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ "Local data storage" Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Enable, ΠΈΠ½Π°Ρ‡Π΅ Π΄Π°Π½Π½Ρ‹Π΅ (ΠΎΠ±Π΅Π·Π»ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ сдСлки) ΠΏΠΎ ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΌ Ρ‚ΠΎΡ€Π³ΠΎΠ²Ρ‹ΠΌ сСссиям (Ссли ΠΈΡ… Π½Π΅ сохраняСт ваш Π±Ρ€ΠΎΠΊΠ΅Ρ€, Π° скорСС всСго ΠΎΠ½ ΠΈΡ… Π½Π΅ сохраняСт), ΠΏΡ€ΠΎΠΏΠ°Π΄ΡƒΡ‚.

    • НСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΠΆΠΈΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ/агрСгирования ΠΎΠ±Π΅Π·Π»ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… сдСлок Π²Ρ‹ Π΅Ρ‰Ρ‘ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚Π΅, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ "Base time interval" Π² ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ Tick. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ AmiBroker Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Π΅ ΠΎΡ‚ ΠΏΠ»Π°Π³ΠΈΠ½Π° Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΡ… сохранСниСм Π² свою Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ….

    • Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ историчСских Π±Π°Π· (Ρ‚ΠΈΠΏ Data Source (local database)), Π³Π΄Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ "Number of bars" Π½Π΅ влияСт Π½Π° ΠΎΠ±ΡŠΡ‘ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ истории ΠΏΠΎ инструмСнту, для всСх ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² "Number of bars" Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ доступной истории Π·Π°Π΄Π°Ρ‘Ρ‚ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΈ ΠΎΠ½Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½Π°, - старыС Π΄Π°Π½Π½Ρ‹Π΅ просто ΠΈΡΡ‡Π΅Π·Π°ΡŽΡ‚ (ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ). Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° исходя ΠΈΠ· собствСнных потрСбностСй ΠΈ мощности ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° (ΡƒΡ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ использовании data-source ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² AmiBroker ΠΈ Π΅Π³ΠΎ afl-Π΄Π²ΠΈΠΆΠΎΠΊ становится нСсколько ΠΌΠ΅Π½Π΅Π΅ эффСктивным, поэтому Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π½Π΅ Π½Π°Π΄ΠΎ). Π’ качСствС стартовой Ρ‚ΠΎΡ‡ΠΊΠΈ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ, Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΠΎΠΉΠ΄Ρ‘Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² 150000-600000 Π±Π°Ρ€ΠΎΠ². Для самых Π»ΠΈΠΊΠ²ΠΈΠ΄Π½Ρ‹Ρ… инструмСнтов Ρ„ΠΎΠ½Π΄ΠΎΠ²ΠΎΠΉ сСкции ΠœΠΎΡΠ‘ΠΈΡ€ΠΆΠΈ этого значСния ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ всС сдСлки Π΄Π²ΡƒΡ…-Ρ‚Ρ€Ρ‘Ρ…-Ρ‡Π΅Ρ‚Ρ‹Ρ€Ρ‘Ρ… Ρ‚ΠΎΡ€Π³ΠΎΠ²Ρ‹Ρ… Π΄Π½Π΅ΠΉ. Для ΠΌΠ΅Π½Π΅Π΅ Π»ΠΈΠΊΠ²ΠΈΠ΄Π½Ρ‹Ρ… - Π½Π΅Π΄Π΅Π»ΠΈ ΠΈ Π±ΠΎΠ»Π΅Π΅. Однако, для самых Π»ΠΈΠΊΠ²ΠΈΠ΄Π½Ρ‹Ρ… Ρ„ΡŒΡŽΡ‡Π΅Ρ€ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ Π΄Π°ΠΆΠ΅ Π½Π° дСнь.

  3. Π”Π°Π»Π΅Π΅, Ссли ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ статуса ΠΏΠ»Π°Π³ΠΈΠ½Π° (Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ ΠΎΠΊΠ½Π° Π² статус-Π±Π°Ρ€Π΅ Π»Π΅Π²Π΅Π΅ ΠΎΡ‚ ΠΎΠ±ΡŠΡ‘ΠΌΠ° доступной памяти) ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½ подсоСдинился ΠΊ t18qsrv (Π²Ρ‹ ΠΆΠ΅ настроили ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ IP-адрСс Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³Π΅?), Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Configure. Π’ΠΎΠ³Π΄Π° ΠΏΠ»Π°Π³ΠΈΠ½ свяТСтся с сСрвСром t18qsrv, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ свойства Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³-Ρ„Π°ΠΉΠ»Π΅ cfg.ini инструмСнтов, ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ ΠΈΡ… Π² список Ρ‚ΠΈΠΊΠ΅Ρ€ΠΎΠ² AmiBroker (Ρ‚ΡƒΡ‚, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, потрСбуСтся ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ami). ПослС этого ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ Ρ‡Π΅Ρ€Π΅Π· "ОК", Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΊΠ΅Ρ€ ΠΈΠ· списка Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Symbols ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

    • ΠΠ°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ Configure Π² этом Π΄ΠΈΠ°Π»ΠΎΠ³Π΅ (доступном Ρ‚Π°ΠΊ ΠΆΠ΅ Ρ‡Π΅Ρ€Π΅Π· мСню File / Database settings) потрСбуСтся Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²Ρ‹Ρ… инструмСнтов Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ cfg.ini ΠΈ пСрСзапуска процСсса Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ AmiBroker Π½Π΅ прСдоставляСт ΠΈΠ½ΠΎΠ³ΠΎ доступа ΠΊ API добавлСния Ρ‚ΠΈΠΊΠ΅Ρ€ΠΎΠ², ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠ°ΠΊ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ события конфигурирования.

    • Π£Π΄Π°Π»Ρ‘Π½Π½Ρ‹Π΅ ΠΈΠ· cfg.ini инструмСнты автоматичСски ΡƒΠ΄Π°Π»ΡΡ‚ΡŒΡΡ Π½ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ случаС Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚. ΠŸΡ€ΠΈ нСобходимости ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ ΠΈΡ… Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Ρ‡Π΅Ρ€Π΅Π· Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Symbols (Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ Ρ‚ΠΈΠΊΠ΅Ρ€ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π·Π°ΠΆΠ°Ρ‚ΠΎΠΉ ctrl, Π·Π°Ρ‚Π΅ΠΌ Π² мСню ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ Delete).

    • Никогда Π½Π΅ измСняйтС Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ ΠΈΠΌΠ΅Π½Π° Ρ‚ΠΈΠΊΠ΅Ρ€ΠΎΠ², ΠΈΠ½Π°Ρ‡Π΅ всё сломаСтС.

Об ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ Ρ‚ΠΈΠΊΠ΅Ρ€ΠΎΠ², принятом Π² Q2Ami

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

<Ticker>@<Class>|<mode_name>|<modeId>

Π’ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠΉ вСрсии Q2Ami Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π΅ΠΆΠΈΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΎΠ±Π΅Π·Π»ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… сдСлок (ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ <mode_name>), - ΠΎΠ½ ΠΆΠ΅ "Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ", - ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся ticks (Π΅Π³ΠΎ рСализация описана Π² классС ::t18::_Q2Ami::modes::ticks Ρ„Π°ΠΉΠ»Π° q2ami_convs.h ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована ΠΊΠ°ΠΊ Π±Π°Π·Π° для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ слоТных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²). БоотвСтствСнно, <mode_name>|<modeId> для всСх инструмСнтов с этим Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΈΠ΄ ticks|0 (Π³Π΄Π΅ 0 Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ (<modeId>) это ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ числСнный ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ€Π΅ΠΆΠΈΠΌΠ°, Π½Π°Π·Π½Π°Ρ‡Π°Π΅ΠΌΡ‹ΠΉ автоматичСски; ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½ для упрощСния обращСния ΠΊ ΠΊΠΎΠ΄Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ этот Ρ€Π΅ΠΆΠΈΠΌ).

  • Π² случаС, Ссли Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³Π΅ Π·Π°Π΄Π°Π½ΠΎ Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° hideTickerModeName (Π° это Ρ‚Π°ΠΊ ΠΏΠΎ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Ρƒ), Ρ‚ΠΎ тСкстовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ <mode_name> Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ ΠΈΠΌΠ΅Π½ΠΈ Ρ‚ΠΈΠΊΠ΅Ρ€Π° (для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° строки Ρ‚ΠΈΠΊΠ΅Ρ€Π°).
  • Π² случаС, Ссли Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³Π΅ Π·Π°Π΄Π°Π½ΠΎ Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° classnameAsId (Π° это Ρ‚Π°ΠΊ ΠΏΠΎ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Ρƒ), Ρ‚ΠΎ вмСсто строкового значСния <Class> Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‚ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ числСнный ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, Π½Π°Π·Π½Π°Ρ‡Π°Π΅ΠΌΡ‹ΠΉ автоматичСски (Π½ΡƒΠΆΠ½ΠΎ для Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ†Π΅Π»ΠΈ - ΡƒΠΊΠΎΡ€ΠΎΡ‚ΠΈΡ‚ΡŒ строку Ρ‚ΠΈΠΊΠ΅Ρ€Π°)

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

  • ΠΏΠΎΡ‚ΠΎΠΊΡƒ ΠΎΠ±Π΅Π·Π»ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… сдСлок ΠΏΠΎ акциям Π“Π°Π·ΠΏΡ€ΠΎΠΌΠ° (ΠΊΠΎΠ΄ GAZP) Ρ„ΠΎΠ½Π΄ΠΎΠ²ΠΎΠΉ сСкции ΠœΠΎΡΠ‘ΠΈΡ€ΠΆΠΈ (ΠΊΠΎΠ΄ класса TQBR) Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Ρ‚ΠΈΠΊΠ΅Ρ€ Π² Ami GAZP@TQBR|ticks|0 ΠΈΠ»ΠΈ GAZP@1|0 с Π΄Π΅Ρ„ΠΎΠ»Ρ‚ΠΎΠ²Ρ‹ΠΌΠΈ значСниями Ρ„Π»Π°Π³ΠΎΠ² hideTickerModeName ΠΈ classnameAsId.
  • ΠΎΠ±Π΅Π·Π»ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ сдСлкам Ρ„ΡŒΡŽΡ‡Π΅Ρ€ΡΠ° (ΠΊΠΎΠ΄ класса SPBFUT) Π½Π° Π½Π΅Ρ„Ρ‚ΡŒ, ΠΈΡΡ‚Π΅ΠΊΠ°ΡŽΡ‰Π΅Π³ΠΎ Π² Π°ΠΏΡ€Π΅Π»Π΅ 2021 (ΠΊΠΎΠ΄ BRJ1), - Ρ‚ΠΈΠΊΠ΅Ρ€ BRJ1@SPBFUT|ticks|0 (ΠΈΠ»ΠΈ BRJ1@0|0)

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Q2Ami. ΠžΠΏΡ†ΠΈΠΈ cfg.ini

Вся настройка ΠΏΠ»Π°Π³ΠΈΠ½Π° выполняСтся посрСдством ΠΊΠΎΠ½Ρ„ΠΈΠ³-Ρ„Π°ΠΉΠ»Π° cfg.ini, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ располоТСн Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… AmiBroker. Π€Π°ΠΉΠ» ΠΈΠΌΠ΅Π΅Ρ‚ ini-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈ читаСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΏΡ€ΠΈ стартС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, поэтому Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Ρ…Π²Π°Ρ‚ΠΈΠ»ΠΈΡΡŒ сдСланныС измСнСния пСрСзапускайтС процСсс Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°.

Если ΠΏΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π΅Ρ‘ ΠΏΠ°ΠΏΠΊΠ΅ отсутсутствуСт ΠΊΠΎΠ½Ρ„ΠΈΠ³-Ρ„Π°ΠΉΠ», Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ создан автоматичСски со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΌ содСрТаниСм:

# default config, edit as necessary

# server's ip&port address:
serverIp = 111.222.113.224
serverPort = 8945

# shorten ticker class/category to id. If zero, will use full string, else - zero-based id (default)
classnameAsId = 1
# only ticker mode ID will be printed to Ami's ticker name if nonzero
hideTickerModeName = 1

# specify category of tickers to fetch using classCode as [section name]
# On MOEX.com the TQBR code is used for the stock market section and the SPBFUT for the derivatives market
# QJSIM is used in a QUIK Junior (QUIK's demo) program to address simulated data for stock market
[TQBR]

# tickers is a comma separated list of tickers codes for the class
tickers = GAZP,SBER

# sessionStart and sessionEnd variables serves as default values for ticker time filters.
# Each may be overridden with corresponding <ticker>_sessionStart and <ticker>_sessionEnd.
# set to -1 to disable filtering
sessionStart = 100000
sessionEnd = 184000

# Usually QUIK allows to request anonymised deals up to 19:00 of the previous day for SPBFUT and for today only for TQBR.
# It's good idea to re-request all the deals on each connect to properly update Ami's internal arrays
# tradingDay* parameters governs this exact behaviour.
tradingDayBeginsAtPrevDay = 0
tradingDayBeginsAt = 0

# defModes can be overridden for each ticker with <ticker>_modes
defModes = ticks

# ExpDailyDealsCount is a daily expected number of deals for a ticker
defExpDailyDealsCount = 50000

# futures and options on MOEX have this class code
[SPBFUT]
# tickers is a comma separated list of tickers codes for the class
tickers = GZM1

# To request deals starting at 19:00:00 of the yesterday. Note that if your broker
# doesn't provide deals from yesterday's evening session, you would better
# set these params to 0 or the corresponding data in Ami will be erased.
tradingDayBeginsAtPrevDay = 1
tradingDayBeginsAt = 190000

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° (serverIp ΠΈ serverPort) Π·Π°Π΄Π°ΡŽΡ‚ ΡΠ΅Ρ‚Π΅Π²ΡƒΡŽ Π°Π΄Ρ€Π΅ΡΠ°Ρ†ΠΈΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π³Π΄Π΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ сСрвСр t18qsrv. Если Π²Ρ‹ Π½Π΅ мСняли Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠΎΡ€Ρ‚Π° ΠΏΡ€ΠΈ сборкС t18qsrv, Ρ‚ΠΎ Π²Π°ΠΌ потрСбуСтся Π·Π°Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ IP-адрСс.

ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚, ΠΊΠ°ΠΊΠΈΠ΅ инструмСнты Π½Π°Π΄ΠΎ Π²Ρ‹Ρ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ· QUIK, ΠΊΠ°ΠΊ ΠΈΡ… Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈ с ΠΊΠ°ΠΊΠΈΠΌΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΎΠ±Π΅Π·Π»ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… сдСлок ΠΈΡ… Π½Π°Π΄ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² AmiBroker. Для этого ΠΊΠΎΠ½Ρ„ΠΈΠ³ Ρ„Π°ΠΉΠ» разбиваСтся Π½Π° сСкции (ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ [ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ ] скобками), Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… описываСт ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу относятся Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ Π² сСкции инструмСнты. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° сСкция [TQBR], которая соотвСтствуСт Ρ„ΠΎΠ½Π΄ΠΎΠ²ΠΎΠΌΡƒ Ρ€Ρ‹Π½ΠΊΡƒ ΠœΠΎΡΠ‘ΠΈΡ€ΠΆΠΈ. БСкция [SPBFUT] описывала Π±Ρ‹ срочный Ρ€Ρ‹Π½ΠΎΠΊ ΠœΠΎΡΠ‘ΠΈΡ€ΠΆΠΈ. НазваниС этих строк (TQBR ΠΈ SPBFUT) просто ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² QUIK, поэтому ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΡ… Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ сСкции Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

  • tickers Π·Π°Π΄Π°Ρ‘Ρ‚ список ΠΊΠΎΠ΄ΠΎΠ² инструмСнтов Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ класса, Ρ€Π°Π·Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ запятыми.

  • Π”Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° sessionStart ΠΈ sessionEnd ΠΌΠΎΠ³ΡƒΡ‚ (ΠΏΡ€ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΎΡ‚ -1) Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ (для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΊΠ΅Ρ€Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ класса/сСкции) Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² military time Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅.

    • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ значСния 100000 ΠΈ 184000 ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ 10:00:00 ΡƒΡ‚Ρ€Π° ΠΈ 18:40:00 Π²Π΅Ρ‡Π΅Ρ€Π°, Ρ‚.Π΅. основной Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎΠΉ сСссии Ρ„ΠΎΠ½Π΄ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Ρ‹Π½ΠΊΠ°. БоотвСтствСнно, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ сдСлки Π°ΡƒΠΊΡ†ΠΈΠΎΠ½Π° открытия ΠΈ Π°ΡƒΠΊΡ†ΠΈΠΎΠ½Π° закрытия Π² это врСмя Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚, Ρ‚ΠΎ ΠΈ Π² AmiBroker ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠΎΠΏΠ°Π΄ΡƒΡ‚.

    • Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΊΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ значСния этих ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ шаблон <ticker>_sessionStart ΠΈ <ticker>_sessionEnd. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ всю Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для сдСлок ΠΏΠΎ акциям Π“Π°Π·ΠΏΡ€ΠΎΠΌΠ°, добавляСм строки

GAZP_sessionStart = -1
GAZP_sessionEnd = -1
  • ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ defModes Π·Π°Π΄Π°Ρ‘Ρ‚ Ρ€Π°Π·Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ запятыми Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ список Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ/агрСгирования ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΎΠ±Π΅Π·Π»ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… сдСлок. НапримСр, Ссли Π²Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚Π΅ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€ Π² Ρ‚Π°ΠΉΠΌΡ„Ρ€Π΅ΠΉΠΌ М1 ΠΈ Π½Π°Π·ΠΎΠ²Ρ‘Ρ‚Π΅ Π΅Π³ΠΎ M1, Ρ‚ΠΎ этому ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ticks,M1 для экспорта Π² AmiBroker ΠΈ чистых Ρ‚ΠΈΠΊΠΎΠ², ΠΈ Ρ‚Π°ΠΉΠΌΡ„Ρ€Π΅ΠΉΠΌΠ° М1.

    • ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΊΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ список Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ собрано ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ <ticker>_modes
  • defExpDailyDealsCount: ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ AmiBroker обновляСт Π² локальной Π±Π°Π·Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ Ρ‚ΠΈΠΊΠ΅Ρ€Ρ‹, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ (строит Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€), Π° ΠΏΠΎΡ‚ΠΎΠΊ ΠΎΠ±Π΅Π·Π»ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… сдСлок ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ, Ρ‚ΠΎ всС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ сдСлки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² памяти, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ быстро Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈΡ… Π² AmiBroker ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ запроса. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ defExpDailyDealsCount просто Π·Π°Π΄Π°Ρ‘Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ::std::vector, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠΈΠ΅ сдСлки. ΠšΠΎΡ€ΠΎΡ‡Π΅, это просто настройка Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΏΡ€Π΅-аллоцирования памяти для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ лишний Ρ€Π°Π· ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ Π½Π΅ Ρ‚Ρ€Π°Ρ‚ΠΈΠ»ΠΈΡΡŒ рСсурсы Π½Π° Ρ€Π΅Π°Π»Π»ΠΎΠΊΠ°Ρ†ΠΈΡŽ ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…. Особо Π½Π°Π΄ Π½Π΅ΠΉ Π·Π°ΠΌΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅Ρ‚ смысла, Ρ‚.ΠΊ. Π²ΠΈΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΡƒΡ‰Π΅Ρ€Π±Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, скорСС всСго, Π΄Π°ΠΆΠ΅ самоС Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠ΅ ΠΌΠ°Π»ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ нанСсёт. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ большСС срСднСго числа сдСлок Π·Π° дСнь ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ.

    • Для пСрСопрСдСлСния значСния для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΊΠ΅Ρ€Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ шаблон ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° <ticker>_ExpDailyDealsCount

РСшСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ

НачинайтС с контроля Π»ΠΎΠ³ΠΎΠ²: ΠΏΠ»Π°Π³ΠΈΠ½ записываСт тСкстовыС Π»ΠΎΠ³ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… основных Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… процСссов Π² Ρ„Π°ΠΉΠ» logs.txt (Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊ ΠΆΠ΅ Π°Ρ€Ρ…ΠΈΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ logs.N.txt, Π³Π΄Π΅ N ΠΎΡ‚ 1 Π΄ΠΎ 3), Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Макс. Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° 64Кб.

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Π»ΠΎΠ³ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Π² стандартный ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ Windows Ρ‡Π΅Ρ€Π΅Π· WinApi ::OutputDebugString(). Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, DebugView.

Change Log

2021 Apr 01

  • Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ пофиксил Π±Π°Π³ с ошибкой тайстСмпов ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… с сСрвСра. Π•Ρ‰Ρ‘ ΠΏΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽ ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠ±Π΅Ρ€Ρƒ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅.
  • для класса инструмСнтов Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³Π΅ Π²Π²Π΅Π΄Π΅Π½Ρ‹ Π΄Π²Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ запросом Π΄Π°Π½Π½Ρ‹Ρ…, - врСмя (milTime Ρ„ΠΎΡ€ΠΌΠ°Ρ‚) tradingDayBeginsAt ΠΈ Π±ΡƒΠ»Π΅Π²ΠΎΠ΅ tradingDayBeginsAtPrevDay. Для инструмСнтов SPBFUT (Ρ„ΡŒΡŽΡ‡Π΅Ρ€ΡΡ‹ ΠΈ ΠΎΠΏΡ†ΠΈΠΎΠ½Ρ‹ MOEX) ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ 19:00:00 ΠΈ 1(true), Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ начиная со Π²Ρ‡Π΅Ρ€Π°ΡˆΠ½Π΅ΠΉ Π²Π΅Ρ‡Ρ‘Ρ€ΠΊΠΈ. Для всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… иструмСнтов ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ врСмя 00:00:00 ΠΈ 0(false), Ρ‡Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ сдСлок Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π° сСгодняший дСнь (ΠΌΠΎΠΉ Π±Ρ€ΠΎΠΊΠ΅Ρ€ для всСх, ΠΊΡ€ΠΎΠΌΠ΅ Ρ„ΡŒΡŽΡ‡Π΅ΠΉ, ΠΎΡ‚Π΄Π°Ρ‘Ρ‚ сдСлки Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π° этот дСнь, - Π΄ΡƒΠΌΠ°ΡŽ, Ρ‚Π°ΠΊ Ρƒ всСх). Π’ Ρ†Π΅Π»ΠΎΠΌ, запрос Π΄Π°Π½Π½Ρ‹Ρ… начиная с самого Π½Π°Ρ‡Π°Π»Π° Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎΠΉ сСссии/дня - ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ ΠΌΠ΅Ρ€Π°, Ρ‚.ΠΊ. позволяСт Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Ρ‹ Ρ‚ΠΈΠΊΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΉ Π±Π°Ρ€ Π² ΠΊΡ€ΠΈΠ²ΠΎΠΌ/Π½Π΅Π·Π°Π²Π΅Ρ€ΡˆΡ‘Π½Π½ΠΎΠΌ состоянии с ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ запуска.
  • ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ t18 ΠΈ пСрСсобСритС прокси t18qsrv

2021 Mar 30

  • ΠΊΠΎΠ½Ρ„ΠΈΠ³ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ называСтся Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ cfg.ini вмСсто старого cfg.txt
  • Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° Π±Π°Π·Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ запуск Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ экзСмпляра процСсса AmiBroker Π½Π΅ стал Π±Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Ρ‚Ρƒ ΠΆΠ΅ Π±Π°Π·Ρƒ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ процСссом. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΠ΄Π½Π°ΠΊΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ хотя Q2Ami Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ экзСмплярС Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, сам AmiBroker ΠΏΠΎ ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π±Π°Π·Ρƒ ΠΏΠΎ своСму ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ, - насколько я понимаю, ΠΈΠ· ΠΏΠ»Π°Π³ΠΈΠ½Π° Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±Π°Π·Ρ‹ самим Ami Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ запускС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Π½Π΅ Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ami Π½ΠΈΡ‡Π΅Π³ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π±Π°Π·Ρƒ.

2021 Mar 25

  • Π£ΠΏΡ€ΠΎΡ‰Ρ‘Π½-ΡƒΠΊΠΎΡ€ΠΎΡ‡Π΅Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ‚ΠΈΠΊΠ΅Ρ€ΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ Ami, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ classnameAsId ΠΈ hideTickerModeName.
  • ОбновлСн интСрфСйс ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€ΠΎΠ² Ρ‚ΠΈΠΊΠΎΠ² ΠΈ измСнилось ΠΈΡ… API
  • поддСрТиваСтся ΠΏΡ€ΠΈΡ‘ΠΌ 64-Π±ΠΈΡ‚Π½Ρ‹Ρ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² сдСлок. Для Ami Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ измСнилось, всё Ρ€Π°Π²Π½ΠΎ приходится ΠΈΡ… "ΡƒΠΆΠΈΠΌΠ°Ρ‚ΡŒ" для пихания Π²ΠΎ float.