
La estrategia de inversión de la línea de paridad binaria genera una señal de negociación en función de la relación entre el precio y la media móvil, calculando un promedio móvil simple de dos períodos diferentes, a corto plazo y largo plazo. Haga más cuando atraviesa la media de largo plazo por encima de la línea de paridad corto plazo; y haga menos cuando atraviesa la media de largo plazo por debajo de la línea de paridad corto plazo. Esta estrategia es una estrategia de seguimiento de tendencias.
La estrategia utiliza parámetros de entrada para establecer dos promedios móviles simples de diferentes longitudes de ciclo. La línea de ciclo corto se llama línea rápida y la línea de ciclo largo se llama línea lenta. La línea rápida responde a los cambios de precio más rápidamente, capturando las tendencias a corto plazo; la línea lenta responde a los cambios de precio más lentamente, filtrando el ruido del mercado a corto plazo y capturando las tendencias principales.
En concreto, la estrategia calcula dos medias a través de la función sma (), y asigna el resultado del cálculo a xSMA (la línea lenta) y a la línea rápida. La estrategia utiliza el precio cerrado para calcular la media. Cuando el precio cerrado atraviesa xSMA, haga más; cuando el precio cerrado atraviesa xSMA, haga vacío.
Para cada operación, se establece un punto de parada y se detiene inmediatamente cuando se alcanza el punto de parada. Al mismo tiempo, la estrategia muestra la relación entre el precio y la línea lenta en la línea K a través de la función barcolor: la línea K es verde cuando se hace una ventaja; la línea K es roja cuando está vacía; la línea K es azul cuando está en posición baja.
Se puede reducir el riesgo ajustando los parámetros de la línea media, optimizando las estrategias de stop-loss, eliminando los límites de tiempo o estableciendo períodos de tiempo de negociación más razonables. También se puede considerar la combinación de otros indicadores como condiciones de filtración para evitar demasiadas señales falsas.
La estrategia de inversión de la línea de paridad general es una estrategia de seguimiento de tendencias sencilla y práctica. Aprovecha el efecto suave de la línea de paridad para identificar la dirección de la tendencia y se combina con la línea de paridad para generar señales de comercio. La estrategia es fácil de implementar, clara de pensamiento y adecuada para los principiantes.
/*backtest
start: 2023-09-15 00:00:00
end: 2023-10-15 00:00:00
period: 4h
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/
// © HPotter
// Simple SMA strategy
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors
//@version=4
timeinrange(res, sess) => not na(time(res, sess)) ? 1 : 0
strategy(title="Simple SMA Strategy Backtest", shorttitle="SMA Backtest", precision=6, overlay=true)
Resolution = input(title="Resolution", type=input.resolution, defval="D")
Source = input(title="Source", type=input.source, defval=close)
xSeries = security(syminfo.tickerid, Resolution, Source)
Length = input(title="Length", type=input.integer, defval=14, minval=2)
TriggerPrice = input(title="Trigger Price", type=input.source, defval=close)
TakeProfit = input(50, title="Take Profit", step=0.01)
StopLoss = input(20, title="Stop Loss", step=0.01)
UseTPSL = input(title="Use Take\Stop", type=input.bool, defval=false)
BarColors = input(title="Painting bars", type=input.bool, defval=true)
ShowLine = input(title="Show Line", type=input.bool, defval=true)
UseAlerts = input(title="Use Alerts", type=input.bool, defval=false)
timeframe = input(title="Time Frame", defval="15")
timerange = input(title="Time Range", defval="2300-0800")
reverse = input(title="Trade Reverse", type=input.bool, defval=false)
pos = 0
xSMA = sma(xSeries, Length)
pos := iff(TriggerPrice > xSMA, 1,
iff(TriggerPrice < xSMA, -1, nz(pos[1], 0)))
nRes = ShowLine ? xSMA : na
alertcondition(UseAlerts == true and pos != pos[1] and pos == 1, title='Signal Buy', message='Strategy to change to BUY')
alertcondition(UseAlerts == true and pos != pos[1] and pos == -1, title='Signal Sell', message='Strategy to change to SELL')
alertcondition(UseAlerts == true and pos != pos[1] and pos == 0, title='FLAT', message='Strategy get out from position')
possig =iff(pos[1] != pos,
iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos)), 0)
if (possig == 1 and timeinrange(timeframe, timerange))
strategy.entry("Long", strategy.long)
if (possig == -1 and timeinrange(timeframe, timerange))
strategy.entry("Short", strategy.short)
if (timeinrange(timeframe, timerange) == 0)
strategy.close_all()
if (UseTPSL)
strategy.close("Long", when = high > strategy.position_avg_price + TakeProfit, comment = "close buy take profit")
strategy.close("Long", when = low < strategy.position_avg_price - StopLoss, comment = "close buy stop loss")
strategy.close("Short", when = low < strategy.position_avg_price - TakeProfit, comment = "close buy take profit")
strategy.close("Short", when = high > strategy.position_avg_price + StopLoss, comment = "close buy stop loss")
nColor = BarColors ? strategy.position_avg_price != 0 and pos == 1 ? color.green :strategy.position_avg_price != 0 and pos == -1 ? color.red : color.blue : na
barcolor(nColor)
plot(nRes, title='SMA', color=#00ffaa, linewidth=2, style=plot.style_line)