Это простая внутридневная стратегия торговли, основанная на двойных скользящих средних. Она использует две простые скользящие средние с разными периодами и занимает длинные или короткие позиции, когда скользящие средние пересекаются. Позиция обращается с использованием двойной величины при изменении сигнала. Все открытые позиции уравниваются, когда заканчивается внутридневная сессия.
Стратегия использует 10-дневную и 40-дневную простую скользящую среднюю. Она длится, когда короткий период скользящей средней пересекает над длинным периодом один и становится короткой, когда происходит обратный перекресток. Когда изменяется сигнал, позиция закрывается с использованием двойной величины и инициируется обратная позиция. Торговля происходит только после сигналов скользящей средней в течение определенной внутридневной сессии.
Стратегия в основном использует более быструю способность перехвата изменения цены более короткой периодической скользящей средней. Когда короткая SMA пересекает длинную SMA, это указывает на восходящий тренд цен в краткосрочной перспективе, следовательно, длинный путь может захватить это. Обратный указывает на краткосрочный нисходящий тренд. Двойной объем обратный вход расширяет потенциал прибыли.
Уменьшение риска:
Оптимизируйте параметры MA, тестируя больше комбинаций для лучшего соответствия.
Добавьте фильтры типа подтверждения MACD, чтобы уменьшить ложные сигналы.
Оптимизируйте умножение количества обратного ввода с помощью настройки параметров.
Проверка продления длительности сеанса в течение суток для получения лучшей доходности.
Стратегия улавливает краткосрочные тенденции, сформированные из кроссоверных сигналов MA, расширяет прибыль с использованием обратной торговли двойной величиной и ограничивает риски за одну ночь, торгуя только в сессии внутридневного дня.
/*backtest start: 2024-02-19 00:00:00 end: 2024-02-26 00:00:00 period: 1m basePeriod: 1m 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/ // © Pritesh-StocksDeveloper //@version=4 strategy("Moving Average - Intraday", shorttitle = "MA - Intraday", overlay=true, calc_on_every_tick = true) // Used for intraday handling // Session value should be from market start to the time you want to square-off // your intraday strategy var i_marketSession = input(title="Market session", type=input.session, defval="0915-1455", confirm=true) // Short & Long moving avg. period var int i_shortPeriod = input(title = "Short MA Period", type = input.integer, defval = 10, minval = 2, maxval = 20, confirm=true) var int i_longPeriod = input(title = "Long MA Period", type = input.integer, defval = 40, minval = 3, maxval = 120, confirm=true) // A function to check whether the bar is in intraday session barInSession(sess) => time(timeframe.period, sess) != 0 // Calculate moving averages shortAvg = sma(close, i_shortPeriod) longAvg = sma(close, i_longPeriod) // Plot moving averages plot(series = shortAvg, color = color.red, title = "Short MA", linewidth = 2) plot(series = longAvg, color = color.blue, title = "Long MA", linewidth = 2) // Long/short condition longCondition = crossover(shortAvg, longAvg) shortCondition = crossunder(shortAvg, longAvg) // See if intraday session is active bool intradaySession = barInSession(i_marketSession) // Trade only if intraday session is active // Long position strategy.entry(id = "Long", long = strategy.long, when = longCondition and intradaySession) // Short position strategy.entry(id = "Short", long = strategy.short, when = shortCondition and intradaySession) // Square-off position (when session is over and position is open) squareOff = (not intradaySession) and (strategy.position_size != 0) strategy.close_all(when = squareOff, comment = "Square-off")