Estrategia de negociación de Bitcoin combinando MACD, RSI y FIB

El autor:¿ Qué pasa?, Fecha: 2023-12-26 17:08:03
Las etiquetas:

img

Resumen general

La estrategia se llama Estrategia Fibonacci de Cruz Dorada. Combina el indicador técnico MACD, el índice de fuerza relativa RSI y la teoría de retroceso/extensión de fibonacci basada en la proporción dorada, realizando el comercio cuantitativo para bitcoin y otras criptomonedas.

Principio de la estrategia

  1. Indicador MACD para señales de negociación
  • Establecer los períodos de EMA de la línea rápida y de la línea lenta del MACD en 15 y 30
  • Cruzar hacia arriba como señal de compra y cruzar hacia abajo como una venta
  1. El RSI filtra señales falsas
  • Establecer el parámetro RSI en el período 50
  • El RSI ayuda a filtrar algunas señales falsas que da el MACD
  1. Teoría de Fibonacci para el apoyo/resistencia
  • Combine el precio más alto/más bajo reciente en 38 velas
  • Calcular el nivel de retroceso/extensión de 0,5 fibonacci
  • Se puede utilizar como soporte y resistencia
  1. El índice de variabilidad de las inversiones en el valor de mercado (MA) y el índice de variabilidad de las inversiones (RSI)
  • Estado de sobreventa/sobrecompra de los jueces de la AM de 50 períodos
  • RSI también ayuda a juzgar
  1. Mecanismo de apertura inversa
  • Proporcionar opción para que los usuarios abran el pedido inverso
  • Ajuste flexible de la lógica larga/corta según la elección de los usuarios

Análisis de ventajas

La mayor ventaja es operar 24x7 sin intervención manual. Además, la combinación de múltiples indicadores aumenta la tasa de ganancia, especialmente el rendimiento sobresaliente en el mercado alcista. Las principales ventajas incluyen:

  1. Comercio de cantidades totalmente automatizado las 24 horas del día, los 7 días de la semana sin intervención manual
  2. Señales de negociación exactas del MACD
  3. El RSI filtra algunas señales falsas
  4. La teoría de Fibonacci añade más referencia
  5. Juzgar el estado de sobreventa/supercompra
  6. Ajuste flexible de las estrategias mediante apertura inversa

Análisis de riesgos

También existen algunos riesgos, principalmente por la gran inversión de precios que es difícil para que el stop loss tenga efecto.

  1. Detener la pérdida demasiado apretado para protegerse de la marcha atrás enorme
  2. Riesgo sistemático derivado de un período de retención prolongado

En consecuencia, las soluciones son:

  1. Establecer la distancia de pérdida de parada más floja
  2. Optimizar el período de retención contra el riesgo de prolongación excesiva

Direcciones de optimización

Principales aspectos de la optimización:

  1. Optimizar los parámetros MACD para una mayor precisión
  2. Optimice el parámetro RSI para una mejor utilidad
  3. Prueba más períodos de la teoría de Fibonacci
  4. Añadir más indicadores de filtro para disminuir aún más las señales falsas
  5. Combinar indicadores de períodos más largos para la tendencia del mercado

Resumen de las actividades

La estrategia combina múltiples indicadores cuánticos para señales comerciales y realiza el comercio de criptomonedas automático completo. Mejora aún más la ganancia optimizando parámetros y agregando más indicadores asistentes. Reduce significativamente los costos de operación manual para los usuarios. Merece una investigación profunda y aplicación para los comerciantes cuánticos.


