Стратегия торговли черепахами с двойным отслеживанием

Автор:Чао Чжан, Дата: 2023-12-20 13:37:31
Тэги:

img

Обзор

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

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

Стратегия в основном опирается на две точки отслеживания стоп-лосса, long_1 и long_2, для определения сигналов входа. Long_1 отслеживает долгосрочную тенденцию, а long_2 - более короткую. Profit1 и profit2 действуют как точки остановки потери.

Если цена выше long_1, рынок находится в долгосрочном восходящем тренде. Если цена затем падает ниже long_2, это указывает на краткосрочный откат, предоставляющий хорошую возможность для входа в длинный. Если цена ниже long_1, нет подтвержденного долгосрочного тренда. Но если цена затем превышает long_2, это сигнализирует о краткосрочном отскоке и также может занять длинную позицию.

После ввода, два отслеживания стоп-потерь стоп-потеря1 и стоп-потеря2 устанавливаются и сравниваются с прибылью1 и прибылью2 для получения максимального значения, чтобы зафиксировать прибыль.

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

  • Двойная система отслеживания стоп-лосса эффективно контролирует риски и блокирует прибыль
  • Сочетание долгосрочных и краткосрочных показателей отфильтровывает некоторые шумы и вводит более выраженные тенденции
  • Гибкость для корректировки консервативности стратегии путем настройки параметров

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

  • Стратегия консервативна и может упустить некоторые возможности.
  • Неправильное установление стоп-лосса может привести к преждевременному выходу
  • Меньше сделок, так что потеря одной сделки может оказать большое влияние.

Может сделать стратегию более агрессивной путем корректировки параметров длины и прибыли для большего количества сделок.

Руководство по оптимизации

  • Найти оптимальные комбинации параметров для длинного и прибыльного
  • Эксперимент с зигзаговыми или теневыми потерями остановки для уменьшения ненужных остановок
  • Добавить дополнительные фильтры для обнаружения более сильных тенденций
  • Включить показатели объема для обнаружения истинных прорывов

Резюме

Это общая консервативная стратегия, подходящая для инвесторов, стремящихся к устойчивому росту.


/*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"}]
*/

//@version=4
strategy("Turtle Project",overlay= true)
//-----------------------------------------------------------
entry_1 =  input(55) 
profit_1 =  input(20)             

long_1 = float(na)                                                             
long_1:= if high[entry_1] >= highest(high,entry_1)                   
    high[entry_1]                                                            
else                                                                              
    long_1[1]                                                                   


profit1 = float(na)                                                            
profit1:= if low[profit_1] <= lowest(low,profit_1)                   
    low[profit_1]                                                            
else                                                                            
    profit1[1]                      
//-----------------------------------------------------------
entry_2 =  input(20) 
profit_2 =  input(10)             

long_2 = float(na)                                                             
long_2:= if high[entry_2] >= highest(high,entry_2)                   
    high[entry_2]                                                            
else                                                                              
    long_2[1]                                                                   


profit2 = float(na)                                                            
profit2:= if low[profit_2] <= lowest(low,profit_2)                   
    low[profit_2]                                                            
else                                                                           
    profit2[1]                      
//------------------------------------------------------------
stoploss_1= lowest(low,1) < long_1 and highest(high,1) > long_1
stoploss_2= lowest(low,1) < long_2 and highest(high,1) > long_2 

stop_1 = input(1)/100
stop_2 = input(2)/100

plotchar(stoploss_1, "high1", "▲",location.top,color=color.red )
plotchar(stoploss_2, "high2", "▲",location.top,color=color.blue)


//------------------------------------------------------------
if strategy.position_size == 0
    if low < long_1
        if high < long_1 
            strategy.entry("longlong_4",strategy.long, stop=long_1)

if strategy.position_size == 0    
    if low > long_1
        if high < long_2 
            strategy.entry("longlong_3",strategy.long, stop=long_2)

stoploss1 = float(na)
stoploss1:= stoploss_1 ? strategy.position_avg_price * (1 - stop_1) : stoploss1[1]
stoploss__1 = max(stoploss1,profit1)

if high > long_1 and strategy.position_size > 0
    strategy.exit("exit_1 ","longlong_4",stop=stoploss__1)

stoploss2 = float(na)
stoploss2:= stoploss_2 ? strategy.position_avg_price * (1 - stop_2) : stoploss2[1]
stoploss__2 = max(stoploss2,profit2)

if high > long_2 and strategy.position_size > 0
    strategy.exit("exit_2 ","longlong_3",stop=stoploss__2)
//--------------------------------------------------------------
plot(long_1,color=color.red ,linewidth=3)
plot(long_2,color=color.blue,linewidth=3)

plot(profit1,color=color.red,   linewidth=1)
plot(profit2,color=color.blue,  linewidth=1)

//plot(stoploss__1,style=plot.style_circles, color=color.yellow) 
//plot(stoploss__2,style=plot.style_circles, color=color.yellow) 

plot(stoploss1,style=plot.style_circles, color=color.blue) 
plot(stoploss2,style=plot.style_circles, color=color.red) 
//--------------------------------------------------------------

Больше