Скалпинг - падения в стратегии бычьего рынка

Автор:Чао Чжан, Дата: 2024-01-30 16:33:54
Тэги:

img

Обзор

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

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

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

После входа в позицию устанавливаются цены стоп-лосса и прибыли. Процент стоп-лосса большой, чтобы обеспечить достаточные средства; процент прибыли небольшой для быстрой прибыли. Когда срабатывает стоп-лосс или прибыль, позиция будет закрыта.

Анализ преимуществ

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

  1. Соответствует тенденции, следующей методологии получения избыточной доходности
  2. Разумный процент обратного вызова и критерии тенденции обеспечивают точность
  3. Дизайн стоп-лосса полностью учитывает безопасность капитала
  4. Быстрое получение прибыли с помощью настройки получения прибыли и контроля за зачислением

Анализ рисков

Эта стратегия также сопряжена с некоторыми рисками:

  1. Чрезмерно глубокое ретрессирование или изменение тренда могут привести к убыткам
  2. Риск привлечения средств от широкого стоп-лосса
  3. Трудность выполнения условий стоп-лосса/прибыли на рынках с ограниченным диапазоном

Контрмеры: строго контролировать размер позиций, корректировать процент стоп-лосса, должным образом снижать коэффициент выхода из прибыли для снижения рисков.

Руководство по оптимизации

Стратегия может быть оптимизирована в следующих аспектах:

  1. Динамически регулируйте процент обратного вызова для оптимизации возможностей входа
  2. Добавление дополнительных показателей для повышения точности принятия решений
  3. Включить меры волатильности для динамической настройки коэффициентов стоп-лосс/прибыль
  4. Оптимизация размеров позиций для лучшего контроля рисков

Заключение

Стратегия скальпирования в бычьем рынке блокирует избыточную доходность с использованием широкого стоп-лосса. Она капитализируется на покупке обратных спадов в тенденциях бычьего рынка для получения возможностей прибыли.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Coinrule

//@version=3
strategy(shorttitle='Scalping Dips On Trend',title='Scalping Dips On Trend (by Coinrule)', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)

//Backtest dates
fromMonth = input(defval = 1,  title = "From Month")     
fromDay   = input(defval = 10,    title = "From Day")       
fromYear  = input(defval = 2020, title = "From Year")       
thruMonth = input(defval = 1,    title = "Thru Month")     
thruDay   = input(defval = 1,    title = "Thru Day")     
thruYear  = input(defval = 2112, title = "Thru Year")       

showDate  = input(defval = true, title = "Show Date Range")

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true

inp_lkb = input(1, title='Lookback Period')
 
perc_change(lkb) =>
    overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100

// Call the function    
overall = perc_change(inp_lkb)

//MA inputs and calculations
MA=input(50, title='Moving Average')

MAsignal = sma(close, MA)

//Entry

dip= -(input(2))

strategy.entry(id="long", long = true, when = overall< dip and MAsignal > close and window()) 

//Exit
Stop_loss= ((input (10))/100)
Take_profit= ((input (3))/100)

longStopPrice  = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)

strategy.close("long", when = close < longStopPrice or close > longTakeProfit and window())

Больше