/*backtest
start: 2023-12-18 00:00:00
end: 2023-12-25 00:00:00
period: 10m
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/
// © onurenginogutcu

//@version=4
strategy("STRATEGY R18-F-BTC", overlay=true, margin_long=100, margin_short=100)

///////////default girişler 1 saatlik btc grafiği için geçerli olmak üzere - stop loss'lar %2.5 - long'da %7.6 , short'ta %8.1

sym = input(title="Symbol", type=input.symbol, defval="BINANCE:BTCUSDT") /////////btc'yi indikatör olarak alıyoruz

lsl = input(title="Long Stop Loss (%)",
     minval=0.0, step=0.1, defval=2.5) * 0.01
     
ssl = input(title="Short Stop Loss (%)",
     minval=0.0, step=0.1, defval=2.5) * 0.01
     
longtp = input(title="Long Take Profit (%)",
     minval=0.0, step=0.1, defval=7.6) * 0.01
     
shorttp = input(title="Short Take Profit (%)",
     minval=0.0, step=0.1, defval=7.5) * 0.01
     
capperc = input(title="Capital Percentage to Invest (%)",
     minval=0.0, maxval=100, step=0.1, defval=90) * 0.01
     
choice = input(title="Reverse ?", type=input.bool, defval=false)

symClose = security(sym, "", close)
symHigh = security(sym, "", high)
symLow = security(sym, "", low)

i = ema (symClose , 15) - ema (symClose , 30) ///////// ema close 15 ve 30 inanılmaz iyi sonuç verdi (macd standartı 12 26)
r = ema (i , 9)

sapust = highest (i , 100) * 0.729 //////////0.729 altın oran oldu 09.01.2022
sapalt = lowest (i , 100) * 0.729  //////////0.729 altın oran oldu 09.01.2022

///////////highx = highest (close , 365) * 0.72 fibo belki dahiledilebilir
///////////lowx = lowest (close , 365) * 1.272 fibo belki dahil edilebilir
simRSI = rsi (symClose , 50 ) /////// RSI DAHİL EDİLDİ "50 MUMLUK RSI EN İYİ SONUCU VERİYOR"


//////////////fibonacci seviyesi eklenmesi amacı ile koyuldu fakat en iyi sonuç %50 seviyesinin altı ve üstü (low ve high 38 barlık) en iyi sonuç verdi
fibvar = 38
fibtop = lowest (symLow , fibvar) + ((highest (symHigh , fibvar) - lowest (symLow , fibvar)) * 0.50)
fibbottom = lowest (symLow , fibvar) + ((highest (symHigh , fibvar) - lowest (symLow , fibvar)) * 0.50)

///////////////////////////////////////////////////////////// INDICATOR CONDITIONS

longCondition = crossover(i, r) and i < sapalt and symClose < sma (symClose , 50) and simRSI < sma (simRSI , 50) and symClose < fibbottom
shortCondition = crossunder(i, r) and i > sapust and symClose > sma (symClose , 50) and simRSI > sma (simRSI , 50)  and symClose > fibtop

////////////////////////////////////////////////////////////////

///////////////////////////////////////////STRATEGY ENTRIES AND STOP LOSSES /////stratejilerde kalan capital için strategy.equity kullan (bunun üzerinden işlem yap)


if (choice == false and longCondition)
    strategy.entry("Long", strategy.long , qty = capperc * strategy.equity / close ,   when = strategy.position_size == 0)
   

if (choice == false and shortCondition)
    strategy.entry("Short" , strategy.short , qty = capperc * strategy.equity / close ,  when = strategy.position_size == 0)

if (choice == true and longCondition)
    strategy.entry("Short" , strategy.short , qty = capperc * strategy.equity / close ,  when = strategy.position_size == 0)

if (choice == true and shortCondition)
    strategy.entry("Long", strategy.long , qty = capperc * strategy.equity / close ,   when = strategy.position_size == 0)
    

if (strategy.position_size > 0)
    strategy.exit("Exit Long", "Long", stop=strategy.position_avg_price*(1 - lsl) , limit=strategy.position_avg_price*(1 + longtp))

if (strategy.position_size < 0)
    strategy.exit("Exit Short", "Short", stop=strategy.position_avg_price*(1 + ssl) , limit=strategy.position_avg_price*(1 - shorttp))


////////////////////////vertical colouring signals
bgcolor(color=longCondition ? color.new (color.green , 70) : na)
bgcolor(color=shortCondition ? color.new (color.red , 70) : na)




Más.