
Эта стратегия позволяет добиться высокой выигрышной валютной стратегии путем оптимизации параметров MACD-индикатора в сочетании с движущимися средними, ценовым действием и конкретным временем торговли.
Используйте 3 K-линии, чтобы определить ценовую тенденцию. Если последние 3 K-линии закрытия цены выше, чем цена открытия, то это будет восходящая тенденция; если последние 3 K-линии закрытия цены ниже, чем цена открытия, то это будет нисходящая тенденция.
Вычислить разницу между быстрой и медленной линиями и MACD. Параметр быстрой линии равен 12, параметр медленной линии равен 26, параметр сигнальной линии равен 9.
Время торговли устанавливается на 09:00-09:15 ежедневно. В течение этого периода вход осуществляется при соблюдении следующих условий:
Стоп-стоп настраивается на 0,3 пункта, стоп-убыток настраивается на 100 пунктов.
В период с 21:00 до 21:15 все позиции остались без изменений.
Использование пакетов показателей с несколькими временными рамками для комплексного определения направления тенденций и повышения точности принятия решений.
Оптимизация торговых периодов позволяет избежать ненужных потерь во время резких рыночных колебаний.
Установка разумного стоп-стоп-лосс, максимальное блокирование прибыли, избежание увеличения убытков.
В целом, стратегия имеет высокую вероятность выигрыша и подходит для коротких и частых торгов.
Если вы не успеете войти во время игры, вы можете пропустить торговую возможность.
MACD-индикаторы могут создавать вводящие в заблуждение сигналы, поэтому следует действовать осторожно, если нельзя определить четкий тренд вверх или вниз.
Нерациональная настройка стоп-стоп-стоп может привести к дисбалансу в прибыльно-неприбыльном соотношении, и параметры должны быть скорректированы в зависимости от разных сортов.
В целом, стратегический риск меньше, но при высоком уровне леверинга, слишком большая позиция может привести к большим потерям.
Можно использовать другие индикаторы для определения тенденции, чтобы избежать ошибочных сигналов MACD. Например, в комбинации с индикаторами, такими как линия Бурин, RSI и т. Д.
Можно оптимизировать коэффициент остановочных потерь, рассчитывая оптимальные параметры с помощью обратной измеренной информации.
Можно расширить торговые разновидности, к которым применяется стратегия, оценить эффективность корректировки параметров различных разновидностей.
Можно внедрить алгоритмы машинного обучения, чтобы выбрать оптимальные параметры в зависимости от различных рыночных условий, чтобы реализовать динамическую коррекцию.
Эта стратегия в целом очень подходит для начинающих трейдеров, четкая стратегия, большой простор для оптимизации параметров, контролируемый риск. Вы можете получить более высокую доходность путем настройки времени открытия позиции и разумной установки доходной и убыточной доли. Впоследствии может быть дополнительно оптимизировано, чтобы динамика параметров стратегии была адаптирована к более сложной рыночной среде.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
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/
// © exlux99
//@version=4
strategy("Very high win rate strategy", overlay=true)
//
fast_length =12
slow_length= 26
src = close
signal_length = 9
sma_source = false
sma_signal = false
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
//ma
len=10
srca = input(close, title="Source")
out = hma(srca, len)
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2000, title = "From Year", minval = 1970)
//monday and session
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
timeinrange(res, sess) => time(res, sess) != 0
// = input('0900-0915', type=input.session, title="My Defined Hours")
myspecifictradingtimes = '0900-0915'
exittime = '2100-2115'
optionmacd=true
entrytime = time(timeframe.period, myspecifictradingtimes) != 0
exit = time(timeframe.period, exittime) != 0
if(time_cond and optionmacd )
if(close > open and close[1] > open[1] and close[2] > open[2] and entrytime and crossover(hist,0))
strategy.entry("long",1)
if(close< open and close[1] < open[1] and close[2] < open[2] and entrytime and crossunder(hist,0))
strategy.entry("short",0)
tp = input(0.0003, title="tp")
//tp = 0.0003
sl = input(1.0 , title="sl")
//sl = 1.0
strategy.exit("closelong", "long" , profit = close * tp / syminfo.mintick, loss = close * sl / syminfo.mintick, alert_message = "closelong")
strategy.exit("closeshort", "short" , profit = close * tp / syminfo.mintick, loss = close * sl / syminfo.mintick, alert_message = "closeshort")