Esta estrategia se negocia basándose en el precio de cierre semanal de Bitcoin y el promedio móvil simple de 8 semanas. Se hace largo cuando el precio de cierre semanal se rompe por encima de la línea de 8 semanas y se cierra la posición cuando el precio de cierre semanal se rompe por debajo de la línea de 8 semanas.
Esta estrategia analiza la acción semanal del precio de Bitcoin y el promedio móvil simple de 8 semanas para juzgar si el mercado está en una tendencia alcista o una tendencia bajista. Cuando el precio de cierre semanal se rompe por encima de la línea de 8 semanas, indica que el mercado ha entrado en un canal de tendencia alcista y una posición larga podría obtener ganancias. Cuando el precio de cierre semanal se rompe por debajo de la línea de 8 semanas, indica que el gráfico semanal de Bitcoin ha entrado en un canal de tendencia bajista y que las posiciones largas existentes deben detenerse.
En concreto, la estrategia establece las siguientes condiciones de negociación:
buy_condition = crossover(btc,ma) #weekly closing price breaks above 8-week line, go long
sell_condition = crossunder(btc,ma) #weekly closing price breaks below 8-week line, close position
Cuando se cumple la condición de compra, la estrategia va a largo. Cuando se activa la condición de venta, la estrategia sale con tomar ganancias o stop loss.
Además, se configuran los coeficientes de stop loss y take profit:
loss_ratio=input(defval=1,title="LOSS RATIO", group="STRATEGY")
reward_ratio=input(defval=3,title="REWARD RATIO", group="STRATEGY")
La tasa de stop loss por defecto es 1 y la tasa de take profit por defecto es 3. Esto significa que cuando la señal de salida llega, si actualmente es rentable, salga con 3 veces el beneficio. Si actualmente es pérdida, salga con 1 vez la pérdida.
Las ventajas de esta estrategia incluyen:
También hay algunos riesgos:
Contramedidas:
Algunas maneras de mejorar esta estrategia:
En resumen, esta es una estrategia simple y directa que juzga la tendencia basada en los breakouts semanales y el promedio móvil. También controla el riesgo a través de stop loss y take profit. Puede servir como un sistema de referencia para las tenencias de Bitcoin a largo plazo.
/*backtest start: 2024-01-10 00:00:00 end: 2024-01-17 00:00:00 period: 3m basePeriod: 1m 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/ // © taberandwords //developer: taberandwords //author: taberandwords //@version=4 strategy("WEEKLY BTC TRADING SCRYPT","WBTS",overlay=false,default_qty_type=strategy.fixed) source=input(defval=close,title="source",group="STRATEGY") btc=security('BTCUSDT','1W', source) ma=sma(btc,8) buy_condition= crossover(btc,ma) sell_condition= crossunder(btc,ma) ma_color=input(defval=#FF3232,title="COLOR",group="MA") ma_linewidth=input(defval=2,title="LINE WIDTH",group="MA") graphic_color=input(defval=#6666FF,title="COLOR",group="GRAPHIC") graphic_linewidth=input(defval=2,title="LINE WIDTH",group="GRAPHIC") start_date=input(defval=2020,title="YEAR",group="STRATEGY EXECUTION YEAR") loss_ratio=input(defval=1,title="LOSS RATIO", group="STRATEGY") reward_ratio=input(defval=3,title="REWARD RATIO", group="STRATEGY") if(year>=start_date) strategy.entry('BUY',long=true,when=buy_condition,alert_message='Price came to buying value!') if(strategy.long) alert('BTC buy order trigerred!',alert.freq_once_per_bar) strategy.exit(id="SELL",loss=loss_ratio,profit=reward_ratio,when=sell_condition,alert_message='Price came to position closing value!') if(sell_condition) alert('BTC sell order trigerred!',alert.freq_once_per_bar) plot(series=source,title="WEEKLY CLOSE",color=graphic_color,linewidth=graphic_linewidth) plot(ma,title="SMA8 WEEKLY",color=ma_color,linewidth=ma_linewidth) plot(strategy.equity,display=0)