Прорывная стратегия с одноразовым диаграммой

Автор:Чао Чжан, Дата: 2024-02-02 11:19:19
Тэги:

单均点横盘突破策略

Обзор

Стратегия одноразового прорыва - это количественная стратегия торговли, основанная на индикаторе движения Chande. Эта стратегия определяет, находятся ли рынки в стадии прорыва, рассчитывая изменения движения цены. Когда индикатор движения Chande прорывает установленную линию покупки или продажи, проводится соответствующая операция покупки или продажи.

Принципы стратегии

Эта стратегия сначала рассчитывает динамические изменения в ценах.mommИ затем мы делим его на положительные.m1и отрицательнуюm2; затем вычислить сумму положительно-отрицательной тяги за определенный цикл.sm1иsm2В конце концов, мы получили показатель движения Чанде.chandeMO⇒ Указатель 0 - это центр, когда показатель больше 0, то сила подъема больше, чем сила падения, а когда меньше 0, то обратная сила.

Когда индикатор движения Чанде прорывается с низкой линии покупки, что означает, что цена выходит из периода падения и входит в стадию подготовки к подъему, стратегия проводит покупку. Когда индикатор прорывается с высокой линии продажи, проводится продажа.

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

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

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

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

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

Оптимизация

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

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

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


/*backtest
start: 2024-01-02 00:00:00
end: 2024-02-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

//* Backtesting Period Selector | Component *//
//* https://www.tradingview.com/script/eCC1cvxQ-Backtesting-Period-Selector-Component *//
//* https://www.tradingview.com/u/pbergden/ *//
//* Modifications made *//
testStartYear = input(2021, "Backtest Start Year") 
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(10, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(999999, "Backtest Stop Year")
testStopMonth = input(9, "Backtest Stop Month")
testStopDay = input(26, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriod() => true
/////////////// END - Backtesting Period Selector | Component ///////////////
strategy(title="Chande Momentum Strat", shorttitle="ChandeMO Strat", format=format.price, precision=2)
length = input(9, minval=1)
src = input(close, "Price", type = input.source)
momm = change(src)
f1(m) => m >= 0.0 ? m : 0.0
f2(m) => m >= 0.0 ? 0.0 : -m
m1 = f1(momm)
m2 = f2(momm)
sm1 = sum(m1, length)
sm2 = sum(m2, length)
percent(nom, div) => 100 * nom / div
chandeMO = percent(sm1-sm2, sm1+sm2)
plot(chandeMO, "Chande MO", color=color.blue)
hline(0, color=#C0C0C0, linestyle=hline.style_dashed, title="Zero Line")
buyline= input(-80)
sellline= input(80)
hline(buyline, color=color.gray)
hline(sellline, color=color.gray)

if testPeriod()
    if crossover(chandeMO, buyline)
        strategy.entry("Long", strategy.long, alert_message="a=ABCD b=buy e=binanceus q=1.2 s=uniusd")
    //    strategy.exit(id="Long Stop Loss", stop=strategy.position_avg_price*0.8) //20% stop loss 
        
    if crossunder(chandeMO, sellline)
        strategy.entry("Short", strategy.short, alert_message="a=ABCD b=sell e=binanceus q=1.2 s=uniusd")
    //    strategy.exit(id="Short Stop Loss", stop=strategy.position_avg_price*1.2) //20% stop loss

//      remember to alert as    {{strategy.order.alert_message}}

Больше информации