В процессе загрузки ресурсов... загрузка...

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

Автор:Чао Чжан, Дата: 2024-06-07 15:33:26
Тэги:ТГТSMAРСИ

img

Обзор

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

Принцип стратегии

  1. Вычислить процентное снижение текущей цены закрытия по сравнению с ценой закрытия предыдущего периода.
  2. Если падение превышает 5%, запускается сигнал покупки, и определенный объем позиции покупается по текущей цене закрытия.
  3. Запишите цену покупки и количество приобретенного.
  4. Когда текущая цена выше покупной, закрыть позицию, чтобы получить прибыль.
  5. Расчет ситуации с прибылью и убытками и обновление баланса счета.
  6. Отобразите на графике желтым цветом свечу, когда появится сигнал покупки.

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

  1. Простая и понятная: логика стратегии ясна и легко понятна и реализована.
  2. Захватывание тренда: покупая сорта с большим снижением, он может зафиксировать краткосрочную тенденцию восстановления цены.
  3. Контроль риска: объем покупки рассчитывается на основе баланса счета и текущей цены, контролируя риск каждой сделки.
  4. Своевременное закрытие: когда цена выше покупной цены, позиция закрывается решительно, не удерживаясь, контролируя риск.
  5. Визуальное представление: Сигнал покупки обозначается специальным цветом на графике, что удобно для наблюдения и анализа.

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

  1. Частая торговля: эта стратегия в основном ориентирована на краткосрочные колебания, а частота торговли может быть относительно высокой.
  2. Глубокое снижение цены: если после покупки цена значительно снизится, она может столкнуться с определенным риском снижения цены.
  3. Волатильность цен: стратегия в основном опирается на волатильность цен, и в рыночной среде с низкой волатильностью эффект стратегии может быть дисконтирован.
  4. Баланс прибыли и убытков: Стратегия не имеет четких требований и контроля по уровню выигрыша и уровня убытков, и необходимо обратить внимание на общую способность балансирования прибыли и убытков стратегии в фактической эксплуатации.

Направление оптимизации

  1. Оптимизация стоп-лосса: В настоящее время стратегия не устанавливает условия стоп-лосса после покупки. Можно рассмотреть возможность добавления некоторой логики стоп-лосса, такой как фиксированный процент стоп-лосса или ATR стоп-лосса, для дальнейшего контроля максимального убытка одной сделки.
  2. Фильтрация сигнала: После генерации сигнала покупки могут быть добавлены некоторые дополнительные условия для фильтрации качества сигнала, такие как сочетание систем скользящих средних, RSI и других индикаторов или учет переломных моментов цен, моделей свечей и т. Д., Чтобы улучшить показатель выигрыша и надежность сигнала.
  3. Управление позициями: в настоящее время стратегия использует коэффициент фиксированного капитала для определения количества покупок. Можно рассмотреть возможность оптимизации его в более динамичную модель управления позициями, такую как корректировка количества покупок в соответствии с такими факторами, как волатильность цен и кривая собственного капитала счета.
  4. Многообразное сотрудничество: идея этой стратегии может быть применена к нескольким сортам.

Резюме

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


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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Thgoodtrader

//@version=5
strategy("TGT Falling Buy", overlay=true, margin_long=100, margin_short=100)
var float buy_price = na
var float open_price = na
var float open_weekend = na 
var float close_weekend = na 
var bool trade=false
var float balance = 1000
// Definir el precio de compra inicial y la cantidad inicial
var float qty = na
// Verificar si el día de la semana es sábado (6) o domingo (0)
es_sabado = dayofweek == 1
es_domingo = dayofweek == 7
es_viernes = dayofweek == 6

// Calcular el valor del saldo inicial
balance_initial = balance

change_percent = ((close - close[1]) / close[1]) * 100
is_last_candle_negative = close < open
is_change_above_threshold = change_percent < -5
// Cambiar el color de la última vela si cumple las condiciones
barcolor(is_last_candle_negative and is_change_above_threshold ? color.yellow : na)
bgcolor(is_last_candle_negative and is_change_above_threshold ? color.yellow : na, transp=80)
// Guardar el precio de compra cuando se cumpla la condición del 5%
if is_change_above_threshold 
    // Calcular la cantidad basada en el precio de compra y el saldo
    qty := balance / close
    // Guardar el precio de compra
    buy_price := close
    open_price := open
    strategy.entry("Buy Trading",strategy.long,qty)
    alert("Comprar BTC", alert.freq_once_per_bar_close)
    trade :=true
//if (((close - strategy.position_avg_price) / strategy.position_avg_price) * 100 ) > 2
if close > strategy.position_avg_price
    // Calcular el valor de ganancia o pérdida
    pnl = (close - strategy.position_avg_price) * qty
    // Actualizar el saldo
    balance := balance_initial + pnl
    strategy.close("Buy Trading")
alertcondition(is_change_above_threshold, title = "Buy 5% Discount", message = "Buy Position")
alertcondition(close > strategy.position_avg_price, title = "Close Trade", message = "Close Buy Position")   

Связанные

Больше