One Cloud Double Advance Opportunity Скользящая средняя Стратегия следования за трендом


Дата создания: 2023-12-12 16:11:09 Последнее изменение: 2023-12-12 16:11:09
Копировать: 0 Количество просмотров: 548
1
Подписаться
1621
Подписчики

One Cloud Double Advance Opportunity Скользящая средняя Стратегия следования за трендом

Обзор

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

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

Эта стратегия основана на следующих моментах:

  1. С помощью линии преобразования (Conversion Line) и базовой линии (Base Line) составляется облачная карта, и облачная карта отображается с 26-циклическим битовым смещением.

  2. Когда цена закрытия прорывает верхнюю черту облака, появляется сигнал покупки; когда цена закрытия падает нижнюю черту облака, появляется сигнал продажи.

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

  4. Стоп-линия устанавливается на 5% от цены входа, может быть отключена.

Благодаря такой многократной фильтрации можно эффективно идентифицировать переломные моменты тренда и вовремя поймать новые торговые возможности. При этом строгая фильтрация прорывов может также уменьшить появление ложных сигналов.

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

Эта стратегия имеет следующие преимущества:

  1. Облачная линия имеет заметные ранние признаки, позволяющие заранее зафиксировать обратный тренд.
  2. Слияние равномерно, чтобы избежать ложных прорывов, вызванных ночными зазорами.
  3. Многоусловное фильтрование снижает количество ложных сигналов и улучшает качество сигнала.
  4. Длинная линия, относительно небольшое отступление, легко найти место остановки.
  5. Подходит для разных сортов, особенно для трендовых сортов.

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

В этой стратегии также есть некоторые риски:

  1. Тенденционные рынки более пригодны, а свертывание рынков увеличивает количество ложных сигналов.
  2. Настройка параметров в одной облачной карте может повлиять на эффективность и требует оптимизации для разных разновидностей.
  3. Осторожность при установке стоп-позиции поможет избежать попадания в ловушку.
  4. Сигнал имеет низкую частоту, что позволяет легко упустить возможность короткой линии.

Риски можно снизить следующими способами:

  1. Выбирайте виды с заметной тенденцией, избегайте торговли совокупными видами.
  2. Оптимизация параметров облачной диаграммы для определения оптимальной комбинации параметров для различных циклов.
  3. Применение мобильного или своевременного остановки убытков для контроля одиночных убытков
  4. В сочетании с другими показателями можно увеличить частоту выпуска сигнала.

Оптимизация стратегии

Эта стратегия также может быть оптимизирована в следующих аспектах:

  1. Добавление механизмов управления позицией через операторы, такие как:strategy.position_sizeКонтроль за размером складов.

  2. Дополнительная сортовая фильтрацияsecurity()Фильтрация сортового бассейна, степень автоматического распознавания тенденций.

  3. Добавление стратегии остановки убытков, установка подвижного остановки убытков или частичного остановки, чтобы еще больше контролировать риск.

  4. В сочетании с другими индикаторами, такими как линия Бринга, RSI и т. Д., создание многоиндикаторной торговой системы повышает качество сигнала.

  5. Применение методов машинного обучения для определения надежности сигналов покупки и продажи путем обучения и динамической коррекции количества заказов.

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

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

Исходный код стратегии
/*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)