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


Дата создания: 2024-01-18 11:47:25 Последнее изменение: 2024-01-18 11:47:25
Копировать: 0 Количество просмотров: 602
1
Подписаться
1617
Подписчики

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

Обзор

Стратегия основана на торговле на основе убыточной цены Bitcoin и 8-недельной простой движущейся средней. Когда убыточная цена на убыточной цене пересекает 8-недельную линию, делайте больше; когда убыточная цена на убыточной цене пересекает 8-недельную линию, делайте равное положение.

Стратегический принцип

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

В частности, в стратегии заложены следующие критерии:

buy_condition= crossover(btc,ma)#周线收盘价上穿8周线,做多 
sell_condition= crossunder(btc,ma)#周线收盘价下穿8周线,平仓

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

Кроме того, стратегия устанавливает пропорции стоп-стоп:

loss_ratio=input(defval=1,title="LOSS RATIO", group="STRATEGY") 
reward_ratio=input(defval=3,title="REWARD RATIO", group="STRATEGY")

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

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

Эта стратегия имеет следующие преимущества:

  1. Круголинейная работа, небольшой откат, подходит для длинных линий
  2. Фильтрационные колебания восемь недель, основные тенденции
  3. Настройка стоп-стоп, контроль риска

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

Однако эта стратегия также несет в себе некоторые риски:

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

Ответ:

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

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

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

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

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 3m
basePeriod: 1m
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/
// © taberandwords
//developer: taberandwords
//author: taberandwords
//@version=4

strategy("WEEKLY BTC TRADING SCRYPT","WBTS",overlay=false,default_qty_type=strategy.fixed)

source=input(defval=close,title="source",group="STRATEGY")

btc=security('BTCUSDT','1W', source)
ma=sma(btc,8)

buy_condition= crossover(btc,ma) 
sell_condition= crossunder(btc,ma)

ma_color=input(defval=#FF3232,title="COLOR",group="MA")
ma_linewidth=input(defval=2,title="LINE WIDTH",group="MA")
graphic_color=input(defval=#6666FF,title="COLOR",group="GRAPHIC")
graphic_linewidth=input(defval=2,title="LINE WIDTH",group="GRAPHIC")

start_date=input(defval=2020,title="YEAR",group="STRATEGY EXECUTION YEAR")

loss_ratio=input(defval=1,title="LOSS RATIO", group="STRATEGY")
reward_ratio=input(defval=3,title="REWARD RATIO", group="STRATEGY")

if(year>=start_date)
    strategy.entry('BUY',long=true,when=buy_condition,alert_message='Price came to buying value!')

    if(strategy.long)
        alert('BTC buy order trigerred!',alert.freq_once_per_bar)
    strategy.exit(id="SELL",loss=loss_ratio,profit=reward_ratio,when=sell_condition,alert_message='Price came to position closing value!')
    if(sell_condition)
        alert('BTC sell order trigerred!',alert.freq_once_per_bar)
plot(series=source,title="WEEKLY CLOSE",color=graphic_color,linewidth=graphic_linewidth)
plot(ma,title="SMA8 WEEKLY",color=ma_color,linewidth=ma_linewidth)
plot(strategy.equity,display=0)