partizand / finquote

Scripts for russian stock for perl finance-quotes
13 stars 3 forks source link

Ошибка при получении котировок #7

Closed PingWIn87 closed 3 years ago

PingWIn87 commented 3 years ago

При попытке получить котировки Получаю окно с текстом: "Произошла неизвестная ошибка при получении котировок цен" Бумага заведена как на скриншоте. Скриншот с ошибкой тоже будет приложен. image

image

RollingRusty commented 3 years ago

У меня показывает котировки с Вашими параметрами... moex-banep Вот результат: banep-quotes

PingWIn87 commented 3 years ago

А как бы мне понять, что я не так делаю? Логи где можно посмотреть

RollingRusty commented 3 years ago

Это первая акция или другие работают? Удалить и снова завести? Я тикер вручную ввел, не скопировал... Я, к сожалению, не программист, только пользователь...

PingWIn87 commented 3 years ago

Я использую базу с другого компьютера, где был установлен данный модуль. Поставил на новой машине и получаю вот такую ошибку. При этом не могу понять, куда смотреть, чтобы понять, что идёт не так.

partizand commented 3 years ago

Логов нет. Возможно ошибка не в Башнефти, а где-то в другой котировке. Например валюты. Нужно отключить все остальное. Попробуйте открыть https://iss.moex.com/iss/engines/stock/markets/shares/boardgroups/57/securities.csv, доступна ли эта ссылка?

PingWIn87 commented 3 years ago

Добрый день. Ссылка доступна, скачивается табличка. Отключил получение котировок для всех бумаг, кроме Башнефти. Результат тот же. Вот список заведённых бумаг. image

partizand commented 3 years ago

Для проверки создайте такой файл скрипта perl (например с названием price_from_cmd.pl)

##!/usr/bin/perl -w

use Finance::Quote;

my $module = "Moex";

my $method = "moex_stock";

my $quoter = Finance::Quote->new($module);

my $ticker="BANEP"; # Башнефть

my %info = $quoter->fetch($method, $ticker); 
print "$ticker: \n";
print "   date: $info{$ticker,'date'}\n";
print "   price: $info{$ticker,'price'}\n";
print "   currency: $info{$ticker,'currency'} \n";
print "   isodate: $info{$ticker,'isodate'} \n";

Запустите его

perl price_from_cmd.pl

Должна отобразится цена

Так все работает, проблема на вашей стороне. Пробел в названии тикера, еще что-то, не могу подсказать.

PingWIn87 commented 3 years ago

Скрипт отработал. Проверил как заведена бумага - ничего криминального не нашёл. На старом компьютере всё работало. Проблемы начались после переезда на новую машину.

PingWIn87 commented 3 years ago

Обновил GnuCash до 4,5, при попытке получить котировки получил внятную ошибку, связанную с Perl. Выполнил рекомендации, которые давались к этой ошибке и всё заработало. Тикет можно можно закрывать.