
Эта стратегия позволяет осуществлять арбитражные сделки между различными рынками путем вычисления адаптивных нормализованных скользящих средних. Эта стратегия имеет такие характеристики, как арбитраж между рынками, динамическая корректировка параметров и контроль риска.
Эта стратегия сначала определяет функцию scaleMinimax для стандартизации временной последовательности до заданного диапазона. Затем определяет функцию rema для адаптивного нормализованного скользящего среднего, которая вычисляет гладкую сигнальную линию sig.
После получения сигнала, стратегия определяет свободное пространство, судя по сигнала и цене. В частности:
Кроме того, в стратегию добавлены гладкий коэффициент smooth и показание сигнальной линии show_line в качестве регулируемых параметров, что повышает гибкость стратегии.
По сравнению с традиционной стратегией скользящих средних, эта стратегия имеет следующие преимущества:
Однако эта стратегия несет в себе определенные риски:
При двустороннем перекрестке вероятность возникновения ошибочного сигнала выше. Решение заключается в соответствующей коррекции параметров сглаживания, чтобы избежать колебания сигнальной линии.
Для арбитража на рынках необходимо обеспечить взаимосвязь между ценами и согласованность движения. Решение заключается в выборе рынка с высокой взаимосвязью для арбитража.
Для оптимизации параметров необходимо накопить достаточно исторических данных для обратной проверки. Решение заключается в осторожной корректировке параметров в реальных сделках.
Эта стратегия также может быть оптимизирована в следующих областях:
При выборе параметров можно вводить алгоритмы машинного обучения, которые автоматически оптимизируют параметры.
В генерируемом сигнале может быть введено большее количество индикаторов для комбинации, чтобы создать более стабильный торговый сигнал.
На контроле риска можно установить линию стоп-лосса для контроля одиночных потерь.
В случае арбитража на рынках, это может быть расширено на более релевантные виды сделок.
Эта стратегия позволяет осуществлять арбитражные сделки между рынками путем адаптивного вычисления скользящих средних. По сравнению с традиционными стратегиями скользящих средних, она обладает преимуществами адаптации параметров, плавной обработки и арбитража между рынками. Далее стратегия будет оптимизирована с помощью машинного обучения, комбинированных сигналов и управления рисками.
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Crossover82%", overlay=true)
//
// Functions
//
scaleMinimax(X, p, min, max) =>
hi = highest(X, p), lo = lowest(X, p)
(max - min) * (X - lo)/(hi - lo) + min
rema(ts, p) => // regularized ma
rm = 0.0, lambda = .5, a = 2 / (p + 1)
rm := (nz(rm[1]) + a * (ts - nz(rm[1])) + lambda * (2 * nz(rm[1]) - nz(rm[2]))) / (lambda + 1)
rm
//
// Inputs
//
X = input(close, title="Data source")
smooth = input(2, title="REMA smooth factor")
show_line = input(true, title="Show signal line")
//
// Main
//
p = 5
sig = rema(scaleMinimax(pow(X*p,-X) - 0.1, 100, lowest(X, 100), highest(X, 100)), smooth)
plot(show_line ? sig : na, linewidth=1)
plot(cross(sig, X) ? ohlc4 : na, style=circles, linewidth=8, color=blue, transp=50)
longCondition = crossover(sig, X)
if (longCondition)
strategy.entry("LE", strategy.long)
shortCondition = crossunder(sig, X)
if (shortCondition)
strategy.entry("SE", strategy.short)