Эффективная стратегия получения прибыли

Автор:Чао Чжан, Дата: 2023-11-02 15:02:05
Тэги:

img

Обзор

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

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

Сигнал покупки определяется несколькими факторами, включая A1, A2, A3, XG и weeklySlope.

A1 Условие: Проверка определенных ценовых отношений, проверка соотношения наивысшей цены к цене закрытия меньше 1,03, соотношение откровения к самой низкой цене меньше 1,03, и соотношение наивысшей цены к предыдущей цене закрытия больше 1,06. Это условие ищет конкретную картину, указывающую на потенциальный бычий импульс.

A2 Условие: проверка ценовых отношений, связанных с ценой закрытия, проверка соотношения цены закрытия к цене открытия больше 1,05 или соотношение цены закрытия к предыдущей цене закрытия больше 1,05.

A3 Condition: фокусируется на объеме, проверяя, превышает ли текущий объем наивысший объем за последние 60 периодов.

Условие XG: объединяет условия A1 и A2 и проверяет, являются ли они верными как для текущих, так и для предыдущих баров. Он также проверяет соотношение цены закрытия к 5-периодным пересечениям EMA выше 9-периодного SMA того же соотношения. Это условие помогает определить потенциальные сигналы покупки, когда несколько факторов выравниваются, указывая на сильный бычий импульс и потенциальную точку входа.

Еженедельный фактор тренда: рассчитывает наклон 50-периодного SMA в недельный период времени. Он проверяет, является ли наклон положительным, указывая на общую тенденцию к росту на недельной основе. Это условие обеспечивает дополнительное подтверждение того, что акции находятся в восходящей тенденции.

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

Условия продажи относительно просты в стратегии:

Сигнал продажи: условие продажи просто проверяет, пересекает ли цена закрытия ниже 10-периодного EMA. Когда это условие выполняется, это указывает на потенциальное изменение или ослабление динамики роста цены, и генерируется сигнал продажи.

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

  • Комбинирует свинговую торговлю и индикаторы импульса, интегрируя различные идеи стратегии
  • Оптимизирует комбинацию нескольких технических индикаторов для выявления высоковероятных торговых возможностей
  • Использует методы размещения позиций и стоп-лосс для управления рисками
  • Хорошие результаты обратных испытаний с значительной чистой прибылью и показателем победы

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

  • Более эффективный на бычьем рынке, неспособный адаптироваться к медвежьим
  • Ложные прорывы могут привести к неправильным сделкам
  • Неправильное размещение позиции и настройка стоп-лосса могут усиливать потери
  • Параметры должны быть надлежащим образом адаптированы к различным рыночным условиям

Оптимизация

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

Заключение

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


/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 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/
// © fzj20020403
//@version=5
strategy("Slight Swing Momentum Strategy.", overlay=true)

// Position Status Definition
var inPosition = false

// Moving Average Definition
ma60 = ta.sma(close, 60)

// A1 Condition Definition
A1 = high / close < 1.03 and open / low < 1.03 and high / close[1] > 1.06

// A2 Condition Definition
A2 = close / open > 1.05 or close / close[1] > 1.05

// A3 Condition Definition
highestVol = ta.highest(volume, 60)
A3 = ta.crossover(volume, highestVol[1])

// B1 Condition Definition
ema5 = ta.ema(close, 5)
B1 = close / ema5

// XG Condition Definition
A1andA2 = (A1 and A2) and (A1[1] and A2[1])
XG = ta.crossover(B1, ta.sma(B1, 9))

// Weekly Trend Factor Definition
weeklyMa = ta.sma(close, 50)
weeklySlope = (weeklyMa - weeklyMa[4]) / 4 > 0

// Buy Signal using XG Condition
buySignal = A1 and close > ma60 or A2 and A3 and XG and close > ma60 and weeklySlope 

// Sell Signal Condition
sellSignal = close < ta.ema(close, 10)

// Buy and Sell Conditions
buyCondition = buySignal and not inPosition
sellCondition = sellSignal and inPosition

// Execute Buy and Sell Operations
if (buyCondition)
    strategy.entry("Buy", strategy.long)
    inPosition := true
if (sellCondition)
    strategy.close("Buy")
    inPosition := false

// Stop Loss and Take Profit Levels
stopLoss = strategy.position_avg_price * 0.5
takeProfit = strategy.position_avg_price * 1.30

// Apply Stop Loss and Take Profit Levels
if inPosition
    strategy.exit("Long Stop Loss", "Buy", stop=stopLoss)
    strategy.exit("Long Take Profit", "Buy", limit=takeProfit)

// Plot Buy and Sell Signal Shapes
plotshape(buyCondition, style=shape.arrowdown, location=location.belowbar, color=color.green, size=size.small)
plotshape(sellCondition, style=shape.arrowup, location=location.abovebar, color=color.red, size=size.small)

// EMA Variable Definition
ema = ta.ema(close, 5)

// Plot Indicator Line
plot(ema, color=color.green, title="EMA")


Больше