
Стратегия пересечения средних линий производит торговый сигнал, рассчитывая пересечение средних линий SMA с двумя различными параметрами. Когда более быстрая средняя линия SMA проходит медленную среднюю линию SMA, создается сигнал покупки; когда более медленная средняя линия SMA проходит быструю среднюю линию SMA, создается сигнал продажи.
В этой стратегии используются две группы среднелинейных параметров SMA:smaB1、smaB2иsmaS1、smaS2。smaB1иsmaB2Для определения покупательского сигнала они представляют собой медленную и быструю среднюю линию.smaB1Надень.smaB2Это означает, что у вас есть возможность купить.smaS1иsmaS2Используется для определения сигналов продажи, которые также представляют собой медленную и быструю среднюю линию.smaS2Снимай.smaS1Это позволяет гибко адаптировать условия покупки и продажи к различным рыночным условиям.
В частности, эта стратегия определяет время покупки и продажи путем вычисления значения SMA цены закрытия и мониторинга в режиме реального времени пересечения двух групп средних линий SMA. При прохождении медленной линии на SMA, считается, что цена движется вверх, поэтому в это время делается больше; а при прохождении медленной линии SMA под короткой линией, определяется, что цена движется вниз, поэтому больше покупается.
Основные преимущества этой стратегии:
Однако эта стратегия также несет в себе некоторые риски:
Для управления вышеупомянутыми рисками можно улучшить такие методы, как оптимизация комбинации параметров SMA в сочетании с динамическими остановками для блокировки прибыли.
Эта стратегия может быть оптимизирована в следующих аспектах:
Стратегия пересечения средних линий производит простой и эффективный торговый сигнал, рассчитывая пересечение двух групп средних линий SMA. Эта стратегия позволяет гибко регулировать параметры, применяется для разных сортов и является обычной стратегией отслеживания тенденций.
/*backtest
start: 2023-11-15 00:00:00
end: 2023-11-22 00:00:00
period: 5m
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/
// © melihtuna
//@version=4
strategy("SMA Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=10000, currency=currency.USD, commission_value=0.1, commission_type=strategy.commission.percent)
smaB1 = input(title="smaB1",defval=377)
smaB2 = input(title="smaB2",defval=200)
smaS1 = input(title="smaS1",defval=377)
smaS2 = input(title="smaS2",defval=200)
smawidth = 2
plot(sma(close, smaB1), color = #EFB819, linewidth=smawidth, title='smaB1')
plot(sma(close, smaB2), color = #FF23FD, linewidth=smawidth, title='smaB2')
plot(sma(close, smaS1), color = #000000, linewidth=smawidth, title='smaS1')
plot(sma(close, smaS2), color = #c48dba, linewidth=smawidth, title='smaS2')
// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2020, title = "From Year", minval = 2017)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
// === FUNCTION EXAMPLE ===
start = timestamp(FromYear, FromMonth, FromDay, 00, 00)
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)
window() => time >= start and time <= finish ? true : false
longCondition = crossover(sma(close, smaB1),sma(close, smaB2))
if (window() and longCondition)
strategy.entry("BUY", strategy.long)
shortCondition = crossover(sma(close, smaS2),sma(close, smaS1))
if (window() and shortCondition)
strategy.entry("SELL", strategy.short)