Стратегия торговли криптовалютами MACD

Автор:Чао Чжан, Дата: 2024-01-26 14:20:04
Тэги:

img

Обзор

Это простая, но эффективная стратегия торговли криптовалютами MACD, специально разработанная для криптовалютных рынков и подходящая для графиков более высоких временных рамок, таких как 1 час, 4 часа, 1 день и т. Д. Стратегия использует индикатор MACD для определения направления тренда рынка и торговые сигналы генерируются с помощью простой скользящей средней.

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

Стратегия использует индикатор MACD для определения тренда рынка и генерации торговых сигналов. MACD состоит из быстрой линии, медленной линии и гистограммы MACD. Быстрая линия - это краткосрочная скользящая средняя, а медленная линия - долгосрочная скользящая средняя. Когда быстрая линия пересекает более медленной линии, это сигнал покупки. Когда быстрая линия пересекает ниже медленной линии, это сигнал продажи.

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

Самые большие преимущества этой простой, но эффективной стратегии:

  1. Использование MACD для определения направления рынка, зрелого и надежного технического индикатора для точной оценки тенденции;

  2. Сочетание простой скользящей средней для фильтрации сигнала, избежание ложных сигналов и повышение точности;

  3. Специально разработан для высоковолатильных крипторынков, где MACD показывает лучшие результаты;

  4. Логика проста и понятна, легко понять и реализовать, низкий барьер для принятия;

  5. Может работать в более длительные сроки для снижения частоты торговли и снижения затрат на торговлю.

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

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

  1. Использование простой скользящей средней для фильтрации может не дать наилучшей входной цены в некоторых рыночных условиях;

  2. Отсутствие прибыли или остановки убытков может привести к огромным потерям на одной сделке;

  3. возможные сигналы задержки и ложные сигналы могут привести к ненужным потерям;

  4. Не рассматривали влияние временных рамок и частоты торговли на общую рентабельность.

Эти риски должны быть устранены путем дальнейшей оптимизации.

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

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

  1. Испытать различные комбинации параметров и показателей для определения оптимальной настройки;

  2. Добавьте логику остановки потерь и получения прибыли, чтобы ограничить максимальную потерю одной сделки;

  3. Оптимизировать логику ввода с более строгим подтверждением сигнала для обеспечения высокого качества сигнала;

  4. Рассмотрим влияние различных временных рамок и частоты торговли на общую рентабельность.

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

Резюме

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


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © SoftKill21

//@version=4
strategy("MACD crypto strategy", overlay=true)

// Getting inputs
//fast_length = input(title="Fast Length", type=input.integer, defval=12)
//slow_length = input(title="Slow Length", type=input.integer, defval=26)
//src = input(title="Source", type=input.source, defval=close)
//signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
//sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=true)
//sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)

fast_length = 12
slow_length = 26
src = input(title="Source", type=input.source, defval=close)
signal_length = 9
sma_source = true
sma_signal = false

// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal



longcondition = hist > 0 
shortcondition = hist < 0 

//sl = input(0.5, title="SL")
//tp = input(0.1, title="tp")

strategy.entry("long",1,when=longcondition)
strategy.entry("short",0,when=shortcondition)

//strategy.exit("x_long", "long" ,loss = close * sl / syminfo.mintick, profit = close * tp / syminfo.mintick , alert_message = "closelong")
//strategy.entry("short",0, when= loss = close * sl / syminfo.mintick)

//strategy.exit("x_short", "short" , loss = close * sl / syminfo.mintick, profit  = close * tp / syminfo.mintick,alert_message = "closeshort")

// risk = input(2, type=input.float,title="Risk percentage of BALANCE")
// strategy.risk.max_intraday_loss(risk, strategy.percent_of_equity)

Больше