Торговая стратегия Черепахи Ричарда - это торговая стратегия, основанная на торговых методах черепахи Ричарда Денниса.
Основная логика торговой стратегии Ричарда
После входа в позиции стратегия использует средний истинный диапазон (ATR) для расчета цены стоп-лосса. Она также отслеживает 10-дневные высокие и низкие цены для сдвига стоп-лосса. Когда запускается длинный стоп-лосс или сдвиг стоп-лосс, она закрывает длинную позицию. Когда запускается короткий стоп-лосс или сдвиг стоп-лосс, она закрывает короткую позицию.
Стратегия торговли черепахами Ричарда имеет следующие преимущества:
Есть также некоторые риски в торговле черепахами Ричарда:
Чтобы смягчить эти риски, мы можем оптимизировать условия входа с помощью большего количества индикаторов для прогнозирования тенденций; скорректировать алгоритмы остановки потери, чтобы уменьшить частоту остановки потери.
Стратегия торговли черепахами Ричарда может быть оптимизирована в следующих аспектах:
Стратегия торговли черепахой Ричарда - это очень типичная стратегия, следующая за трендом. Она проста и практична, хороша для обучения новичков и является квантовой торговой парадигмой.
/*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