Эта стратегия разработана на основе золотого креста и мертвого креста быстрых и медленно движущихся средних. Когда быстрый MA пересекает поверх медленного MA, идите на длинный. Когда быстрый MA пересекает ниже медленного MA, идите на короткий. Эта стратегия подходит для среднесрочной и долгосрочной торговли и может улавливать изменение тренда на рынке.
Стратегия использует экспоненциальную скользящую среднюю (EMA) для расчета быстрой и медленной линий. Длина быстрой MA составляет 10 периодов, а длина медленной MA - 30 периодов. Стратегия сначала рассчитывает быструю EMA и медленную EMA, затем выставляет линии и показывает разные цветные фоны для указания направления тренда.
Когда сегодняшний закрытие находится выше быстрого MA, а быстрое MA выше медленного MA, фон зеленый, что указывает на тенденцию к росту.
В восходящем тренде, если есть красная свеча (закрытие ниже открытия) и вчера также была красная свеча, делайте длинный ход. Установите стоп-лосс на 300 пунктов и получите прибыль, закрыв короткую позицию.
В нисходящем тренде, если есть зеленая свеча (закрытие выше открытия) и вчера также была зеленая свеча, перейдите на короткий.
После открытия позиции в каждом направлении, если время ожидания превышает 1008000000 миллисекунд (около 2 недель), закройте позицию силой, чтобы избежать тупика.
В целом эта стратегия довольно сбалансирована, используя двойную EMA для тренда и фильтры свечей с дополнительными правилами, чтобы избежать ложных сигналов.
/*backtest start: 2023-10-10 00:00:00 end: 2023-11-09 00:00:00 period: 1h basePeriod: 15m 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/ // © yeainshukla //@version=5 strategy('BuyRedSellGreen4H', overlay = true) greenCandle = close > open redCandle = open > close start = timestamp(2023,9,18,0,00) end = timestamp(2023,12,31,0,00) fastLength = input.int(10, title="Fast Average Length") slowLength = input.int(30, title="Slow Average Length") averageData = input.source(close, title="Average Data Source") // Calculate exponential moving averages fastAverage = ta.ema(averageData, fastLength) slowAverage = ta.ema(averageData, slowLength) // Plot averages plot(fastAverage, color=color.navy, title="Fast EMA") plot(slowAverage, color=color.fuchsia, linewidth=2, title="Slow EMA") // Show the moving average trend with a coloured background backgroundColor = if close > fastAverage and fastAverage > slowAverage color.new(color.green, 85) else if close < fastAverage and fastAverage < slowAverage color.new(color.red, 85) else color.new(color.orange, 90) bgcolor(backgroundColor, title="EMA Background") if time >= start and time < end if(close < open) if(close[1] < open[1]) strategy.entry("Enter Long", strategy.long) strategy.exit("Exit Long", from_entry="Enter Long") strategy.close("Enter Short") else if(close[1] > open[1]) strategy.entry("Enter Short", strategy.short) strategy.exit("Exit Short", from_entry="Enter Short") strategy.close("Enter Long") if strategy.position_size < 0 or strategy.position_size > 0// short and long is opened. if((time - strategy.opentrades.entry_time(strategy.opentrades - 1)) > 1008000000) strategy.close("Enter Short") strategy.close("Enter Long")