Продолжаем разбираться с тем, как создавать источники для роботов OsEngine. В этом посте обсуждаем интерфейс (класс родитель) для всех источников в проекте.

В обозревателе решения OsEngine это здесь:
Добрый день!
Ищу решение для автоматизированного получения исторических фундаментальных данных по российским компаниям. Нужна история изменения P/E, P/S, ROE, EPS, выручки и других показателей за несколько лет для построения скринера и проведения фундаментального анализа.
Проанализировал два доступных API, но везде есть ограничения:
GetAssetFundamentalsResponse(fundamentals=[
StatisticResponse(asset_uid='40d89385-a03a-4659-bf4e-d3ecba011782',
currency='RUB',
market_capitalization=6878249241240.0,
high_price_last_52_weeks=330.45,
low_price_last_52_weeks=219.2,
average_daily_volume_last_10_days=65639361.43,
average_daily_volume_last_4_weeks=60348494.76,
beta=0.8,
free_float=0.48,
forward_annual_dividend_yield=0.0,
shares_outstanding=21586948000.0,
Рубрика «вопрос-ответ».
«Александр, а при тестировании стратегий на какие данные опираетесь:
— только теханализ
— теханализ + фундаментальный
— теханализ + макроанализ
и так далее?»
При тестировании чисто технически очень сложно, почти невозможно опираться на фундаментальный анализ. Где бы будете брать мультипликаторы 2015 года, а тем более «макроанализ»? Хотя при сильном желании можно и мультипликаторы брать, я знаю случаи, когда брали… И даже имели какие-то валидные результаты. Но по мне — та овчинка не стоит выделки. Голая цена вполне дает пищу для построения систем. Если добавлять к ней то, что вы перечислили, это будет 90% всех усилий ради 10% дополнительного результата. И то не факт, что он будет.
«1. Как по вашему долго еще можно эксплуатировать неэффективность на нашем рынке в паре юань рубль, что в вашей стратегии автоследования?
MA Color — это модифицированная скользящая средняя, которая меняет цвет в зависимости от направления тренда.
Индикатор помогает визуально определять направление тренда, особенно на мелких таймфреймах.

Settings = {
Name = "MA Color",
MAPeriod = 29, -- Период MA
MAType = 0, -- Тип усреднения (0 = SMA, 1 = EMA, 2 = SMMA, 3 = LWMA)
line = {
{
Name = "MA Up", -- Линия роста MA
Color = RGB(0, 255, 0), -- Зелёный (рост)
Type = TYPE_POINT,
Width = 2
},
{
Name = "MA Down", -- Линия падения MA
Color = RGB(255, 0, 0), -- Красный (падение)
Type = TYPE_POINT,
Width = 2
}
}
}
-- Функция расчёта скользящей средней (без рекурсии)
function MovingAverage(index, period, matype)
if index < period then return nil end -- Проверяем, есть ли достаточно данТорговля роботами по одному счету. Имеет ли смысл разделять роботов по разным счетам при торговли по одному инструменту?
Основная причина трейдеров почему они так хотят сделать из-за разнонаправленных позиций по роботам, когда один стоит в шорт, а другой в лонг и позиция в терминале нулевая. Если посчитать, то финансовый результат по операциям не изменится, будут роботы на одном счете или на разных.

Пример один робот на разных счетах:
Робот №1:
1. Открытие позиции лонг 10:15, по цене 100, позиция в терминале +1;
2. Закрытие позиции лонг в 11:40, по цене 130, позиция в терминале 0;
3. Финансовый результат 130-100=+30 пунктов;
Робот №2:
1. Открытие позиции шорт 10:50, по цене 120, позиция в терминале -1;
2. Закрытие позиции шорт в 12:10, по цене 140, позиция в терминале 0;
3. Финансовый результат 120-140=-20 пунктов;
Итоговый результат по двум операциям: 30-20=10 пунктов
Пример один робот на одном счете:
Робот 1. открытие позиции лонг 10:15, по цене 100, позиция в терминале +1;
Робот 2. открытие позиции шорт 10:50, по цене 120, позиция в терминале 0;
GitHub продолжает захватывать мир разработки: в 2024 году на платформе уже более 518 миллионов проектов, а вкладов в открытые и публичные репозитории почти 1 миллиард. Но какой язык сейчас правит балом? Спойлер: JavaScript больше не на первом месте.
🐍 Python впервые обошел JavaScript
Да-да, в 2024 году Python стал самым популярным языком на GitHub. Но почему?

👉 Простота и универсальность. Python легко читается, быстро осваивается и используется в машинном обучении, анализе данных, научных вычислениях и даже в веб-разработке. Его любят и новички, и опытные специалисты.
👉 Бум STEM-специалистов. Программисты из сфер Science, Technology, Engineering, Mathematics (наука, технологии, инженерия, математика) активно осваивают Python, увеличивая его долю среди разработчиков.
👉 Взрывной рост AI-проектов. Количество вкладов в проекты по генеративному ИИ увеличилось на 59%, а число таких репозиториев – на 98%! Искусственный интеллект уже не просто тренд – это будущее, которое пишется прямо сейчас.
Продолжаем учиться делать «Источники» для OsEngine. Источники – классы, дающие уникальную функциональность для торговых роботов.
Сегодня поговорим про общую логику работы источников в терминале.
Если смотреть на данные доступные с биржи совсем сверху, то источники являются классами «преобразования» чистых рыночных данных. Источники дают расширенный функционал к тому, что уже есть на рынке, или преобразуют эти данные в совершенно новые формы: