Метод интеллектуального отслеживания сканирования с низкой точкой


Дата создания: 2023-11-01 16:12:00 Последнее изменение: 2023-11-01 16:12:00
Копировать: 2 Количество просмотров: 392
1
Подписаться
1166
Подписчики

Метод интеллектуального отслеживания сканирования с низкой точкой

Обзор

Интеллектуальный отслеживающий метод сканирования низких точек - это неретроактивная стратегия торговли на Форексе. Он использует сканер низких точек для поиска наименьших точек, а в сочетании с Hull Moving Average для определения торговых сигналов, что позволяет достичь высокой выигрышной ставки.

Принципиальный анализ

Эта стратегия сначала использует сканер низких точек, чтобы найти наименьшую точку. Сканер низких точек рассчитывает значение RSI для цены и объема торговли, а затем сравнивает его с кривой WMA, чтобы определить, что значение RSI является наименьшим, когда оно ниже WMA.

Затем стратегия использует Hull Moving Average для определения торговых сигналов. Она рассчитывает Hull MA на два разных периода, делая больше, когда короткий период Hull MA проходит длинный период Hull MA, и пустое, когда он проходит.

В конце концов, стратегия объединяет сниженную точку сканирования с сигналом Hull MA, и только тогда, когда сниженная точка сканирования дает сниженную точку сигналов, выпускается торговый сигнал Hull MA, формируя входную стратегию.

Таким образом, можно эффективно избежать ошибочного времени входа и повысить выигрышную вероятность торговой системы, идентифицировав рыночные минимумы и отслеживая тенденции.

Анализ преимуществ

Основные преимущества интеллектуального отслеживания с помощью сканирования низких точек:

  1. Используя сканер низких точек, можно точно определить низкие точки рынка и избежать ударов при покупке в высоких точках.

  2. Hull MA - отличный индикатор для отслеживания тенденций, который может быть использован для отслеживания крупных трендов.

  3. В сочетании со сканированием низких точек и взаимной аутентификацией Hull MA можно отфильтровать большое количество шума и уменьшить количество ложных сигналов.

  4. Применение механизма постепенного остановки убытков позволяет максимально закрепить прибыль и избежать возврата.

  5. Эта стратегия не является ретроспективной, она не манипулирует историческими данными, она реальна и надежна.

Анализ рисков

Основные риски этой стратегии:

  1. Сканер минимальных точек может пропустить некоторые минимальные точки, что приводит к упущенным торговым возможностям. Можно соответствующим образом скорректировать параметры и расширить диапазон сканирования.

  2. В случае резкого поворота событий, в результате которого может быть сбит стоп-логи, можно расширить пределы стоп-логов и разумно контролировать размер позиции.

  3. Неправильная настройка параметров может привести к созданию слишком большого или слишком малого количества торговых сигналов. Следует многократно оптимизировать, чтобы найти оптимальную комбинацию параметров.

  4. Эта стратегия применяется только для Forex-вариантов с заметной тенденцией, она не подходит для торговли на скользящих и скользящих рынках.

Направление оптимизации

Эта стратегия может быть оптимизирована в следующих аспектах:

  1. Оптимизация параметров сканера низких точек, чтобы он мог более точно идентифицировать самые низкие точки.

  2. Оптимизация параметров Hull MA, позволяющая более точно отслеживать тренды.

  3. Добавление фильтров других показателей, таких как MACD, KDJ и т. д., повышает надежность сигнала.

  4. Добавление прогнозных результатов модели машинного обучения, помогающих оценивать торговые сигналы.

  5. Оптимизация механизма хранения убытков, позволяющая динамично адаптироваться к уровню волатильности рынка.

  6. Оптимизация стратегии управления позициями, позволяющая системе динамически регулировать позиции в соответствии с правилами управления капиталом.

Подвести итог

Интеллектуальный отслеживающий метод сканирования низких точек - это высокодоходная нерефлексная стратегия торговли на Форексе. Она позволяет точно идентифицировать низкие точки рынка, вступать в строй, когда тенденция ясна, и использовать постепенное остановку потерь для блокировки прибыли.

