
Эта стратегия позволяет реализовать стратегию торговли с низкой ценой и высокой ценой путем вычисления наивысшей и наименьшей цены на последнюю N-корневую K-линию в сочетании с индикатором движущейся средней, с установлением условий двойного прорыва.
Эта стратегия основана на следующих принципах:
Вычислить, находится ли рынок в состоянии перепродажи или перекупа, рассчитывая предельные значения ближайшей N-корневой K-линии. Определить направление тренда в сочетании с движущейся средней, установить двойные условия и реализовать стратегию прорывного трейдинга с низкой ценой покупки или продажи.
Эта стратегия имеет следующие преимущества:
Двойное подтверждение условий позволяет повысить качество стратегического сигнала, а также оптимизировать параметры, которые подходят для различных рыночных условий.
Однако эта стратегия также несет в себе некоторые риски:
Эти риски можно снизить, например, путем корректировки цикла вычислений, оптимизации комбинации параметров. Кроме того, можно рассмотреть оптимизацию в сочетании с другими показателями.
Эта стратегия может быть оптимизирована в следующих направлениях:
С помощью оптимизации параметров, оптимизации показателей и оптимизации ветроуправления можно значительно повысить фактор прибыли стратегии.
Эта стратегия в целом является очень практичной стратегией прорыва. Вычисление предельных значений K-линии определяет состояние перепродажи, движущаяся средняя определяет направление тенденции, двойные условия устанавливают фильтрующие ошибочные сигналы, обеспечивают высококачественную стратегию низкой покупки и продажи.
/*backtest
start: 2023-02-22 00:00:00
end: 2024-02-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Larry Connors por RON", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
value1 = input(7, title="Quantity of day low")
value2 = input(7, title="Quantity of day high")
entry = lowest(close[1], value1)
exit = highest(close[1], value2)
lengthMMA = input(200, title="Length of SMA", minval=1)
mma = sma(close, lengthMMA)
// Calcular el mínimo de los precios bajos de las últimas 'value1' velas
minLow = lowest(low, value1)
// Calcular el máximo de los precios altos de las últimas 'value2' velas
maxHigh = highest(high, value2)
// Test Period
testStartYear = input(2009, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0)
testStopYear = input(2020, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)
testPeriod() => true
if testPeriod()
// Condiciones de entrada
conditionMet = (close > mma) and (close < entry) and (low == minLow)
strategy.entry("Buy", strategy.long, when=conditionMet)
if conditionMet
label.new(bar_index, entry, text="↑", style=label.style_arrowup, color=color.green, size=size.small, yloc=yloc.belowbar)
// Condiciones de salida
conditionExit = close > exit or close > maxHigh
strategy.close("Buy", when=conditionExit)