Стохастическая кроссоверная стратегия торговли

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

Обзор

Эта стратегия использует перекрестное использование стохастики между линиями K и D для генерации торговых сигналов, типичная стохастическая стратегия торговли.

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

  1. Вычислить стохастические линии K и D за данный период.

  2. Пересечение линии К над линией D генерирует сигналы покупки.

  3. Пересечение линии К ниже линии D генерирует сигналы продажи.

  4. Можно установить диапазон даты обратного тестирования для проверки эффективности стратегии.

  5. Простые и понятные правила торговли кроссовером.

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

  1. Стохастические показатели чувствительны к уровням перекупленности и перепродажи.

  2. Линии K и D образуют легкие торговые сигналы.

  3. Обратный тест проверяет эффективность стратегии.

  4. Стохастику легко вычислить и реализовать.

  5. Конкретный код, легкий для дальнейшего развития.

Риски

  1. Пересечения могут генерировать ложные сигналы.

  2. Нет остановки потери или получения прибыли.

  3. Не может различать тенденции и диапазоны.

  4. Обратный тест несет в себе предвзятость.

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

Улучшение

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

  2. Добавить фильтр тренда для дополнительной проверки.

  3. Встройте механизмы стоп-лосса и прибыли.

  4. Включить другие факторы для подтверждения сигнала.

  5. Обрабатывайте данные обратных тестов, чтобы исключить предвзятость.

  6. Бумажная торговля для оптимизации параметров для торговли в режиме реального времени.

Заключение

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


/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 2h
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/
// © utanico

//@version=4
strategy(title="Stochastic", overlay=true, shorttitle="Stoch")
periodK = input(35, title="K", minval=1)
periodD = input(21, title="D", minval=1)
smoothK = input(21, title="Smooth", minval=1)
startYear = input(type=input.integer, title = "開始年", defval = 2020)
startMonth = input(type=input.integer, title = "開始月", defval = 1)
startDay = input(type=input.integer, title = "開始日", defval = 1)
endYear = input(type=input.integer, title = "終了年", defval = 2030)
endMonth = input(type=input.integer, title = "終了月", defval = 12)
endDay = input(type=input.integer, title = "終了日", defval = 31)

//開始日時
test_start = timestamp(startYear, startMonth, startDay, 00, 00)
//終了日時
test_end   = timestamp(endYear, endMonth, endDay, 00, 00)
//テスト期間の指定
is_test = true

k = sma(stoch(close, high, low, periodK), smoothK)
d = sma(k, periodD)

if (is_test)
    if (k > d)
        strategy.entry("Stoch_LE", strategy.long, comment="Stoch_LE")
    //if (strategy.opentrades > 0 and k < d)
        //strategy.close("Stoch_LE",comment="CloseLONG")
    if (k < d)
        strategy.entry("Stoch_SE", strategy.short, comment="Stoch_SE")
    //if (strategy.opentrades < 0 and k > d)
        //strategy.close("Stoch_SE",comment="CloseShort")

Больше