Хотел поделиться своим проектом, который разрабатываю уже несколько лет.
[ Предыстория ]
По основной профессии — я программист. Почти 20 лет в этой сфере. Основной язык — Golang (это как бы современный Си). Трейдингом увлекся еще в далеком 2009. Тогда начал торговать акциями на Московской бирже. Именно спекулятивный трейдинг. Трейдил где-то 2 года. Опыт был успешным, купил себе первую хорошую машину.
Но, что хорошо тогда понял — это то, что трейдинг сложное занятие. Он сильно тебя выматывает. Эмоционально именно. Нужно прямо учиться переступать через себя и не суетиться, сохранять спокойствие. Это на самом деле очень сложно. И это только первая часть. Вторая, не менее трудоемкая — это масса работы, исследований, изучений, экспериментов. Нужно много вечеров и ночей посвятить разбору ошибок, графиков, инструментов и т.п. Все, кто этого не делает — им просто повезло. Просто есть некоторая вероятность. Кому-то должно повезти.
Через год трейдинга я понял, что совмещать программирование и эффективный трейдинг физически очень сложно. Уйти полностью в трейдинг — значит остаться без гарантированной и хорошей зарплаты. Нужного размера капитал я накопить еще не успел. А проседать в доходах тогда, конечно не хотелось.
В роботах, особенно с большим кол-вом настроек, бывает, требуется как-то визуально выделить некоторые Параметры и/или разделить их на группы. В OsEngine имеется такая возможность, и сегодня мы рассмотрим доступный функционал, как он выглядит и как им пользоваться.
Знакомиться с функционалом будем на примере робота VisualSettingsParametersExample. Открываем проект OsEngine в Visual Studio и находим файл в папке Robots\TechSamples:
Открываем робота, смотрим Конструктор:
Все роботы в OsEngine получают информацию о рынке как напрямую с биржи, так и через «Источники». Источники – классы, дающие уникальную функциональность для торговых роботов.
Открываем новую серию статей для программистов OsEngine о его архитектуре, чтобы продвинутые программисты могли существенно расширять функционал слоя создания торговых роботов в терминале –создавать новые Источники.
Ha зaкpытии бeлoй cвeчи зaкpывaeм paнee oткpытыe лoнги в плюc.т.е. чтобы закрыть в плюс ВСЕ лонги, надо закрывать позицию не на первой попавшейся белой свече, а только по цене выше самой дорогой из предыдущих покупок.
for (int bar = 1; bar < Bars.Count; ++bar) {
if (IsLastPositionActive && (bar == Bars.Count-1 ||
Close[bar] > Open[bar])) {
while (ActivePositions.Count > 0)
ExitAtClose (bar, ActivePositions[0]);
} else if (bar < Bars.Count-10 && Close[bar] < Open[bar]) {
BuyAtClose (bar);
}
}
История торгов Сбера с 01.01.2018 по 31.12.2024 на дневках добыта с сайтаfor (int bar = 1; bar != Bars.Count; ++bar) {
if (IsLastPositionActive && (bar == Bars.Count-1 ||
Close[bar] > Open[bar])) {
while (ActivePositions.Count > 0)
ExitAtClose (bar, ActivePositions[0]);
} else if (bar < Bars.Count-10 && Close[bar] < Open[bar])
BuyAtClose (bar);
}
и его аналог на C++for (unsigned bar = 1; bar != Count; ++bar) {
if (IsLastPositionActive() && (bar == Count-1 ||
Close[bar] > Open[bar])) {
while (ActivePositions.size() > 0)
ExitAtClose (bar, ActivePositions.front());
} else if (bar < Count-10 && Close[bar] < Open[bar])
BuyAtClose (bar);
}
На всё-про-всё ушла рабочая неделя — годы уже не те.На встрече трейдеров в Челябинске я показывал тестирование форекс-робота Флай Динамик и для меня было важно, чтобы каждый понял как работает робот. Потому что когда вы понимаете как он работает, тогда вы можете самостоятельно увеличивать его доходность и ограничивать риски.
У моего биржевого робота 23 настройки, которые влияют на торговую стратегию, но всего три настройки могут увеличить итоговую доходность в несколько раз. Об одной из таких настроек мы поговорим в этой статье.
Одна из настроек форекс-робота это «Расстояние между усредняющими ордерами». Чтобы понять что это такое, нужно знать что такое стратегия усреднения. Если вы не знаете, посмотрите на моём канале видео на эту тему.
Изменяя эту настройку, мы увеличиваем или уменьшаем количество открываемых роботом ордеров в определённом диапазоне волатильности. Например, если робот торгует в боковом тренде и диапазон канала составляет 1000 пунктов, а расстояние между усредняющими ордерами 100 пунктов, то при движении цены от одной границы канала до другой робот откроет 10 ордеров.
«Вы знали, что большая часть трейдеров теряют деньги?
Эмоции, отсутствие времени, ошибки в анализе и недостаток дисциплины — вот главные враги вашей прибыли.
Страх заставляет вас закрывать сделки раньше времени. 😨
Жадность толкает на рискованные решения. 💸
Отсутствие времени не позволяет глубоко анализировать рынок. ⏳
Ошибки в анализе приводят к убыткам. 📉
Недостаток дисциплины разрушает вашу стратегию. 🚫
Но что, если я скажу вам, что есть решение, которое поможет вам избежать этих ошибок и начать торговать с уверенностью? 🚀
Наш торговый робот создан специально для того, чтобы решить эти проблемы.
Он анализирует рынок за вас, используя продвинутые алгоритмы. 🤖
Он минимизирует эмоции, принимая решения на основе данных, а не страха или жадности. 🧠
Он помогает вам оставаться дисциплинированным, следуя стратегии без отклонений. ✅
Он экономит ваше время, работая 24/7 и предоставляя четкие действия в заранее просчитанные моменты. ⏰