
Стратегия по отслеживанию трендов на основе популярных индикаторов. Стратегия использует поворотную линию на основе популярных индикаторов, чтобы заранее отправить сигнал о покупке и продаже, чтобы заранее захватить тренд. В то же время, стратегия также включает в себя оценку тренда на основе равной линии, многоуровневую подтверждение и предотвращение ложных прорывов.
Эта стратегия основана на следующих моментах:
С помощью линии преобразования (Conversion Line) и базовой линии (Base Line) составляется облачная карта, и облачная карта отображается с 26-циклическим битовым смещением.
Когда цена закрытия прорывает верхнюю черту облака, появляется сигнал покупки; когда цена закрытия падает нижнюю черту облака, появляется сигнал продажи.
Для фильтрации ложных прорывов требуется, чтобы текущая закрывающая цена одновременно пробивала максимум и минимум переходных и базовых линий.
Стоп-линия устанавливается на 5% от цены входа, может быть отключена.
Благодаря такой многократной фильтрации можно эффективно идентифицировать переломные моменты тренда и вовремя поймать новые торговые возможности. При этом строгая фильтрация прорывов может также уменьшить появление ложных сигналов.
Эта стратегия имеет следующие преимущества:
В этой стратегии также есть некоторые риски:
Риски можно снизить следующими способами:
Эта стратегия также может быть оптимизирована в следующих аспектах:
Добавление механизмов управления позицией через операторы, такие как:strategy.position_sizeКонтроль за размером складов.
Дополнительная сортовая фильтрацияsecurity()Фильтрация сортового бассейна, степень автоматического распознавания тенденций.
Добавление стратегии остановки убытков, установка подвижного остановки убытков или частичного остановки, чтобы еще больше контролировать риск.
В сочетании с другими индикаторами, такими как линия Бринга, RSI и т. Д., создание многоиндикаторной торговой системы повышает качество сигнала.
Применение методов машинного обучения для определения надежности сигналов покупки и продажи путем обучения и динамической коррекции количества заказов.
Стратегия по отслеживанию трендов в однородной линейке с двумя предварительными знаниями о возможностях в одном облаке. Стратегия может эффективно идентифицировать высококачественные торговые возможности с помощью предварительного определения тенденций в одном облачном графике, а также с использованием многослойных фильтров в однородной линейке.
/*backtest
start: 2022-12-05 00:00:00
end: 2023-12-11 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/
// © QuantCT
//@version=4
strategy("Ichimoku Cloud Strategy Idea",
shorttitle="Ichimoku",
overlay=true,
pyramiding=0,
default_qty_type=strategy.percent_of_equity,
default_qty_value=99,
initial_capital=1000,
commission_type=strategy.commission.percent,
commission_value=0.1)
// ____ Inputs
conversion_period = input(9, minval=1, title="Conversion Line Period")
base_period = input(26, minval=1, title="Base Line Period")
lagging_span2_period = input(52, minval=1, title="Lagging Span 2 Period")
displacement = input(26, minval=1, title="Displacement")
long_only = input(title="Long Only", defval=false)
slp = input(title="Stop-loss (%)", minval=1.0, maxval=25.0, defval=5.0)
use_sl = input(title="Use Stop-Loss", defval=false)
// ____ Logic
donchian(len) => avg(lowest(len), highest(len))
conversion_line = donchian(conversion_period)
base_line = donchian(base_period)
lead_line1 = avg(conversion_line, base_line)
lead_line2 = donchian(lagging_span2_period)
chikou = close
chikou_free_long = close > high[displacement] and close > max(lead_line1[2 * displacement], lead_line2[2 * displacement])
enter_long = chikou_free_long and close > max(lead_line1[displacement], lead_line2[displacement])
exit_long = close < lead_line1[displacement] or close < lead_line2[displacement]
chikou_free_short = close < low[displacement] and close < min(lead_line1[2 * displacement], lead_line2[2 * displacement])
enter_short = chikou_free_short and close < min(lead_line1[displacement], lead_line2[displacement])
exit_short = close > lead_line1[displacement] or close > lead_line2[displacement]
strategy.entry("Long", strategy.long, when=enter_long)
strategy.close("Long", when=exit_long)
if (not long_only)
strategy.entry("Short", strategy.short, when=enter_short)
strategy.close("Short", when=exit_short)
// ____ SL
sl_long = strategy.position_avg_price * (1- (slp/100))
sl_short = strategy.position_avg_price * (1 + (slp/100))
if (use_sl)
strategy.exit(id="SL", from_entry="Long", stop=sl_long)
strategy.exit(id="SL", from_entry="Short", stop=sl_short)
// ____ Plots
colors =
enter_long ? #27D600 :
enter_short ? #E30202 :
color.orange
p1 = plot(lead_line1, offset = displacement, color=colors,
title="Lead 1")
p2 = plot(lead_line2, offset = displacement, color=colors,
title="Lead 2")
fill(p1, p2, color = colors)
plot(chikou, offset = -displacement, color=color.blue)