Стратегия " Купить многочасовой "

Автор:Чао Чжан, Дата: 2023-10-27 16:56:23
Тэги:

img

Обзор

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

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

Настройка сценария оптимизирована на 30-минутный промежуток времени. Вы можете настроить параметры, чтобы соответствовать разным временным рамкам.

Система запускает сигнал покупки, когда:

  • Цена падает на 1% по сравнению с предыдущими двумя свечами (1-часовой период = две 30-минутные свечи)
  • Цена выросла на 3% за последние 12 часов (двадцать четыре 30-минутные свечи равны желаемому временному диапазону)

Эта настройка была оптимизирована за счет выполнения более 150 бэктестов на более чем 20 различных торговых парах криптовалют.

Стратегия предполагает, что каждый заказ будет торговать 30% доступного капитала. В расчет принимается комиссионная за торговлю в размере 0,1%.

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

Основная идея стратегии многосрочной покупки - это сочетание долгосрочных и краткосрочных временных рамок для определения сигналов входа.

Во-первых, он проверяет 1-часовой период времени, чтобы увидеть, есть ли внезапное падение цены.

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

Лишь при краткосрочном падении и долгосрочном восходящем тренде сигнал покупки будет задействован.

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

Технически стратегия использует дваperc_change()Функции с различными параметрами для проверки двух временных рамок. Один проверяет 12-часовой изменения, другой проверяет 1-часовой изменения. Когда оба условия выполнены, сигнал покупки запускается.

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

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

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

  2. Краткосрочные сроки отражают внезапные спады, которые приводят к снижению входных цен.

  3. Опробованные и оптимизированные параметры делают стратегию более подходящей для высокой волатильности крипто.

  4. С учетом сборов за торговлю моделирование приближается к реальной торговле.

  5. Простая логика и конфигурация параметров позволяют легко понять и настроить.

  6. Широко применяется к различным торговым парам с высокой гибкостью.

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

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

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

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

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

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

  5. Одна стратегия подвержена системным рискам.

  6. Высокочастотная торговля увеличивает нагрузку сборов за торговлю.

Для рисков можно рассмотреть некоторые меры оптимизации:

  1. Добавить больше индикаторов для определения краткосрочных и долгосрочных тенденций для повышения точности.

  2. Оптимизировать параметры, чтобы они более динамично адаптировались к рынкам.

  3. Стратегии испытаний в живой среде для измерения различий от обратных испытаний.

  4. Соответственно корректируйте временные рамки, чтобы уменьшить проблемы с задержкой.

  5. Использование нескольких некоррелированных стратегий для диверсификации системных рисков.

  6. Установите правильный стоп-лосс и принимайте прибыль, чтобы контролировать риск по сделке.

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

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

  1. Добавьте больше индикаторов, таких как полосы Боллинджера, RSI и т. д., чтобы улучшить стабильность.

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

  3. Оптимизируйте стоп-лосс и используйте стратегии получения прибыли для снижения риска на одну сделку.

  4. Бактэст на больше торговых пар и временных рамок, чтобы найти оптимальные наборы параметров.

  5. Включить изменение объема, чтобы избежать ложных сигналов от арбитражных сделок.

  6. Добавить модули управления рисками, такие как распределение активов, размещение позиций и т. д., чтобы контролировать общий риск.

  7. Исследуйте другие типы алгоритмической стратегии, такие как тренд, арбитраж и т. Д., Для диверсификации.

  8. Исследуйте более сложные комбинации из нескольких временных рамок, чтобы найти оптимальные наборы.

  9. Включить элементы новостной торговли с использованием событий в качестве драйверов торговли.

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

Заключение

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

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

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


/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 4h
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=1
strategy(shorttitle='Multi Time Frame Buy the Dips',title='Multi Time Frame Buy the Dips (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       // create function "within window of time"

inp_lkb = input(24, title='Lookback Long Period')
inp_lkb_2 = input(2, title='Lookback Short Period')
 
perc_change(lkb) =>
    overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100

// Call the function    
overall = perc_change(inp_lkb)
overall_2 = perc_change(inp_lkb_2)

//Entry

dip= -(input(1))
increase= (input(3))

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

//Exit
Stop_loss= ((input (3))/100)
Take_profit= ((input (4))/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())


Больше