Стратегия торговли Ричарда Черепахи


Дата создания: 2024-02-06 11:56:47 Последнее изменение: 2024-02-06 11:56:47
Копировать: 0 Количество просмотров: 800
1
Подписаться
1617
Подписчики

Стратегия торговли Ричарда Черепахи

Обзор

Торговая стратегия Richard’s Turtle Trading Strategy - это стратегия покупки и продажи, основанная на технике торговли черепахами Ричарда Денниса. Эта стратегия использует ценовые прорывы для осуществления торговли с отслеживанием тенденции.

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

Основная логика торговой стратегии Ричарда Брянца основана на отслеживании тенденций, достигаемых ценовыми прорывами. В частности, стратегия одновременно продолжает отслеживать максимальные значения цены за 20 дней._20_day_highest) и минимальные значения_20_day_lowest) 。 когда текущая закрывающая цена превышает 20-дневный максимум, указывает на то, что цена произошла вверх, в это время появляется многосигнал 。 когда текущая закрывающая цена ниже 20-дневного минимума, указывает на то, что цена произошла вниз, в это время появляется пустой сигнал 。

После вхождения в позицию стратегия использует среднюю реальную волну (ATR) для расчета стоп-порога. В то же время, она также отслеживает 10-дневные максимумы и минимумы, чтобы совершить скользящий стоп. Когда сверхстоп или скользящий стоп вызывается, она открывает позицию; когда сверхстоп или скользящий стоп вызывается, она открывает позицию.

Стратегические преимущества

У трейдерской стратегии Ричарда Пейдж есть следующие преимущества:

  1. Автоматическое отслеживание трендов с использованием ценовых прорывов. Способность автоматически идентифицировать переломы тенденций и своевременно корректировать позиции.
  2. ATR-стоп-механизм, который позволяет эффективно контролировать одиночные стопы.
  3. Механизм стоп-порога, который позволяет блокировать часть прибыли и снизить отзыв.
  4. Стратегическая логика проста и понятна, легко понятна и реализуема, подходит для начинающих.
  5. Нет необходимости прогнозировать рыночные движения и СОМЛЕЖНЫЕ расчеты, простой и правильный трейдинг.

Стратегический риск

Однако, как отмечается в статье, “это не так, как кажется”.

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

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

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

Торговые стратегии Ричарда Бэя могут быть оптимизированы в следующих направлениях:

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

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

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

Исходный код стратегии
/*backtest
start: 2023-02-05 00:00:00
end: 2024-02-05 00:00:00
period: 1d
basePeriod: 1h
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/
// © melodyera0822

//@version=4
strategy("Richard Strategy", overlay=true)

// User input
variable_for_stoploss = input(4,title="stop loss var")
lenght = input(20,title="lenght")

// high_low
_20_day_highest = highest(nz(close[1]), lenght)
_20_day_lowest = lowest(nz(close[1]), lenght)

_10_day_low = lowest(nz(close[1]), lenght/2)
_10_day_high = highest(nz(close[1]), lenght/2)

//indicators
atr20 = atr(20)
ema_atr20 = ema(atr20,20)

//vars
var traded = "false"
var buy_sell = "none"
var buyExit = false
var sellExit = false
var stoploss = 0

buyCon = close > _20_day_highest and traded == "false"
plotshape(buyCon,style = shape.triangleup,location = location.belowbar, color = color.green )
if (buyCon)
    strategy.entry("long", strategy.long, when = buyCon)
    traded := "true"
    buy_sell := "buy"
    stoploss := round(close - variable_for_stoploss * ema_atr20)
    
sellCon = close < _20_day_lowest and  traded == "false"
plotshape(sellCon,style = shape.triangledown, color = color.red )
if (sellCon)
    strategy.entry("short", strategy.short)
    traded := "true"
    buy_sell := "sell"
    stoploss := round(close - variable_for_stoploss * ema_atr20)

if traded == "true"
    if buy_sell == "buy" and ((close<stoploss)or(close<_10_day_low))
        strategy.close("long")
        buyExit := true
        traded := "false"
        
    if buy_sell == "sell" and ((close>stoploss)or(close>_10_day_high))
        strategy.close("short")
        sellExit := true
        traded := "false"
        
plotshape(buyExit,style = shape.triangleup,location = location.belowbar, color = color.yellow )
buyExit := false
plotshape(sellExit,style = shape.triangledown, color = color.yellow )
sellExit := false