Perl модуль Finance::Quote::Moex ================================ Получает онлайн котировки роÑÑийÑких инÑтрументов Ñ Ð±Ð¸Ñ€Ð¶Ð¸ ММВБ иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ perl [Finance::Quote](https://github.com/finance-quote/finance-quote) Сделано Ð´Ð»Ñ [GnuCash](http://www.gnucash.org/) Котировки получаютÑÑ Ñ Ñайта http://moex.com УÑтановка --------- Ð’Ñе виды уÑтановок не изменÑÑŽÑ‚ модуль загрузки Finance::Quote. ПоÑтому по умолчанию в GnuCash модуль будет не доÑтупен. Ð”Ð»Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ ÐµÑÑ‚ÑŒ три варианта: 1. УÑтановите переменную Ñреды перед запуÑком GnuCash. ```bash FQ_LOAD_QUOTELET="-defaults Moex" gnucash ``` 2. у GnuCash еÑÑ‚ÑŒ файл наÑтройки Ñреды - `/etc/gnucash/enviroment` (Ð´Ð»Ñ linux, в оÑтальных думаю еÑÑ‚ÑŒ подобное). ДоÑтаточно в конец добавить ``` FQ_LOAD_QUOTELET=-defaults Moex ``` 3. Поправить модуль загрузки Finance::Quote, как Ñто опиÑано в ручной уÑтановке. ### УÑтановка из cpan Я добавил модуль на cpan. Можно уÑтановить из него. Ð’ любой полной верÑии Perl: ``` cpan Finance::Quote::Moex ``` ЕÑли уÑтановлен cpanminus: ``` cpanm Finance::Quote::Moex ``` ### УÑтановка на Debian/Ubuntu УÑтановите пакет .deb из [releases](https://github.com/partizand/finquote/releases) ### Ð ÑƒÑ‡Ð½Ð°Ñ Ñборка ``` make make install ``` `make install` Ð¿Ð»Ð¾Ñ…Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°. Попробуйте вмеÑто неё `checkinstall` Ðа Windows в Strawberry perl иÑпользовать gmake (в Ñтарых верÑиÑÑ… - dmake). ### Ð ÑƒÑ‡Ð½Ð°Ñ ÑƒÑтановка (не рекомендуетÑÑ) * Скопировать вÑе файлы *.pm в каталог Finance/Quote (Ð”Ð»Ñ Win обычно c:\strawberry\perl\site\lib\Finance\Quote\, Ð´Ð»Ñ linux /usr/share/perl5/Finance/quote, Ð´Ð»Ñ Mac /Library/Perl/5.18/Finance/Quote/) * Добавить в quote.pm (лежит на каталог выше), ÑÑылку на новые модули ```perl # If we get an empty new(), or one starting with -defaults, # then load up the default methods. if (!@reqmodules or $reqmodules[0] eq "-defaults") { shift(@reqmodules) if (@reqmodules); # Default modules @modules = qw/AEX AIAHK ASEGR ASX BMONesbittBurns BSERO Bourso Cdnfundlibrary Citywire CSE Currencies Deka DWS FTPortfolios Fidelity FidelityFixed FinanceCanada Fool FTfunds HU GoldMoney HEX IndiaMutual LeRevenu ManInvestments Morningstar MorningstarJP MStaruk NZX Platinum Moex SEB SIXfunds SIXshares StockHouseCanada TSP TSX Tdefunds Tdwaterhouse Tiaacref TNetuk Troweprice Trustnet Union USFedBonds VWD ZA Cominvest Finanzpartner YahooJSON Yahoo::Asia Yahoo::Australia Yahoo::Brasil Yahoo::Europe Yahoo::NZ Yahoo::USA YahooYQL ZA_UnitTrusts/; } $this->_load_modules(@modules,@reqmodules); ```  Micex включил в Moex, поÑтому модуль убрал. Можно не редактировать quote.pm, а уÑтановить переменную Ñреды перед запуÑком GnuCash ``` FQ_LOAD_QUOTELET="-defaults Moex" ``` Ð’ GnuCash заводить ценные бумаги примерно так:  ИÑпользование ------------- ### Облигации Получает Ñредневзвешенную цену предыдущего Ð´Ð½Ñ Ð´Ð»Ñ Ð¾Ð±Ð»Ð¸Ð³Ð°Ñ†Ð¸Ð¹ на ММВБ Функции: * moex_bond_tplus, Т+: ОÑновной режим - безадреÑ. Цена не будет включать ÐКД * moex_bond_tplus_nkd, Т+: ОÑновной режим - безадреÑ. Цена будет включать ÐКД * moex_bond_tplus_usd, Т+: ОÑновной режим (USD) - безадреÑ. Цена не будет включать ÐКД * moex_bond_tplus_usd_nkd, Т+: ОÑновной режим (USD) - безадреÑ. Цена будет включать ÐКД * moex_bond_tplus_eur, Т+: Облигации (EUR) - безадреÑ. Цена не будет включать ÐКД * moex_bond_tplus_eur_nkd, Т+: Облигации (EUR) - безадреÑ. Цена будет включать ÐКД * moex_bond_tplus_pir, Т+ Облигации ПИР- безадреÑ. Цена не будет включать ÐКД * moex_bond_tplus_pir_nkd, Т+ Облигации ПИР- безадреÑ. Цена будет включать ÐКД * moex_bond_tplus_pir_usd, Т+: Облигации ПИР(USD) - безадреÑ. Цена не будет включать ÐКД * moex_bond_tplus_pir_usd_nkd, Т+: Облигации ПИР(USD) - безадреÑ. Цена будет включать ÐКД Тикер указывать как на МоÑбирже. Ðапример SU26218RMFS6 - ОФЗ 26218, RU000A0JSGV0 - РЖД-32. Ðайти обозначение тикеров можно по поиÑку инÑтрумента на [Ñайте биржи](http://www.moex.com)  ### Ðкции Получает цену Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ³Ð¾ торгового Ð´Ð½Ñ Ñ€Ð¾ÑÑийÑких акций на ММВБ. Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ moex_stock Котировки берутÑÑ Ñ Ñайта МоÑбиржи.  ИÑпользуйте тип "ÐеизвеÑтный" и функцию moex_stock. ТеÑтирование ------------ ``` ONLINE_TEST="y" make test ```