
Эта стратегия - простая стратегия пересечения скользящих средних, основанная на пересечении краткосрочных и долгосрочных скользящих средних. Она использует 34-циклические и 89-циклические скользящие средние, наблюдая за их пересечением в течение раннего периода времени, как сигнал для покупки и продажи. Она генерирует сигнал для покупки, когда краткосрочные скользящие средние прорывают долгосрочные скользящие средние снизу, и сигнал для продажи, когда они прорываются снизу.
Центральная логика стратегии основана на перекрестке краткосрочных и долгосрочных скользящих средних как торговых сигналов. В частности, стратегия определяет краткосрочные и долгосрочные простые скользящие средние на 34 и 89 циклов (SMA). Только в ранний период времени (с 08:00 до 10:00) наблюдается пересечение этих двух SMA.
После получения сигнала покупки или продажи, стратегия входит в позицию и устанавливает условия для выхода из позиции, то есть после входа с определенным количеством коренных K-линий (по умолчанию 3 коренных) после активного стоп-убытка выходит. Таким образом, можно заблокировать часть прибыли, чтобы избежать дальнейшего расширения убытков.
Следует отметить, что стратегия распознает перекрестные сигналы только в ранний период времени. Это связано с тем, что в этот период времени рынок имеет больший объем торгов и более высокая надежность сигналов переключения тенденций. В остальные периоды времени рынок более волатилен и подвержен ошибочным сигналам.
Эта стратегия имеет следующие преимущества:
Используйте простую, универсальную форму пересечения скользящих средних, легко понятную и подходящую для начинающих
Распознавание сигналов только в ранний период времени, когда есть больше высококачественных сигналов, фильтрация ложных сигналов в другие периоды времени
Установка условий для своевременного прекращения убытков, блокировки части прибыли и снижения риска потерь
Большое количество настраиваемых параметров, которые могут быть скорректированы в соответствии с рынком и личным стилем
Легко масштабируемая, более сложная стратегия может быть разработана на основе этой структуры в сочетании с другими показателями
Однако эта стратегия несет в себе определенные риски, главным образом в следующих аспектах:
Сам по себе движущийся средний является задержанным и может пропустить кратковременный ценовой поворот
Опираясь только на простые показатели, они могут провалиться в определенных рыночных условиях (трендовые колебания, компиляция диапазонов и т. д.)
Неправильная стоп-позиция может привести к ненужным убыткам
Неправильная параметровая настройка (периодические движущиеся средние, периоды удержания позиций и т. д.) также влияет на эффективность стратегии
Решение проблемы:
Повышенная чувствительность к краткосрочным изменениям в сочетании с другими передовыми показателями
Увеличение условий фильтрации для предотвращения воздействия сигналов отпуска на рынке во время потрясений и перерывов
Оптимизация логики стоп-ложа, динамическая корректировка зоны стоп-ложа в зависимости от рыночных колебаний
Оптимизация множественных параметров для поиска оптимальных параметров
В этой стратегии также есть много возможностей для оптимизации, в основном в следующих областях:
Добавление дополнительных условий фильтрации, чтобы избежать влияния сигналов отпуска на рынке во время колебаний и интервалов
В сочетании с стратегией динамического количественного индекса, выявление более сильных прорывных сигналов
Оптимизация циклических параметров для скользящих средних, поиск оптимального сочетания параметров
Автоматическая оптимизация Stop Loss в зависимости от рыночных колебаний
Попытка автоматической оптимизации всей стратегии на основе машинного обучения
Попытка объединения с другими стратегиями для создания более сложных многостратегических систем
Эта стратегия в целом является простой и практичной, и подходит для ознакомления новичков. Она отражает типичную модель стратегии пересечения перемещающейся средней, чтобы контролировать риск путем установки остановочных потерь. Но эта стратегия может быть дополнительно оптимизирована, чтобы сделать ее более эффективной и адаптироваться к большему количеству рыночных условий.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("34 89 SMA Crossover Strategy", overlay=true)
// Define the length for the SMAs
short_length = input(34, title="Short SMA Length")
long_length = input(89, title="Long SMA Length")
exit_candles = input(3, title="Exit after how many candles?")
exit_at_open = input(true, title="Exit at Open?")
// Define morning session
morning_session = input("0800-1000", "Morning Session")
// Calculate SMAs
short_sma = ta.sma(close, short_length)
long_sma = ta.sma(close, long_length)
// Function to check if current time is within specified session
in_session(session) =>
session_start = na(time(timeframe.period, "0800-1000")) ? na : true
session_start
// Condition for buy signal (short SMA crosses over long SMA) within specified trading hours
buy_signal = ta.crossover(short_sma, long_sma)
// Condition for sell signal (short SMA crosses under long SMA) within specified trading hours
sell_signal = ta.crossunder(short_sma, long_sma)
// Function to exit the trade after specified number of candles
var int trade_entry_bar = na
var int trade_exit_bar = na
if (buy_signal or sell_signal)
trade_entry_bar := bar_index
if (not na(trade_entry_bar))
trade_exit_bar := trade_entry_bar + exit_candles
// Exit condition
exit_condition = (not na(trade_exit_bar) and (exit_at_open ? bar_index + 1 >= trade_exit_bar : bar_index >= trade_exit_bar))
// Execute trades
if (buy_signal)
strategy.entry("Buy", strategy.long)
if (sell_signal)
strategy.entry("Sell", strategy.short)
if (exit_condition)
strategy.close("Buy")
strategy.close("Sell")
// Plot SMAs on the chart
plot(short_sma, color=color.blue, linewidth=1)
plot(long_sma, color=color.red, linewidth=1)