Стратегия торговли золотым крестом на основе EMA


Дата создания: 2024-02-22 17:48:09 Последнее изменение: 2024-02-22 17:48:09
Копировать: 1 Количество просмотров: 729
1
Подписаться
1617
Подписчики

Стратегия торговли золотым крестом на основе EMA

Обзор

EMA Gold Crossing Trading Strategy (Стратегия скрещивания золота в EMA) - это стратегия, которая используется для вычисления средних EMA различных циклов и определения их скрещивания, чтобы дать сигнал покупать и продавать. Когда короткий цикл EMA пересекает длинный цикл EMA, это дает сигнал покупать; когда короткий цикл EMA пересекает длинный цикл EMA, это дает сигнал продавать.

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

В основе этой стратегии лежит вычисление среднего значения EMA на двух различных периодах, включая среднее значение EMA на более короткий период, который по умолчанию составляет 9, и среднее значение EMA на более длинный период, которое по умолчанию составляет 20. Код вычисляет эти два значения по отдельности, вызвав встроенную функцию ema в скрипте pine.

Определение перекрестного сигнала осуществляется с помощью двух встроенных функций в скрипте pin: crossover и crossunder. Функция crossover определяет, проходит ли скоростная линия через медленную линию снизу, возвращая бурное значение; функция crossunder определяет, проходит ли скоростная линия через медленную линию снизу, возвращая бурное значение.

Кроме того, в коде есть некоторые дополнительные условия, такие как установка даты начала и окончания, ограничение только на доработку или только на пустую работу и т. Д., Что помогает проводить более тонкую отсчет или оптимизацию.

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

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

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

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

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

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

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

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

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

EMA Gold Cross является простой и эффективной стратегией отслеживания тенденций. Она использует EMA Cross для создания торговых сигналов, которые могут автоматически улавливать ценовые тенденции и получать прибыль от тенденций в цене. Эта стратегия легко понятна и адаптирована, очень подходит для изучения новичками, а также может быть интегрирована в более сложные стратегии в качестве модуля.

Исходный код стратегии
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-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/
// This strategy has been created for illustration purposes only and should not be relied upon as a basis for buying, selling, or holding any asset or security.
// © kirilov

//@version=4
strategy(
     "EMA Cross Strategy",
     overlay=true,
     calc_on_every_tick=true,
     currency=currency.USD
     )

// INPUT:

// Options to enter fast and slow Exponential Moving Average (EMA) values
emaFast = input(title="Fast EMA", type=input.integer, defval=9, minval=1, maxval=9999)
emaSlow = input(title="Slow EMA", type=input.integer, defval=20, minval=1, maxval=9999)

// Option to select trade directions
tradeDirection = input(title="Trade Direction", options=["Long", "Short", "Both"], defval="Both")

// Options that configure the backtest date range
startDate = input(title="Start Date", type=input.time, defval=timestamp("01 Jan 1970 00:00"))
endDate = input(title="End Date", type=input.time, defval=timestamp("31 Dec 2170 23:59"))


// CALCULATIONS:

// Use the built-in function to calculate two EMA lines
fastEMA = ema(close, emaFast)
slowEMA = ema(close, emaSlow)


// PLOT:

// Draw the EMA lines on the chart
plot(series=fastEMA, color=color.black, linewidth=2)
plot(series=slowEMA, color=color.red, linewidth=2)


// CONDITIONS:

// Check if the close time of the current bar falls inside the date range
inDateRange = true

// Translate input into trading conditions
longOK  = (tradeDirection == "Long") or (tradeDirection == "Both")
shortOK = (tradeDirection == "Short") or (tradeDirection == "Both")

// Decide if we should go long or short using the built-in functions
longCondition = crossover(fastEMA, slowEMA)
shortCondition = crossunder(fastEMA, slowEMA)


// ORDERS:

// Submit entry (or reverse) orders
if (longCondition and inDateRange)
    strategy.entry(id="long", long=true, when = longOK)
if (shortCondition and inDateRange)
    strategy.entry(id="short", long=false, when = shortOK)
    
// Submit exit orders in the cases where we trade only long or only short
if (strategy.position_size > 0 and shortCondition)
    strategy.exit(id="exit long", stop=close)
if (strategy.position_size < 0 and longCondition)
    strategy.exit(id="exit short", stop=close)