
Эта стратегия использует множество комбинаций индикаторов для определения направления тенденции и времени торговли, используя метод стресс-баланса для повышения выигрыша торгов. Основные три показателя MACD, PSAR и EMA используются для определения эффективной прибыли в сочетании со стоп-стоп-лосс.
Используйте EMA для вычисления средней линии, чтобы определить направление общей тенденции. Большие значения EMA в настоящее время находятся в тенденции к росту, а меньшие значения EMA в настоящее время находятся в тенденции к снижению.
Различия между быстрой и медленной линиями рассчитываются с помощью MACD. Различия, превышающие 0, указывают на то, что они находятся в восходящем тренде. Различия, превышающие 0, указывают на то, что они находятся в нисходящем тренде.
Используя ПСАР, рассчитывается последовательность переменных точек, когда большие значения ПСАР представляют собой текущую тенденцию к снижению, а меньшие значения ПСАР представляют собой текущую тенденцию к росту.
В сочетании с вышеуказанными тремя показателями можно определить согласованность тренда. Когда три показателя совпадают, это означает, что тренд более ясен, и можно совершать покупку или продажу.
Открытие позиции в соответствии с условиями покупки и продажи и установка стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп.
Правила работы следующие:
Использование различных показателей для оценки тенденций повышает точность оценки.
Применение метода сбалансированного давления, открытие позиции при четком тренде, увеличение вероятности получения прибыли.
Установите стоп-стоп, чтобы ограничить потери и закрепить прибыль.
Система четких правил торговли, подходящая для процедурных сделок.
Параметры могут быть оптимизированы и адаптированы для различных видов и циклов торгов.
Возможность ошибок в оценке трендов, которые могут привести к ошибке в открытии позиции.
Например, если рынок сильно изменится, то индикаторы могут дать ложные сигналы.
Стоп-пункт установлен слишком высоко, чтобы остановить его вовремя.
Неправильно настроенные параметры, которые приводят к слишком частому трейдингу или невозможности своевременного открытия позиций.
Недостаточная ликвидность торгуемых видов не позволяет планомерно остановить убытки.
Снижение риска может быть достигнуто путем оптимизации параметров, корректировки стоп-стоп и выбора наиболее ликвидных торговых видов.
Настройка параметров цикла EMA, оптимизация точности определения тенденции.
Настройка параметров MACD-периодов для оптимизации чувствительности 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')