Простая стратегия остановки и покупки на основе процента

Автор:Чао Чжан, Дата: 2024-01-19 14:30:59
Тэги:

img

Обзор

Эта стратегия реализует простую процентную остановку и покупку. Экспериментируя с различными процентными комбинациями в разных временных рамках и диаграммах, параметры стратегии могут быть оптимизированы.

Логика стратегии

Стратегия в основном использует два показателя для достижения последнего стоп-лосса и последней покупки:

  1. Trailing Stop Line (TSL): рассчитывается на основе недавних N-бар цен закрытия и процентного зачета стоп-лосса, установленного пользователем. Снижается стоп-лосс, когда цена падает ниже этой линии.

  2. Последовательная линия покупки (TBL): рассчитывается на основе последних N бар с самыми высокими ценами и процентными ставками покупки, установленными пользователем.

Сравнивая цену с этими двумя показателями, устанавливаются правила остановки потерь и последующей покупки.

Преимущества

Преимущества этой стратегии:

  1. Просто и интуитивно понятно, легко понять и реализовать.

  2. Гибкий стоп-лосс и задержка покупки через регулировку параметров.

  3. Применяется на всех рынках и в разные периоды времени.

  4. Позволяет следовать тренду и своевременно останавливать потерю.

Риски

Риски этой стратегии включают:

  1. Неправильное установление параметров может привести к чрезмерно агрессивному стоп-лосс или покупкам.

  2. Частые сделки и сдвиги на различных рынках.

  3. Требует оптимизации параметров для различных рыночных характеристик.

Возможности для расширения

Стратегия может быть усовершенствована путем:

  1. Адаптивные алгоритмы для автоматической оптимизации параметров остановки и покупки.

  2. Добавление модулей размещения позиций и управления рисками.

  3. Включение других индикаторов для оценки общей тенденции, чтобы избежать ошибок.

Заключение

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


/*backtest
start: 2023-01-12 00:00:00
end: 2024-01-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//Developed from ©Finnbo code
strategy("Simple Trailing Buy & Stop Strategy", overlay=true)
offset = input(defval=1.5, title="Stop Offset %", type=float, minval=0.1, maxval=100, step=0.1)
buyoffset = input(defval=1.9, title="Trailing Buy Offset %", type=float, minval=0.1, maxval=100, step=0.1)

sumbars = input(defval=6, title="Use last x bars for calculation",  minval=1)
srcts = input(title="Source Trailing Stop calculation",  defval=close)
srctb = input(title="Source Trailing Buy calculation",  defval=close)
srctrigger = input(title="Source Stop Trigger",  defval=low)
srctriggerbuy = input(title="Source Buy Trigger",  defval=high)
tsl = rma(srcts, sumbars)*(1-(offset/100))// = (sum(srcts,sumbars)/sumbars)*(1-(offset/100))
tbuy = rma(srctb, sumbars)*(1+(buyoffset/100))
plot(tsl, color=(srctrigger<tsl)?red:green)
plot(tbuy, color=(srctriggerbuy>tbuy)?red:green)
//plotshape(crossunder(srctrigger,tsl), text="Long Stop", style=shape.circle, color=red)
alertcondition(crossunder(srctrigger,tsl), "Long Stop alert", "SELL")
//plotshape(crossover(srctriggerbuy,tbuy), text="Long", style=shape.circle, color=green)
alertcondition(crossover(srctriggerbuy,tbuy), "Long alert", "BUY")

longCondition =  crossover(srctriggerbuy,tbuy)
if (longCondition)
    strategy.entry("Long", strategy.long)
closeCondition = crossunder(srctrigger,tsl)
if (closeCondition)
    strategy.close("Long")


Больше