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

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

Автор:Чао Чжан, Дата: 2024-01-23 14:13:55
Тэги:

img

Обзор

Эта стратегия генерирует торговые сигналы на основе адаптивного индикатора скользящих средних (AIOMA) и показателей взвешенной скользящей средней (WMA).

Наименование стратегии

Стратегия адаптивного перекрестного использования AIOMA-WMA

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

Стратегия включает следующие основные компоненты:

  1. Вычисление показателя AIOMA

    • Вычислить ряд экспоненциальных скользящих средних (EMA) с указанной длиной
    • Сложите эти EMA в цепочку для создания сглаженных значений
    • Окончательная AIOMA представляет собой EMA последнего сглаженного значения
  2. Расчет показателя WMA

    • Расчет WMA с указанной длиной
  3. Производство сигнала

    • Сигнал покупки при пересечении WMA над AIOMA
    • Сигнал продажи, когда WMA пересекается ниже AIOMA
  4. Логика торговли

    • Введите длинную позицию при сигнале покупки
    • Ввести короткую позицию при сигнале продажи
    • Ближайшее положение при обратном перекрестном сигнале

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

  1. Использование двух различных типов скользящих средних повышает точность сигнала
  2. AIOMA уменьшает ложные сигналы с помощью множественных экспоненциальных сглаживаний
  3. WMA как основной индикатор реагирует быстрее на изменения цен для раннего обнаружения тенденций
  4. Простая логика торговли, легкая для понимания и реализации

Риски

  1. Чрезмерное отставание из-за многократного сглаживания EMA
  2. WMA склонна к ошибочным сигналам от краткосрочных колебаний цен
  3. Без логики остановки потерь, может привести к большим потерям

Может снизить риски путем оптимизации параметров, добавления стоп-лосса, фильтрации с другими показателями и т.д.

Области улучшения

  1. Испытать различные комбинации параметров для поиска оптимальных значений
  2. Заказы на остановку потерь вместе с сигналами на вход
  3. Сигналы фильтрации с использованием показателей волатильности
  4. Включить стратегии размещения позиций

Заключение

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


/*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 Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SDTA

//@version=5
strategy("AIOMA-WMA Strategy", overlay=true)

// Parametreler
aioma_length = input(14, "AIOMA Length")
wma_length = input(21, "WMA Length")

// AIOMA hesaplama
length1 = aioma_length
ema1 = ta.ema(close, length1)
length2 = aioma_length
ema2 = ta.ema(ema1, length2)
length3 = aioma_length
ema3 = ta.ema(ema2, length3)
length4 = aioma_length
ema4 = ta.ema(ema3, length4)
aioma = ta.ema(ema4, aioma_length)

// WMA hesaplama
wma = ta.wma(close, wma_length)

// Kesişim kontrolü
cross_up = ta.crossover(wma, aioma)
cross_down = ta.crossunder(wma, aioma)

// İşlem fonksiyonu
enterTrade(dir, price, signalText, color) =>
    if dir
        strategy.entry("Enter", strategy.long)
        label.new(x = bar_index, y = price, text = signalText, color = color, textcolor = color, style = label.style_label_up, size = size.small, tooltip = "Entry Signal")
    else if not dir
        strategy.entry("Exit", strategy.short)
        label.new(x = bar_index, y = price, text = signalText, color = color, textcolor = color, style = label.style_label_down, size = size.small, tooltip = "Exit Signal")

// Long pozisyon girişi
if cross_up
    enterTrade(true, low, "Buy Signal", color.green)

// Short pozisyon girişi
if cross_down
    enterTrade(false, high, "Sell Signal", color.red)

// Pozisyon kapatma
if cross_up and strategy.position_size > 0
    strategy.close("Enter")
if cross_down and strategy.position_size < 0
    strategy.close("Exit")

// Grafiğe plot
plot(aioma, color=color.blue, linewidth=2, title="AIOMA")
plot(wma, color=color.red, linewidth=2, title="WMA")


Больше