Комментарии пользователя sigentry
Согласен, что в сложные времена проявляется настоящий характер. И да, изучение новых инструментов – это всегда правильное решение.
ChatGPT – действительно мощный инструмент, который значительно ускоряет процесс написания кода, помогает автоматизировать рутинные задачи и даже подсказывает нестандартные решения. Но, как ты правильно заметили, он не заменит полноценного разработчика. Важно не только уметь писать код, но и понимать, как он встроен в систему, какие есть ограничения, альтернативные подходы и возможные подводные камни.
В каком-то смысле работа с ИИ похожа на взаимодействие мидла и сеньора: ИИ быстро генерирует код, а разработчик направляет, корректирует и принимает финальные решения. Главное – не отвергать новые технологии, а учиться использовать их в свою пользу. Кто умеет адаптироваться, тот всегда будет на шаг впереди.
any.dynamic_sma(1d, market, close, min_period=3, max_period=34)
Почему я это делаю? Все просто: я сам пользуюсь ботом и мне нравится его развивать. Хочу создать инструмент, который объединит возможности Pine Script, но при этом будет следить за всеми тикерами биржи и присылать алерты — решение об открытии позиции остается за мной.
Также хочу двигаться в сторону no-code решений, чтобы упростить процесс создания стратегий. В идеале — удобное мобильное приложение, в котором можно управлять стратегиями и получать уведомления. Если знаете подобные решения, буду рад, если поделитесь.
Что касается “инфоцыганства” — я ничего не продаю, просто собираю обратную связь. Возможно, вы воспринимаете смайлы как что-то негативное, но для меня в них нет ничего плохого 😊
По поводу скриптов — да, есть аналоги, но умеют ли они следить сразу за всеми тикерами?
Понимаю, что у Вас, возможно, есть время торговать через терминалы, но у меня такой возможности нет. Поэтому и создаю альтернативное решение для себя и тех, кому оно тоже будет полезно.
Vadim S,
1. Написано на golang. Все данные в памяти, нет задержки на чтение из бд. Холодное хранилище Postgres.
2. Данные с moex реалтайм стрим(не iss). Но есть искуственая задержка на моей стороне, для обеспечения работы спец символа any — иначе будет спамить алертами по каждому символу, сейчас алерт приходит на пачку символов.
По задержке из-за any, думаю сделать это фичей с включением/отключением, что бы присылать алерт без задержки.
1. Трендовые индикаторы:
• Moving Average Convergence Divergence (MACD)
• Simple Moving Average (SMA) (планируется к добавлению, из комментариев выше)
2. Моментум-индикаторы:
• Ichimoku Cloud
• Percentage Price Oscillator (PPO)
• Percentage Volume Oscillator (PVO)
• Relative Strength Index (RSI)
• Stochastic Oscillator
• Stochastic RSI
• Williams %R
• Rate of Change (ROC)
• Awesome Oscillator
• Chaikin Oscillator
• Qstick
3. Простые показатели изменения цены и объёма:
• Изменение цены (Change)
• Изменение объёма (Volume Change)
По всем индикаторам доступен хелп, можно посмотреть параметры и примеры использования. Также добавлю описания средних скользящих в разделе «индикаторы тренда», как только они будут доступны в боте.
В ближайшем будущем планирую добавить новые категории индикаторов: волатильности и объема. Так же планирую добавить больше индикаторов в существующие категории. Примерно 20-30 новых индикаторов будет добавлено.
В более длинных планах: кастомные индикаторы от пользователей и бэктест!
any.volume_change(1d, all)[0] > any.volume_change(1d, all[1]
any.volume_change(1d, all)[0] > any.volume_change(1d, all[2]
any.volume_change(1d, all)[0] > any.volume_change(1d, all[3]
any.volume_change(1d, all)[0] > any.volume_change(1d, all)[4]
Также подумаю о добавлении индикатора для нахождения среднего значения, например:
any.sma(1d, market, volume, N)[0]
Например, можно получить алерт, если у Сбера закроется часовая свеча с изменением более 2%:
SBER.change(1h, all, close)[0] > 2
// Параметры MACD
int fastEMA = 12;
int slowEMA = 26;
int signalSMA = 9;// Параметры RSI
int rsiPeriod = 14;// Проверяем условия стратегии
void CheckStrategy() {
// Получаем значения MACD
double macdCurrent = iMACD(NULL, PERIOD_H1, fastEMA, slowEMA, signalSMA, PRICE_CLOSE, MODE_MAIN, 0);
double macdPrevious = iMACD(NULL, PERIOD_H1, fastEMA, slowEMA, signalSMA, PRICE_CLOSE, MODE_MAIN, 1);// Получаем значение RSI на 5-минутном таймфрейме
double rsiCurrent = iRSI(NULL, PERIOD_M5, rsiPeriod, PRICE_CLOSE, 0);// Условия входа в лонг
if (macdCurrent > 0 && macdPrevious <= 0 && rsiCurrent > 50) {
Print(«Сигнал на покупку!»);
// Здесь можно добавить код для открытия ордера
2. Ключевая особенность того, что метатрейд выполнит скрипт только по заданным тикерам, бот же мониторит всю биржуany.macd(1h, market, 12, 26, 9, histogram)[0] > 0
any.macd(1h, market, 12, 26, 9, histogram)[1] <= 0
any.rsi(5m, market, close, 14)[0] > 50
Забыл упомянуть, any — спец символ который ищет по всем тикерам!
Если можно менять периоды индикаторов, то бот полезный.На данный момент этот функционал полностью реализован, внутри стратегии на разных индикаторах можно использовать
any.rsi(1d, all, close, 14)[0] < 30 any.rsi(1h, market, close, 8)[0] < 30
any.rsi(5m, postmarket, open, 4)[0] > 50