ROBO_Trading

Кодинг PineScript. Часть 3.

Обучение
BITFINEX:ETHUSD   Эфириум
Продолжим кодить стратегии. Раз уж простого к сложному, то будем и дальше играться с простой скользящей средней (SMA). Примитивность стратегии тут нужна чтобы код стратегии был очень небольшим и очень понятным.

Вы уже и сами можете создать стратегию, которая бы открывала лонг когда цена закрывается выше скользящей средней, и наоборот, открывала шорт, когда ниже скользящей средней. Однако, такая стратегия будет сливать. Можете проверить бектестом, если напишите такой скрипт стратегии. Так что надо бы добавить к такой стратегии различные фильтры, которые бы убрали часть убыточных сигналов. Тут рассмотрим два разных фильтра.

Фильтр по цвету свечи

Даже просто логика подскажет что покупать после красной свечи в среднем окажется выгоднее чем покупать после зеленой, или после любой. Потому как после красной цена всё-таки упала, раз уж она красная, а значит вероятность роста цена после красной свечи хоть немного, но выше. Как на графике определяется красной или зелёной будет свеча? Сравнивается что больше, цена открытия или цена закрытия. Так что мы будем делать так же. Лонг открывается после красной свечи, шорт открывается после зеленой, в среднем так чуточку выгоднее.

Пила

Если мы будем считать каждое закрытие свечи как пересечение скользящей средней, то таких пересечений окажется очень много, и за каждое такое пересечение вообще надо платить комиссию (ну кроме BitMEXа еще). Значительно снизить количество пересечений можно если увеличить требования к тому что считать пересечением. К примеру, если свеча закрылась выше скользящей средней, но low свечи находится ниже средней, то можно не считать что пересечение уже состоялось, а дожидаться, когда не только close-цена окажется выше средней, но и вообще все цены свечи. А так как нам заранее известно что именно low свечи будет самой низкой ценой свечи, то уже нет нужды проверять все остальные цены, достаточно проверить только low (или только high для пересечения сверху вниз). То есть у нас пока low свечи находится ниже скользящей средней - считается что пересечение еще не состоялось. Таким образом, пересечений будет в разы меньше, и в разы меньше ложных. "Анти-пила". Слово "пила" произошло из сленга, цена как бы "пилит" скользящую среднюю всё время закрываясь то над нею, то под нею.

Строка 3. Параметры

В строке 1 и 2 ничего нового, их пропускаю. В третьей строке задается параметр, который будет выбирать юзер в настройках. У меня это количество баров для скользящей средней. Можно поэкспериментировать с другим количество баров, друг будет лучше.

Строка 4. Передаем

Параметр bars, который задает юзер передается для расчета sma. То есть не указываю какое число баров должно быть у sma, это число будет указывать юзер.

Строка 5. Цвет

Рисуем линию sma, но теперь еще указываем ей цвет, толщину, и прозрачность, которая равна нулю у меня. Из цветом можно выбирать типа: lime, green, yellow, red, blue, black. Есть полно других, но нам этого хватит.

Остальные

В строке 6 показываю как можно получить текущий размер позиции, хотя реально в стратегии эта переменная никак не используется. То есть лишняя. Строку можно удалить и ничего не изменится.

Строки 7-8-9-10 уже и не нуждаются в объяснении.

Стратегия будет сносно работать на больших ТФ, день, 4 часа, может 2 часа еще. Шорт у неё всегда будет менее выгоден чем лонг, так что можете шорт сами отключить (поставить 0 в команде для шорта, либо сделать галки лонг/шорт, как это делаю я в своих скриптах).

Перевод

Строка 7. Если свеча полностью выше скользящей средней (low выше средней) и свеча при этом красная, то...
Строка 8. Открыть лонг (и закрыть шорт)
Строка 9. Если свеча полностью ушла под скользящую среднюю (high ниже средней) и свеча при этом зеленая, то...
Строка 10. Открыть шорт (и закрыть лонг)

То есть стратегия реверсивная, постоянно находится в сделке, либо шорт, либо лонг. Пирамидинг и прочие ухищрения не используются, хоть и возможны тут.

Связанные идеи

Отказ от ответственности

Все виды контента, которые вы можете увидеть на TradingView, не являются финансовыми, инвестиционными, торговыми или любыми другими рекомендациями. Мы не предоставляем советы по покупке и продаже активов. Подробнее — в Условиях использования TradingView.