Стратегия, объединяющая показатели первичной таблицы равновесия и показатели MACD, вступает в действие после подтверждения обратного тренда и относится к торговым стратегиям обратного тренда.
Вычислить линию поворота на первичном равновесном диаграмме, как индикатор направления тенденции. Цены над линией поворота являются многоголовым рынком, а ниже - свободным рынком.
MACD-индикатор генерирует сигнал продажи при формировании мертвого форка на многоосновном рынке; сигнал покупки при формировании золотого форка на пустом рынке.
Обратная торговля в точке обратного тренда, объединяя трендовые суждения с первичной равновесной диаграммы и обратный сигнал MACD.
Можно установить контроль за временем торговли, например, закрытие торгов в вечернее время, отсутствие торгов в выходные дни и т. д., чтобы избежать риска в определенные периоды времени.
Применение адекватных стратегий стоп-лосса и хранения, чтобы закрепить прибыль и контролировать риски.
На первый взгляд балансный стол показывает тенденцию и уровень давления на поддержку.
Показатель MACD более чувствителен к восприятию обратного тренда.
В сочетании с оценкой тренда и обратным сигналом можно отфильтровать ложные сигналы.
Вы можете настроить торговый период, чтобы избежать риска в важные моменты времени.
Установка стратегии стоп-лосс-стоп позволяет эффективно управлять рисками.
На первый взгляд, балансные таблицы и MACD-индикаторы могут дать ошибочный сигнал.
По мнению экспертов, в результате появления новых технологий, которые позволят снизить уровень загрязнения воздуха, не удастся определить обратную динамику.
Контроль времени торгов может пропустить некоторые торговые возможности.
Неправильно настроенная остановка может привести к преждевременной остановке.
Оптимизация параметров может быть слишком оптимизированной и неэффективной.
Тестирование параметров сбалансированной таблицы и MACD, чтобы найти оптимальную комбинацию параметров.
Добавление других показателей для подтверждения торговых сигналов.
Оптимизация стратегии стоп-стоп, балансирующая риски и выгоды.
Оценка необходимости контроля за временем проведения торгов, а также надлежащая смягченность.
Добавить фильтр тренда, чтобы избежать обратного торгового убытка.
Изучение того, как определить интенсивность возврата и потенциальную высоту обратной связи.
Эта стратегия объединяет трендовые суждения с первичной равновесной таблицы и обратные торговые сигналы MACD, чтобы принимать торговые решения после подтверждения обратного тренда. С помощью дальнейшей оптимизации параметров и стратегий можно уменьшить риск ошибочного анализа сигналов и создать стабильную и эффективную систему обратного тренда.
/*backtest
start: 2022-09-13 00:00:00
end: 2023-09-19 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/
// © Revazi
//@version=5
strategy("The Impeccable by zyberal", overlay = true)
// Inputs {
// Strategy variables
IchimokuTenkanPeriod = input(9)
IchimokuKijunPeriod = input(190)
IchimokuSenkouPeriod = input(52)
MACDMainFast = input(3)
MACDMainSlow = input(10)
MACDMainSmooth = input(9)
ExitAfterBars = input(2)
ProfitTarget = input(135)
StopLoss = input(70)
// Trading Options
DontTradeOnWeekends = input(true)
ExitAtEndOfDay = input(true)
DayExitTimeHour = input(23)
DayExitTimeMinute = input(04)
ExitOnFriday = input(true)
FridayExitTimeHour = input(20)
FridayExitTimeMinute = input(40)
// }
// TRADING OPTIONS LOGIC {
OpenOrdersAllowed = true
// Dont trade on weekends {
if DontTradeOnWeekends
if dayofweek == dayofweek.saturday or
dayofweek == dayofweek.sunday
OpenOrdersAllowed := false
// }
// Exit on close (end of day) {
if ExitAtEndOfDay
if timeframe.isintraday and
time >= timestamp(year(timenow), month(timenow), dayofmonth(timenow), DayExitTimeHour, DayExitTimeMinute)
OpenOrdersAllowed := false
// }
// Exit on Friday {
if ExitOnFriday
if timeframe.isintraday and
time >= timestamp(year(timenow), month(timenow), dayofmonth(timenow), FridayExitTimeHour, FridayExitTimeMinute)
OpenOrdersAllowed := false
// }
// Rule: Trading signals {
openW3 = request.security(syminfo.tickerid, "W", open)[3]
middleDonchian(Length) => math.avg(ta.highest(Length), ta.lowest(Length))
Tenkan = middleDonchian(IchimokuTenkanPeriod)[2]
[macdLine, signalLine, _] = ta.macd(close, MACDMainFast, MACDMainSlow, MACDMainSmooth)
LongEntrySignal = openW3 > Tenkan and ta.crossunder(macdLine, signalLine)[3] //macdLine[3] < signalLine[3]
ShortEntrySignal = openW3 < Tenkan and ta.crossover(macdLine, signalLine)[3] //macdLine[3] > signalLine[3]
// }
// Calculate conditions {
IsFlat() => strategy.position_size == 0
IsLong() => strategy.position_size > 0
IsShort() => strategy.position_size < 0
longCondition = OpenOrdersAllowed and not IsLong() and LongEntrySignal
shortCondition = OpenOrdersAllowed and not IsShort() and ShortEntrySignal
// }
// Open positions based on conditions {
strategy.order(id = "buy", direction = strategy.long, qty = 1, when = longCondition)
strategy.order(id = "sell", direction = strategy.short, qty = 1, when = shortCondition)
// }