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

SMA MA
Дата создания: 2024-04-26 15:16:12 Последнее изменение: 2024-04-26 15:16:12
Копировать: 1 Количество просмотров: 582
1
Подписаться
1617
Подписчики

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

Обзор

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

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

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

Стратегические преимущества

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

Стратегический риск

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

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

  1. Комбинирование с другими индикаторами: можно рассмотреть возможность комбинирования с другими техническими индикаторами, такими как RSI, MACD и т. д., чтобы повысить точность и надежность определения тенденций.
  2. Оптимизирующие параметры: можно отслеживать и оптимизировать, чтобы найти оптимальный цикл скользящих средних и параметры уровня прибыли, чтобы адаптироваться к различным рыночным условиям.
  3. Добавление стоп-убытков: можно рассмотреть возможность добавления стоп-механизмов для дальнейшего контроля риска, например, динамического стоп-убытков в соответствии с настройками ATR и т. д.
  4. Изменение входа и выхода: можно исследовать дополнительные условия входа и выхода, такие как учет объема торгов, поддерживающего сопротивления и т. Д., Чтобы повысить устойчивость стратегии.

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

Стратегия пересечения скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления скопления ско

Исходный код стратегии
/*backtest
start: 2023-04-20 00:00:00
end: 2024-04-25 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/
// © ValdesTradingBots

//Follow Us for More Insights and Updates!

//Join our community and be the first to know about our new releases and trading tips

//Facebook Group: Join our vibrant community at https://www.facebook.com/groups/707469081464839/
//Twitter: Follow us for quick updates and insights at https://twitter.com/ValdesBots

//We're excited to have you with us!

//@version=5
strategy("Valdes Trading Bots MA Cross with Multiple Take Profits", overlay=true)

shortPeriod = input(18, title="Short MA Period")
longPeriod = input(32, title="Long MA Period")

// Take Profit Settings
tp1Enabled = input(true, title="Enable Take Profit 1")
tp1Perc = input(15, title="Take Profit 1 (%)") / 100
tp1QtyPerc = input(25, title="Take Profit 1 Qty (%)") / 100

tp2Enabled = input(true, title="Enable Take Profit 2")
tp2Perc = input(30, title="Take Profit 2 (%)") / 100
tp2QtyPerc = input(25, title="Take Profit 2 Qty (%)") / 100

tp3Enabled = input(true, title="Enable Take Profit 3")
tp3Perc = input(45, title="Take Profit 3 (%)") / 100
tp3QtyPerc = input(25, title="Take Profit 3 Qty (%)") / 100

tp4Enabled = input(true, title="Enable Take Profit 4")
tp4Perc = input(60, title="Take Profit 4 (%)") / 100
tp4QtyPerc = input(25, title="Take Profit 4 Qty (%)") / 100

shortMA = ta.sma(close, shortPeriod)
longMA = ta.sma(close, longPeriod)

// Determine the trend
uptrend = shortMA > longMA
downtrend = shortMA < longMA

// Assign candle colors based on the trend
candleColor = uptrend ? color.rgb(9, 112, 0) : downtrend ? color.rgb(255, 0, 0) : color.new(color.blue, 0)

plot(shortMA, title="Short MA", color=color.rgb(9, 112, 0))
plot(longMA, title="Long MA", color=color.rgb(255, 0, 0))

// Create a cross signal
longCross = ta.crossover(shortMA, longMA)
shortCross = ta.crossunder(shortMA, longMA)

// Strategy entry
if (longCross)
    strategy.entry("Long", strategy.long)
if (shortCross)
    strategy.entry("Short", strategy.short)

// Strategy take profit
if (tp1Enabled and strategy.position_size > 0)
    strategy.exit("TP1 Long", "Long", qty_percent=tp1QtyPerc, limit=strategy.position_avg_price * (1 + tp1Perc))
if (tp1Enabled and strategy.position_size < 0)
    strategy.exit("TP1 Short", "Short", qty_percent=tp1QtyPerc, limit=strategy.position_avg_price * (1 - tp1Perc))

if (tp2Enabled and strategy.position_size > 0)
    strategy.exit("TP2 Long", "Long", qty_percent=tp2QtyPerc, limit=strategy.position_avg_price * (1 + tp2Perc))
if (tp2Enabled and strategy.position_size < 0)
    strategy.exit("TP2 Short", "Short", qty_percent=tp2QtyPerc, limit=strategy.position_avg_price * (1 - tp2Perc))

if (tp3Enabled and strategy.position_size > 0)
    strategy.exit("TP3 Long", "Long", qty_percent=tp3QtyPerc, limit=strategy.position_avg_price * (1 + tp3Perc))
if (tp3Enabled and strategy.position_size < 0)
    strategy.exit("TP3 Short", "Short", qty_percent=tp3QtyPerc, limit=strategy.position_avg_price * (1 - tp3Perc))

if (tp4Enabled and strategy.position_size > 0)
    strategy.exit("TP4 Long", "Long", qty_percent=tp4QtyPerc, limit=strategy.position_avg_price * (1 + tp4Perc))
if (tp4Enabled and strategy.position_size < 0)
    strategy.exit("TP4 Short", "Short", qty_percent=tp4QtyPerc, limit=strategy.position_avg_price * (1 - tp4Perc))

// Plotting the signals on the chart
plotshape(series=longCross, title="Long Cross", location=location.belowbar, color=color.rgb(9, 112, 0), style=shape.triangleup, size=size.small)
plotshape(series=shortCross, title="Short Cross", location=location.abovebar, color=color.rgb(255, 0, 0), style=shape.triangledown, size=size.small)

// Apply candle color
barcolor(candleColor)