Una estrategia comercial sencilla basada en la suerte aleatoria


Fecha de creación: 2023-09-13 17:48:13 Última modificación: 2023-09-13 17:48:13
Copiar: 0 Número de Visitas: 734
1
Seguir
1617
Seguidores

Esta estrategia se llama estrategia de comercio simple basada en la suerte aleatoria. La estrategia utiliza un método aleatorio para generar señales de venta o venta en el primer día de cada semana y evaluar la eficacia de las operaciones aleatorias a través de una gran cantidad de pruebas repetidas.

En concreto, la lógica de negociación de la estrategia es muy simple y directa:

  1. El lanzamiento de una moneda cada lunes produce un resultado aleatorio de cabeza o cola.

  2. Si es la cabeza, haga más en el día; si es la cola, haga vacío en el día.

  3. Cuando se hace más, el stop loss se establece en 1x el ATR y el stop loss en 1x el ATR; hacer un pronóstico a la par, para lograr una relación de riesgo-recompensa de 1:1.

  4. Las posiciones se cerrarán el fin de semana.

La ventaja de esta estrategia reside en que se puede evaluar el promedio de éxito de las transacciones aleatorias a partir de datos de muchos años atrás. Las reglas de negociación son muy simples y pueden servir de referencia para comparar la estrategia.

Sin embargo, las operaciones aleatorias no pueden aprovechar las leyes del mercado y son difíciles de obtener ganancias positivas de manera continua. La fijación de stop-loss también puede causar pérdidas ampliadas. Los comerciantes solo pueden usarlas como estrategias experimentales y no se pueden usar en el mercado real.

En general, la retroalimentación de datos puede sugerir la eficacia de las operaciones aleatorias, pero no representa una estrategia que se pueda utilizar en la práctica. Los comerciantes finalmente necesitan juicio y técnicas de negociación sistemáticas.

Código Fuente de la Estrategia
/*backtest
start: 2022-09-12 00:00:00
end: 2023-01-12 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("CoinFlip", overlay = true)

int result = int(math.random()+0.5)
atr_period = input(defval = 20, title = "ATR Period")
year_to_test = input(defval = 2022, title = "Year to Test")
day_of_week = input(defval = 1, title = "Day of Week")

atr = ta.atr(atr_period)

shouldSell = result == 0 and dayofweek == day_of_week
shouldBuy = result == 1 and dayofweek == day_of_week 

plotshape(result == 0 and dayofmonth == day_of_week, title="sell", location=location.abovebar, color=color.red, transp=0, style=shape.arrowdown)
plotshape(result == 1 and dayofmonth == day_of_week, title="buy", location=location.belowbar, color=color.lime, transp=0, style=shape.arrowup)


strategy.entry("short entry", strategy.short, 1000 / (1*atr), when=shouldSell and year == year_to_test)
strategy.entry("long entry", strategy.long,  1000  / (1*atr), when=shouldBuy and year == year_to_test)

strategy.exit("exit", "long entry", limit = close + 1*atr, stop = close - 1*atr, when = shouldBuy)
strategy.exit("exit", "short entry", limit = close - 1*atr, stop = close + 1*atr, when = shouldSell)