Эта стратегия основана на индикаторе MACD и использует перекресток линии MACD и линии сигнала для определения торговых сигналов. Когда линия MACD пересекается выше линии сигнала, она генерирует длинный сигнал, а когда линия MACD пересекается ниже линии сигнала, она генерирует короткий сигнал. Стратегия также использует самую низкую цену предыдущей свечи в качестве стоп-лосса для длинных позиций и самую высокую цену предыдущей свечи в качестве стоп-лосса для коротких позиций.
Индикатор MACD состоит из линии DIF и линии DEA. Линия DIF - это разница между быстрой скользящей средней и медленной скользящей средней, в то время как линия DEA - это скользящая средняя линии DIF. Когда линия DIF пересекает линию DEA, это указывает на то, что цена покинула зону перепродажи и начала расти, генерируя длинный сигнал. Когда линия DIF пересекает линию DEA, это указывает на то, что цена покинула зону перекупки и начала падать, генерируя короткий сигнал. В то же время стратегия использует самую низкую цену и самую высокую цену предыдущей свечи в качестве стоп-лосса для длинных и коротких позиций соответственно для контроля риска.
Эта стратегия основана на индикаторе MACD и использует перекресток линии MACD и линии сигнала для определения торговых сигналов. Она также использует самую низкую цену и самую высокую цену предыдущей свечи в качестве стоп-лосса, и устанавливает прибыль в 4 раза выше ATR. Логика стратегии ясна и проста в реализации, и может хорошо улавливать ценовые тенденции. Однако стратегия также имеет некоторые риски, такие как задержка индикатора и простое установление стоп-лосса. В будущем могут быть добавлены другие индикаторы, могут быть оптимизированы настройки стоп-лосса и стоп-лосса, а также может быть добавлено управление позицией для улучшения надежности и прибыльности стратегии.
/*backtest start: 2023-05-05 00:00:00 end: 2024-05-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("MACD Strategy", overlay=true) // Define MACD [macdLine, signalLine, _] = macd(close, 12, 26, 9) // Define conditions for long entry longCondition = crossover(macdLine, signalLine) // Define conditions for short entry shortCondition = crossunder(macdLine, signalLine) // Define stop loss for long entry longStopLoss = low[1] // Previous candle low // Define stop loss for short entry shortStopLoss = high[1] // Previous candle high // Define take profit for both long and short entries takeProfit = close + (close - longStopLoss) * 4 // 4 x ATR // Execute long entry if (longCondition) strategy.entry("Buy", strategy.long) strategy.exit("TP/SL", "Buy", stop=longStopLoss, limit=takeProfit) // Execute short entry if (shortCondition) strategy.entry("Sell", strategy.short) strategy.exit("TP/SL", "Sell", stop=shortStopLoss, limit=takeProfit)