Peanut 123 Краткосрочная стратегия торговли

Автор:Чао Чжан, Дата: 2024-01-29 16:31:04
Тэги:

img

Обзор

Peanut 123 Reversal and Breakout Range Short-term Trading Strategy - это комбинационная стратегия, которая объединяет сигналы от обратной стратегии и подстратегий стратегии прорыва, чтобы генерировать более мощные торговые сигналы.

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

Стратегия состоит из двух подстратегий:

  1. Стратегия отмены "Peanut 123"

    Это адаптированная стратегия обратного движения, основанная на системе, введенной в P183 книги Ульфа Дженсена. Она длинна, когда цена закрытия повышается в течение 2 дней подряд, а 9-дневная стохастическая медленная линия ниже 50; она коротка, когда цена закрытия падает в течение 2 дней подряд, а 9-дневная стохастическая быстрая линия выше 50.

  2. Краткая стратегия прорыва

    Это краткосрочная стратегия, которая использует прорыв самой низкой цены в определенном периоде look_bak в качестве сигнала.

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

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

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

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

  2. Стратегия прорыва отслеживает краткосрочный тренд после прорыва.

  3. Объединяя сигналы двух подстратегий, можно генерировать более эффективные торговые сигналы и отфильтровывать шум.

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

Стратегия также имеет следующие риски:

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

  2. Прорывы могут быть ложными прорывами, есть риски преследования взлетов и падений.

  3. Ни одна из подстратегий не может обеспечить эффективность при использовании в одиночку, их сочетание также может потерпеть неудачу.

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

Руководство по оптимизации

Существует возможность дальнейшей оптимизации стратегии:

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

  2. Увеличить другие типы подстратегий, таких как стратегии прогнозирования машинного обучения, чтобы включить больше факторов.

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

  4. Проводить комбинированный арбитраж, выбирая продукты с небольшой корреляцией, но определенными общими чертами.

Резюме

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


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 01/07/2019
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
//    Breakout Range Short Strategy
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

BreakoutRangeShort(look_bak) =>
    pos = 0
    xLowest = lowest(low, look_bak)
    pos :=	iff(low < xLowest[1], -1, 0) 
    pos

strategy(title="Combo Backtest 123 Reversal & Breakout Range Short", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
look_bak = input(4, minval=1, title="Look Bak")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posBreakoutRangeShort = BreakoutRangeShort(look_bak)
pos = iff(posReversal123 == 1 and posBreakoutRangeShort == 1 , 1,
	   iff(posReversal123 == -1 and posBreakoutRangeShort == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? color.red: possig == 1 ? color.green : color.blue )

Больше