В процессе загрузки ресурсов... загрузка...

Длинная только тройная трейдерская стратегия EMA Golden Cross

Автор:Чао Чжан, Дата: 2023-09-26
Тэги:

Обзор

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

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

Стратегия рассчитывает три линии EMA с периодами 8, 50 и 200 и генерирует сигналы, когда более быстрая EMA пересекает более или менее медленной EMA.

  1. Вычислить 8-периодные, 50-периодные и 200-периодные линии EMA.

  2. Пройти длинную позицию, когда 8-периодная EMA пересекает 50-периодную EMA (золотой крест), закрыть позицию, когда 50-периодная EMA пересекает 8-периодную EMA (смертный крест).

  3. Необязательно идти в длинный период, когда цена превышает 200-периодную EMA, чтобы избежать сбоев.

  4. Факультативная линия EMA с получением прибыли может быть установлена для закрытия позиций, когда цена пересекает ее.

Быстрая EMA определяет дно, средняя EMA определяет тренд, а медленная EMA фильтрует шум.

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

  1. Трехмерная EMA эффективно определяет тенденции и использует индивидуальные сильные стороны. 8-периодная EMA ловит короткие дно, 50-периодная EMA определяет среднесрочную тенденцию, а 200-периодная EMA фильтрует шум.

  2. Только если выйти выше 200-периодической EMA, то избежать ударов.

  3. Устраиваемая прибыль EMA устанавливает разумные цели прибыли.

  4. Визуальные настройки, такие как цвета строк и EMA, улучшают гибкость.

  5. Простая логика золотого/смертного креста легко понять.

Риски и способы их смягчения

  1. Сокращение периодов EMA или сочетание с такими индикаторами, как MACD.

  2. Для фильтрации или добавления условий используйте более длинные EMA.

  3. Цель фиксированной прибыли не адаптивна. Используйте динамические выходы на основе ATR и т.д.

  4. Нет остановок означает неограниченный риск.

Возможности для расширения

  1. Оптимизировать периоды EMA для наилучших параметров.

  2. Добавьте такие индикаторы, как MACD для синхронизации.

  3. Внедрить динамическое получение прибыли на основе волатильности.

  4. Добавьте логику стоп-лосса, отслеживание или фиксированную стоимость.

  5. Улучшить условия входа, например, фильтры объема.

Заключение

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


/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-20 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Long only EMA CROSS 8/50/200 Backtest", shorttitle="Golden Cross Tri EMA", overlay=true)

// EMA 8/50/200 Cross TEST



// Input
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Show 8 EMA")
switch3=input(true, title="Show 50 EMA")
switch4=input(true, title="Show 200 EMA")
switch5=input(false, title="Show profit level EMA")
bool_Long_EMA200=input(false, title="Long only above EMA200")
movingaverage_8 = ema(close, input(8))
movingaverage_50 = ema(close, input(50))
movingaverage_market_signal = ema(close, input(200))
movingaverage_profitlvl = ema(close, input(50))


// Calculation
bullish_cross = if bool_Long_EMA200 == true
    crossover(movingaverage_8, movingaverage_50) and movingaverage_8 > movingaverage_market_signal
else 
    bullish_cross = crossover(movingaverage_8, movingaverage_50)
bearish_cross = crossunder(close, movingaverage_profitlvl)

// Strategy
if bullish_cross
    strategy.entry("long", strategy.long)

strategy.close("long", when = bearish_cross )

// Colors
bartrendcolor = close > movingaverage_8 and close > movingaverage_50 and change(movingaverage_50) > 0 ? green : close < movingaverage_8 and close < movingaverage_50 and change(movingaverage_50) < 0 ? red : blue
barcolor(switch1?bartrendcolor:na)

// Output
plot(switch2?movingaverage_8:na,color = change(movingaverage_8) > 0 ? green : red,linewidth=2, title="EMA8")
plot(switch3?movingaverage_50:na,color = change(movingaverage_50) > 0 ? green : red,linewidth=2,title="EMA50")
plot(switch4?movingaverage_market_signal:na,color = change(movingaverage_market_signal) > 0 ? green : red,linewidth=3,title="EMA200")
plot(switch5?movingaverage_profitlvl:na,color = change(movingaverage_profitlvl) > 0 ? green : red,linewidth=3, title="EMA Profit LVL")

//
alertcondition(bullish_cross, title='Golden Cross (bullish)', message='Bullish')
alertcondition(bearish_cross, title='Death Cross (bearish)', message='Bearish')

Больше