Система «Черепашка, следующая за трендом»


Дата создания: 2023-12-20 14:16:48 Последнее изменение: 2023-12-20 14:16:48
Копировать: 1 Количество просмотров: 683
1
Подписаться
1621
Подписчики

Система «Черепашка, следующая за трендом»

Обзор

Эта стратегия является фактической кодовой реализацией известной торговой системы Turtle, используя 55-циклический канал в качестве входного сигнала и 20-циклический канал в качестве выходного сигнала, отслеживая тенденции более длительного цикла.

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

Стратегия основывается на двух показателях: 55-циклическая максимальная цена (HI) и минимальная цена (LO) для построения входных каналов, и 20-циклическая максимальная цена (hi) и минимальная цена (lo) для построения выходных каналов.

Когда цена вверх проходит 55-циклический канал, генерируется сигнал покупки; когда цена вниз проходит 55-циклический канал, генерируется сигнал продажи. Это типичная логика входа в стратегию отслеживания тенденций.

При прохождении 20-ти циклических каналов цена устраняет множественные; при прохождении 20-ти циклических каналов цена устраняет пустые. Это логика выхода стратегии.

Стратегия одновременно отображает 55-циклические каналы и 20-циклические каналы, что позволяет визуально увидеть точки входа и выхода стратегии.

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

Основные преимущества этой стратегии:

  1. Следить за средне-длинными тенденциями, с небольшими отступлениями
  2. Входные сигналы ясны, используется принцип каналов, эффективный контроль отвода
  3. Строгий механизм выхода, чтобы избежать убытков, вызванных обратным движением
  4. Устройство параметров простое и легко внедряемое

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

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

  1. Невозможность использовать короткие линии, относительно слабая прибыльность
  2. Невозможность реагировать на внезапные события, легкость их устранения.
  3. Неэффективный контроль над лишними потерями в результате односторонних действий
  4. parametric, очень чувствительный к параметрам

Риски можно снизить следующими способами:

  1. Оптимизируйте параметры, чтобы найти оптимальную комбинацию параметров
  2. Увеличение стратегии сдерживания убытков, сдерживание убытков при односторонних действиях
  3. В сочетании с другими показателями, выявление потенциальных возможностей для реверсии

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

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

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

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

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

Исходный код стратегии
/*backtest
start: 2023-11-19 00:00:00
end: 2023-12-19 00:00:00
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/
// © racer8
//@version=4
strategy("Turtle System", overlay=true)

n = input(55,"Entry Length")
e = input(20,"Exit Length")

HI = highest(n)
LO = lowest(n)
hi = highest(e)
lo = lowest(e)

if close>HI[1]
    strategy.entry("Buy", strategy.long)

if close<LO[1]
    strategy.entry("Sell", strategy.short)
    
if low<lo[1]
    strategy.close("Buy")

if high>hi[1]
    strategy.close("Sell")

plot(HI,color=color.lime)
plot(LO,color=color.red)
plot(hi,color=color.blue)
plot(lo,color=color.maroon)