Общие вопросы по разработке > Котировки
-
- Сообщения: 2
- Зарегистрирован: 05 мар 2021, 14:15
Котировки
Добрый день
Как из терминала AD получить котировки по группе инструментов за определенный период времени?
Интересует выгрузка в файл с разделителями.
Спасибо.
Как из терминала AD получить котировки по группе инструментов за определенный период времени?
Интересует выгрузка в файл с разделителями.
Спасибо.
-
- Сообщения: 535
- Зарегистрирован: 11 ноя 2018, 17:11
- Благодарил (а): 21 раз
- Поблагодарили: 92 раза
Re: Котировки
Насколько знаю, экспорта данных нет. Но м.б. это подойдет?
Re: Исторические данные
viewtopic.php?t=729#p4543
Re: Исторические данные
viewtopic.php?t=729#p4543
-
- Сообщения: 30
- Зарегистрирован: 03 окт 2020, 22:38
- Благодарил (а): 12 раз
- Поблагодарили: 7 раз
Re: Котировки
Выбираете нужный инструмент, таймфрейм и даты.
На диске С в папке temp появится файл si.txt
Если следом сразу запустить следующий то по порядку и допишет.
На диске С в папке temp появится файл si.txt
Если следом сразу запустить следующий то по порядку и допишет.
Код: Выделить всё
function Initialize()
{
StrategyName = "Загрузка котировок";
AddInput("Input1", Inputs.Candle, 1, true, "SiZ0=ФОРТС");
AddGlobalVariable("Y",Types.Double,0.0);
AddGlobalVariable("H",Types.String,0.0);
AddGlobalVariable("M",Types.String,0.0);
AddGlobalVariable("D",Types.String,0.0);
AddGlobalVariable("Min",Types.String,0.0);
AddGlobalVariable("S",Types.String,0.0);
LongLimit = 0;
ShortLimit = 0;
}
function OnUpdate()
{
Y = BarDate().Year - 2000;
if (BarDate().Month < 10) { M = String.Format("{0}{1}",0,BarDate().Month); } else { M = String.Format("{0}",BarDate().Month); }
if (BarDate().Day < 10) { D = String.Format("{0}{1}",0,BarDate().Day); } else { D = String.Format("{0}",BarDate().Day); }
if (BarTime().Hours < 10) { H = String.Format("{0}{1}",0,BarTime().Hours); } else { H = String.Format("{0}",BarTime().Hours); }
if (BarTime().Minutes < 10) { Min = String.Format("{0}{1}",0,BarTime().Minutes); } else { Min = String.Format("{0}",BarTime().Minutes); }
if (BarTime().Seconds < 10) { S = String.Format("{0}{1}",0,BarTime().Seconds); } else { S = String.Format("{0}",BarTime().Seconds); }
WriteLine("C:\\temp\\si.txt", String.Format("{0}{1}{2};{3}{4}{5};{6};{7};{8};{9};{10}", D, M, Y, H, Min, S, Input.Open[0], Input.High[0], Input.Low[0], Input.Close[0], Input.Volume[0] ));
}
-
- Сообщения: 535
- Зарегистрирован: 11 ноя 2018, 17:11
- Благодарил (а): 21 раз
- Поблагодарили: 92 раза
Re: Котировки
Я когда-то пробовал, но штука в том, что так читается только видимая часть графика + некоторая предыстория. Для того, чтобы взять бОльший кусок, надо листать график в прошлое (буквально руками), потом сортировать записи в файле по дате ... Гемор в общем, вдобавок бессмысленный, когда есть место, откуда можно скачать исторические данные без проблем.
-
- Сообщения: 30
- Зарегистрирован: 03 окт 2020, 22:38
- Благодарил (а): 12 раз
- Поблагодарили: 7 раз
Re: Котировки
Как можно листать график если вы запускаете робота? Только потом результат, но уже всё выгружено и ничего не изменится от просмотра.
Да выгружает иногда с дефектами, но если открыть инструмент руками там и есть этот дефект на графике, когда с примеру один день на СИ нету данных с 11 до 16.
Выгрузить можно, но откуда. Финам - так там концы сглажены котировок, конечно можно это игнорировать.
Да в такой спайке есть дикие гэпы на смене фьючерса, но они и в жизни будут. Я прописываю для тестирования что сделка всегда закроется в конце фьючера, что бы она не переносилась на новый фьючерс и так же вначале не торгует пока индикаторы не заполнятся данными с нового фьючерса, это тоже надо учитывать.
Но зато тут 100% истории без выравнивания.
Да выгружает иногда с дефектами, но если открыть инструмент руками там и есть этот дефект на графике, когда с примеру один день на СИ нету данных с 11 до 16.
Выгрузить можно, но откуда. Финам - так там концы сглажены котировок, конечно можно это игнорировать.
Да в такой спайке есть дикие гэпы на смене фьючерса, но они и в жизни будут. Я прописываю для тестирования что сделка всегда закроется в конце фьючера, что бы она не переносилась на новый фьючерс и так же вначале не торгует пока индикаторы не заполнятся данными с нового фьючерса, это тоже надо учитывать.
Но зато тут 100% истории без выравнивания.
-
- Сообщения: 13
- Зарегистрирован: 16 фев 2021, 22:51
- Благодарил (а): 5 раз
- Поблагодарили: 1 раз
Re: Котировки
Я тоже сталкивался с такой проблемой - нет исторических данных по фьючерсам. Писал в поддержку. Рекомендовали искать на сторонних ресурсах. В АД хорошо загружаются отсюда https://www.finam.ru/profile/mosbirzha- ... atf=1&at=1
Правда без открытого интереса, но хоть что то
Правда без открытого интереса, но хоть что то
-
- Сообщения: 30
- Зарегистрирован: 03 окт 2020, 22:38
- Благодарил (а): 12 раз
- Поблагодарили: 7 раз
Re: Котировки
Я вот понять не могу по идеи там Ask должен понимать, но почему то не загружает файл с такими данными. У кого-нибудь получилось?
п.с. Попробовал с VolumeAsk и VolumeBid ну чем чёрт не шутит, не помогло.
п.с. Попробовал с VolumeAsk и VolumeBid ну чем чёрт не шутит, не помогло.
-
- Сообщения: 13
- Зарегистрирован: 16 фев 2021, 22:51
- Благодарил (а): 5 раз
- Поблагодарили: 1 раз
Re: Котировки
По этому поводу также писал в техподдержку. Ответили так :"Судя по всему в терминале немного некорректно обрабатываются файлы в которых есть VolumeAsk - передадим разработчикам чтобы исправили. Сейчас если этот столбец есть, то не получится корректно загрузить данные". Ждём исправлений.
-
- Сообщения: 13
- Зарегистрирован: 16 фев 2021, 22:51
- Благодарил (а): 5 раз
- Поблагодарили: 1 раз
Re: Котировки
По поводу архивных данных по фьючерсам, ситуация ещё интереснее. На одном компе по Si например, архив за 19-20 год есть, на другом нет. Недавно заметил.
Вернуться в «Общие вопросы по разработке»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей