В процессе загрузки ресурсов... загрузка...

Стратегия прорыва через канал

Автор:Чао Чжан, Дата: 2023-10-23 17:08:51
Тэги:

img

Обзор

Эта стратегия основана на прорыве канала и использует скользящий средний перекресток в качестве выходного сигнала.

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

  1. Вычислить самый высокий и самый низкий уровень за определенные периоды, чтобы построить верхний и нижний канал.

  2. Пройти длинный, когда цена прорывается выше верхнего канала; пойти короткий, когда цена прорывается ниже нижнего канала.

  3. Вычислите быструю и медленную линию SMA.

  4. Если длинный, закрыть длинный, когда быстрая SMA пересекает медленную SMA; Если короткий, закрыть короткий, когда быстрая SMA пересекает медленную SMA.

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

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

  2. Канал определяет ротацию, а SMA определяет истощение тренда.

  3. Фильтр SMA позволяет избежать сбоев и уменьшить ненужные сделки.

  4. Регулируемый диапазон каналов подходит для различных периодов и волатильности.

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

  1. Неправильный диапазон канала может пропустить прорыв или вызвать ложный прорыв.

  2. Неправильные параметры SMA могут выйти раньше или позже.

  3. Нужно разумное размещение позиций, чтобы ограничить однократные потери.

  4. Следите за действительным прорывом, избегайте погони за высоким / продажей низким.

Оптимизация

  1. Параметры испытаний для оптимизации диапазона каналов и периодов SMA.

  2. Добавьте трендовый фильтр для улучшения успешности прорыва.

  3. Добавьте размеров позиций, таких как фиксированная доля и Мартингейл.

  4. Добавьте стоп-потеря для контроля одиночных потерь.

Резюме

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


/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-13 00:00:00
period: 1m
basePeriod: 1m
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/
// © anshuanshu333

//@version=4

// strategy("ChBrkOutStrategySMA", overlay=true, initial_capital = 200000)
length = input(title="Length", type=input.integer, minval=1, maxval=1000, defval=7)
     
fastSMA = sma(close,9)
slowSMA = sma(close,21)

upBound = highest(high, length)
downBound = lowest(low, length)

boundLongEntry = ((close >= upBound) or (high >= upBound)) and fastSMA>slowSMA and (close > open)
boundShortEntry =((close <= downBound) or (low <= downBound)) and fastSMA<slowSMA and (close <open)

u=plot(upBound, title = "Upper Bound",color=color.blue, linewidth=1)
l=plot(downBound, title = "Lower Bound",color=color.red, linewidth=1)
plot(fastSMA,title = "Fast SMA", color = color.red, linewidth =2)
plot(slowSMA,title = "Slow SMA" ,color = color.green, linewidth =1)
fill(u,l, transp=95)
plot(avg(upBound,downBound), title = "Avg", color=color.gray,linewidth =1)

     
if (boundLongEntry )
    strategy.entry("LE", long = true)
    
if (boundShortEntry)
    strategy.entry("SE", long = false)
    
SmaLongExit = crossunder(fastSMA,slowSMA)
SmaShortExit = crossover(fastSMA,slowSMA)

    
//Close TRades   
if (strategy.position_size > 0)
    strategy.close(id="LE",when= SmaLongExit)
if (strategy.position_size < 0)
    strategy.close(id="SE",when= SmaShortExit)

Больше