Эта стратегия оптимизирует параметры индикатора MACD, сочетается с скользящей средней, действием цены и конкретным временем торговли для достижения высокой ставки выигрыша.
Если цены закрытия последних 3 K-линий выше, чем цены открытия, это оценивается как тенденция к росту; если цены закрытия последних 3 K-линий ниже, чем цены открытия, это оценивается как тенденция к снижению.
Вычислите разницу между быстрой линией, медленной линией и MACD. Параметр быстрой линии - 12, параметр медленной линии - 26, а параметр сигнальной линии - 9.
Время торговли устанавливается на 09:00-09:15 каждый день. В течение этого периода времени вы должны выйти на рынок, если выполнены следующие условия:
Прибыль установлена на 0,3 пипса, а стоп-лосс - на 100 пипсов.
Закройте все позиции в 21:00-21:15.
Использование комбинации индикаторов с несколькими временными рамками для всестороннего оценки направления тренда и повышения точности принятия решений.
Оптимизировать время торговли, чтобы избежать периодов высокой волатильности рынка, уменьшая ненужный риск остановки потерь.
Установите разумные коэффициенты для получения прибыли и остановки убытков, чтобы максимизировать блокировку прибыли и избежать увеличения убытков.
В целом, стратегия имеет очень высокий показатель выигрыша и подходит для частой краткосрочной торговли.
Время торговли относительно фиксировано, может пропустить торговые возможности, если не сможет вовремя выйти на рынок.
Индикатор MACD подвержен вводящим в заблуждение сигналам.
Приобретение прибыли и стоп-лосс могут быть установлены необоснованно, что приводит к дисбалансу прибыли и убытка.
В целом риск невелик, но чрезмерно большие позиции под высоким кредитным плечом могут привести к огромным потерям.
Комбинировать с другими индикаторами для определения тренда, избегая вводящих в заблуждение сигналов от MACD. Например, комбинировать полосы Боллинджера, RSI и т. д.
Оптимизировать соотношение take profit/stop loss путем расчета оптимальных параметров на основе данных обратного теста.
Расширить торговые сорта, применимые к стратегии, оценить эффекты настройки параметров на различные продукты.
Внедрение алгоритмов машинного обучения для динамического выбора оптимальных параметров на основе различных рыночных условий.
В целом, эта стратегия хорошо подходит для начинающих трейдеров. Логика ясна, пространство оптимизации большое, и риски контролируемы. Благодаря настройке времени открытия и установке разумных коэффициентов потерь прибыли можно достичь высокой доходности.
/*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")