
A estratégia permite uma estratégia de negociação de compra e venda de baixo preço com base no preço mais alto e mais baixo da linha K da raiz N mais recente, em combinação com o indicador de média móvel, definindo condições de dupla ruptura.
A estratégia baseia-se principalmente nos seguintes princípios:
O mercado está em um estado de sobrevenda ou sobrecompra, através do cálculo do valor máximo da linha K da raiz N mais recente. A combinação da média móvel determina a direção da tendência, define condições duplas e realiza uma estratégia de negociação de ruptura de baixa e alta venda.
A estratégia tem as seguintes vantagens:
A confirmação de dupla condição permite uma maior qualidade de sinais de estratégia e um amplo espaço de otimização de parâmetros para diferentes ambientes de mercado.
A estratégia também apresenta alguns riscos:
Esses riscos podem ser reduzidos por meio de métodos como ajuste do ciclo de cálculo, combinação de parâmetros de otimização. Além disso, a otimização em combinação com outros indicadores também pode ser considerada.
A estratégia pode ser melhorada principalmente nas seguintes direções:
A otimização de parâmetros, otimização de indicadores, otimização de controle de vento, etc., podem aumentar significativamente o fator de lucro da estratégia.
Em geral, a estratégia é uma estratégia de ruptura muito prática. Calcular o máximo da linha K para determinar o estado de sobrecompra e sobrevenda, a média móvel para determinar a direção da tendência, a configuração de sinais de erro de filtragem de dupla condição, para obter uma estratégia de alta qualidade de compra e venda de baixo preço.
/*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)