Эта стратегия использует сочетание нескольких индикаторов для определения направления тренда и торговых возможностей, используя подход баланса давления для увеличения выигрышной ставки сделок.
Используйте EMA для расчета скользящей средней для определения общего направления тренда.
Используйте MACD для расчета разницы между быстрыми и медленными скользящими средними. Когда разница больше 0, она указывает на восходящий тренд, когда меньше 0, она указывает на нисходящий тренд.
Используйте PSAR для расчета непрерывной переменной точки. Когда значение PSAR большое, это указывает на снижающийся тренд, когда значение PSAR небольшое, это указывает на восходящий тренд.
Для определения последовательности тренда объединяют вышеперечисленные три показателя.
Введите сделки, основанные на критериях покупки и продажи, и устанавливайте точки остановки потери и получения прибыли.
Особые правила:
Использование нескольких индикаторов для определения тенденции повышает точность.
Открытие сделок на основе определенных тенденций, выявленных с помощью баланса давления, увеличивает процент выигрыша.
Установка стоп-лосса и прибыли может ограничить убытки и закрепить прибыль.
Ясные и систематические правила торговли делают его подходящим для алгоритмической торговли.
Параметры могут быть оптимизированы для адаптации к различным продуктам и срокам.
Суждение о тренде может быть неправильным, что приводит к неправильному направлению торговли.
Экстремальные движения рынка могут привести к ложным сигналам от индикаторов.
Стоп-потеря слишком широкая, не может выйти вовремя.
Неправильная настройка параметров приводит к переоценке или отсутствию сделок.
Неликвидные продукты не могут выполнять планы стоп-лосса и прибыли.
Риски могут быть уменьшены путем оптимизации параметров, корректировки остановок и выбора жидких продуктов.
Корректировать период EMA для оптимизации точности тренда.
Настройка MACD на быстрый и медленный периоды для улучшения чувствительности.
Оптимизируйте стоп-лосс и коэффициент прибыли, чтобы найти идеальный баланс.
Добавить другие вспомогательные показатели для улучшения времени входа.
Выбирайте продукты с хорошей ликвидностью и большими колебаниями.
Настраивайте временные рамки, чтобы они соответствовали различным характеристикам продукции.
Эта стратегия интегрирует несколько индикаторов для анализа трендов и вступает в сделки на основе определенных тенденций, с предварительно установленными стоп-лосом и получением прибыли, которые могут эффективно улавливать движения рынка и достигать хорошей прибыли, обеспечивая при этом определенную прибыльность. Дальнейшее улучшение стабильности и прибыльности может быть достигнуто посредством настройки параметров и дополнительных индикаторов.
/*backtest start: 2023-10-13 00:00:00 end: 2023-11-12 00:00:00 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(title = "Crypto Scalper", overlay = true, pyramiding=1,initial_capital = 100, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.03) len = input(60, minval=1, title="Length EMA") src = input(close, title="Source") out = ema(src, len) // fast_length = input(title="Fast Length MACD", type=input.integer, defval=12) slow_length = input(title="Slow Length MACD", type=input.integer, defval=26) signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9) sma_source = input(title="Oscillator MA Type MACD", type=input.string, defval="EMA", options=["SMA", "EMA"]) sma_signal = input(title="Signal Line MA Type MACD", type=input.string, defval="EMA", options=["SMA", "EMA"]) // Calculating fast_ma = sma_source == "SMA" ? sma(src, fast_length) : ema(src, fast_length) slow_ma = sma_source == "SMA" ? sma(src, slow_length) : ema(src, slow_length) macd = fast_ma - slow_ma signal = sma_signal == "SMA" ? sma(macd, signal_length) : ema(macd, signal_length) hist = macd - signal start = input(0.02) increment = input(0.02) maximum = input(0.2) var bool uptrend = na var float EP = na var float SAR = na var float AF = start var float nextBarSAR = na if bar_index > 0 firstTrendBar = false SAR := nextBarSAR if bar_index == 1 float prevSAR = na float prevEP = na lowPrev = low[1] highPrev = high[1] closeCur = close closePrev = close[1] if closeCur > closePrev uptrend := true EP := high prevSAR := lowPrev prevEP := high else uptrend := false EP := low prevSAR := highPrev prevEP := low firstTrendBar := true SAR := prevSAR + start * (prevEP - prevSAR) if uptrend if SAR > low firstTrendBar := true uptrend := false SAR := max(EP, high) EP := low AF := start else if SAR < high firstTrendBar := true uptrend := true SAR := min(EP, low) EP := high AF := start if not firstTrendBar if uptrend if high > EP EP := high AF := min(AF + increment, maximum) else if low < EP EP := low AF := min(AF + increment, maximum) if uptrend SAR := min(SAR, low[1]) if bar_index > 1 SAR := min(SAR, low[2]) else SAR := max(SAR, high[1]) if bar_index > 1 SAR := max(SAR, high[2]) nextBarSAR := SAR + AF * (EP - SAR) tplong=input(0.245, step=0.005) sllong=input(1.0, step=0.005) tpshort=input(0.055, step=0.005) slshort=input(0.03, step=0.005) if (uptrend and hist >0 and close < out) strategy.entry("short", strategy.short, stop=nextBarSAR, comment="short") strategy.exit("short_tp/sl", "short", profit=close * tpshort / syminfo.mintick, loss=close * slshort / syminfo.mintick, comment='SHORT EXIT', alert_message = 'closeshort') if (not uptrend and hist <0 and close > out) strategy.entry("long", strategy.long, stop=nextBarSAR, comment="long") strategy.exit("short_tp/sl", "long", profit=close * tplong / syminfo.mintick, loss=close * sllong / syminfo.mintick, comment='LONG EXIT', alert_message = 'closelong')