Стратегия эффективной прибыли с подвижным движением - это количественная стратегия торговли, предназначенная для поглощения прибыльных возможностей на среднесрочных финансовых рынках путем интеграции принципов торговли с подвижным движением и индикаторов импульса.
Сигнал покупки определяется несколькими факторами, включая 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")