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

Автор:Чао Чжан, Дата: 2024-04-26 15:16:12
Тэги:SMAМ.А.

img

Обзор

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

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

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

Преимущества стратегии

  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)


Связанные

Больше