Исходный код стратегии
/*backtest
start: 2023-10-24 00:00:00
end: 2023-10-25 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © theCrypster 2020

//@version=4
// strategy(title = "Low Scanner Forex strategy", overlay = false, pyramiding=1,initial_capital = 1000, 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)
strat_dir_input = input(title="Strategy Direction", defval="long", options=["long", "short", "all"])
strat_dir_value = strat_dir_input == "long" ? strategy.direction.long : strat_dir_input == "short" ? strategy.direction.short : strategy.direction.all
strategy.risk.allow_entry_in(strat_dir_value)
leng=1
p1=close[1]
min=input(1440)
len55 = timeframe.isintraday and timeframe.multiplier >= 1 ? 
   min / timeframe.multiplier * 7 : 
   timeframe.isintraday and timeframe.multiplier < 60 ? 
   60 / timeframe.multiplier * 24 * 7 : 7
//taken from https://www.tradingview.com/script/Ql1FjjfX-security-free-MTF-example-JD/
tf3 = input("W", type=input.resolution)
ti = change( time(tf3) ) != 0
T_c = fixnan( ti ? close : na )

vrsi = rsi(cum(change(T_c) * volume), leng)
pp=wma(vrsi,len55)

d=(vrsi[1]-pp[1])
min1 =input(60)
len100 = timeframe.isintraday and timeframe.multiplier >= 1 ? 
   min1 / timeframe.multiplier * 7 : 
   timeframe.isintraday and timeframe.multiplier < 60 ? 
   60 / timeframe.multiplier * 24 * 7 : 7
x=ema(d,len100)
//
zx=x/-1
col=zx > 0? color.lime : color.orange
plot(zx,color=col,linewidth=1)
//

tf10 = input("W", title = "Timeframe", type = input.resolution, options = ["1", "5", "15", "30", "60","120", "240","360","720", "D", "W"])

length = input(24, title = "Period", type = input.integer)
shift = input(1, title = "Shift", type = input.integer)

hma(_src, _length)=>
    wma((2 * wma(_src, _length / 2)) - wma(_src, _length), round(sqrt(_length)))
    
hma3(_src, _length)=>
    p = length/2
    wma(wma(close,p/3)*3 - wma(close,p/2) - wma(close,p),p)


a = security(syminfo.tickerid, tf10, hma(close, length))
b =security(syminfo.tickerid, tf10, hma3(close[1], length)[shift])
//plot(a,color=color.gray)
//plot(b,color=color.yellow)
close_price = close[0]
len = input(25)

linear_reg = linreg(close_price, len, 0)


//plot(linear_reg, color=color.blue, title="LR", linewidth=3)

buy=crossover(linear_reg, b) 
sell=crossunder(linear_reg, b) 
//
// Time period input
testStartYear = input(2016, "BACKTEST START YEAR", minval = 1980, maxval = 2222) 
testStartMonth = input(06, "BACKTEST START MONTH", minval = 1, maxval = 12)
testStartDay = input(01, "BACKTEST START DAY", minval = 1, maxval = 31)
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2222, "BACKTEST STOP YEAR", minval=1980, maxval = 2222)
testStopMonth = input(12, "BACKTEST STOP MONTH", minval=1, maxval=12)
testStopDay = input(31, "BACKTEST STOP DAY", minval=1, maxval=31)
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)
testPeriod = time >= testPeriodStart and time <= testPeriodStop ? true : false
l = crossover(zx,0) or buy
        
if l and testPeriod
    strategy.entry("buy", strategy.long)

per(pcnt) =>
    strategy.position_size != 0 ? round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
stoploss=input(title=" stop loss", defval=25, minval=0.01)
los = per(stoploss)
q1=input(title=" qty_percent1", defval=25, minval=1)
q2=input(title=" qty_percent2", defval=25, minval=1)
q3=input(title=" qty_percent3", defval=25, minval=1)
tp1=input(title=" Take profit1", defval=0.5, minval=0.01)
tp2=input(title=" Take profit2", defval=1, minval=0.01)
tp3=input(title=" Take profit3", defval=1.5, minval=0.01)
tp4=input(title=" Take profit4", defval=2, minval=0.01)
strategy.exit("x1", qty_percent = q1, profit = per(tp1), loss = los)
strategy.exit("x2", qty_percent = q2, profit = per(tp2), loss = los)
strategy.exit("x3", qty_percent = q3, profit = per(tp3), loss = los)
strategy.exit("x4", profit = per(tp4), loss = los)