Стратегия пересечения скользящих средних Ишимоку


Дата создания: 2023-12-19 15:40:53 Последнее изменение: 2023-12-19 15:40:53
Копировать: 0 Количество просмотров: 613
1
Подписаться
1621
Подписчики

Стратегия пересечения скользящих средних Ишимоку

Обзор

Стратегия Ichimoku Average Line Crossing проводит короткие и длинные короткие операции, вычисляя ряд средних линий, идентифицируя сигналы скрещивания цен на акции. Стратегия, объединяющая различные технические показатели, является прочной и надежной и подходит для средних и длинных линий.

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

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

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

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

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

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

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

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

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

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

Исходный код стратегии
/*backtest
start: 2023-11-18 00:00:00
end: 2023-12-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy(title = "Noro's Ichimoku Strategy v1.0", shorttitle = "Ichimoku str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
conversionPeriods = input(9, minval = 1, title = "Conversion Periods")
basePeriods = input(26, minval = 1, title = "Base Periods")
laggingSpan2Periods = input(52, minval = 1, title = "Lagging Span")
usebf = input(true, defval = true, title = "Use body filter")
usecf = input(true, defval = true, title = "Use color filter")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Ichimoku
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

//Lines
plot(conversionLine, color=red, title="Conversion Line")
plot(baseLine, color=blue, title="Base Line")
plot(close, offset = -basePeriods, color=green, title="Lagging Span")
p1 = plot(leadLine1, offset = basePeriods, color=green, title="Lead 1")
p2 = plot(leadLine2, offset = basePeriods, color=red, title="Lead 2")
fill(p1, p2)

//Body Filter
nbody = abs(close - open)
abody = sma(nbody, 10)
body = nbody > abody / 3 or usebf == false

//Color Filter
bar = close > open ? 1 : close < open ? -1 : 0
gb = bar == 1 or usecf == false
rb = bar == -1 or usecf == false

//Signals
up = low > baseLine and rb and body
dn = high < baseLine and gb and body

//Trading
if up
    //if strategy.position_size < 0
    //    strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn
    //if strategy.position_size > 0
    //    strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()