Стратегия торговли движущимся средним золотым коэффициентом

Автор:Чао Чжан, Дата: 2024-01-05 14:21:52
Тэги:

img

Обзор

Золотое соотношение - это количественная стратегия торговли, которая пытается использовать золотой крест краткосрочных и долгосрочных скользящих средних в качестве торговых сигналов.

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

Стратегия в основном основана на двух скользящих средних: 200-дневный MA как долгосрочный MA и 10-дневный MA как краткосрочный MA. Сигнал покупки генерируется, когда краткосрочный MA пересекает долгосрочный MA; Сигнал продажи генерируется, когда краткосрочный MA пересекает длинный MA. Это знаменитый золотой крест. Стратегия также включает в себя индикатор RSI, поэтому стратегия открывает длинные позиции только в зоне перепродажи, когда RSI меньше 30.

В частности, длинная позиция будет открыта, если выполнены следующие условия:

  1. 10-дневный MA пересекает 200-дневный MA
  2. В настоящее время нет позиции
  3. RSI менее 30

Условия закрытия позиции следующие:

  1. Стоп-лосс: стоп-лосс, когда цена падает ниже определенного процента от цены открытия
  2. Приобретение прибыли: приобретение прибыли, когда цена превышает определенный процент (с корректировкой)

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

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

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

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

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

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

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

  1. Настраивать параметры MA, или добавлять больше MA
  2. Включить другие индикаторы для подтверждения сигналов RSI
  3. Настройка параметров стоп-лосса и прибыли

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

Существует возможность дальнейшей оптимизации стратегии:

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

Заключение

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


/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 00:00:00
period: 1d
basePeriod: 1h
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/
// © tsujimoto0403

//@version=5
strategy("聖杯", overlay=true,default_qty_type=strategy.percent_of_equity,
     default_qty_value=100)

//ユーザーインプットの準備
malongperiod=input.int(200,"長期移動平均BASE200",group = "パラメータ")
mashortperiod=input.int(10,"長期移動平均BASE10",group = "パラメータ")
stop=input.int(20,title = "損切の割合%",group = "パラメータ")
profit=input.int(5,title = "利食いの割合%",group = "パラメータ")
startday=input(title="バックテストを始める日", defval=timestamp("01 Jan 2018 13:30 +0000"), group="期間")
endday=input(title="バックテスを終わる日", defval=timestamp("1 Jan 2099 19:30 +0000"), group="期間")

//使う変数
var float stopprice=0
var float takeprofit=0

//とりあえず使うインジケーターをプロット
malong=ta.sma(close,malongperiod)
mashort=ta.sma(close,mashortperiod)


plot(malong,color=color.aqua,linewidth = 2)
plot(mashort,color=color.yellow,linewidth = 2)
bgcolor(ta.rsi(close,3)<30?color.rgb(229, 86, 86, 48):na)

//期間条件
datefilter = true

//エントリー条件
if close>malong and close<mashort and strategy.position_size == 0 and datefilter and ta.rsi(close,3)<30
    strategy.entry(id="long", direction=strategy.long)

if strategy.position_size>0 
    strategy.exit(id="long",stop=(1-0.01*stop)*strategy.position_avg_price)

//売り
if  strategy.position_size > 0 and close>mashort and close<low[1] 
    strategy.close(id ="long")




Больше