Esta estratégia entra em negociações baseadas em linhas HMA e cruzes diárias de velas e gerencia posições usando a lógica stop loss e take profit.
Os principais sinais e regras:
Linha HMA: Calcula a média móvel de Hull para determinar a tendência de médio e longo prazo.
Preço de fechamento diário: julga a ação do preço a curto prazo.
Sinal de entrada: HMA cruzando acima do fechamento diário anterior, com preço superior ao preço do dia anterior para longo.
O valor da posição em risco deve ser calculado em função do valor da posição em risco.
Parâmetros HMA ajustáveis para adaptabilidade.
Considera indicadores de vários prazos para sinais de melhor qualidade.
Stop loss/take profit facilita a gestão do risco.
Regras claras de entrada e gestão de posições.
Os parâmetros de backtest podem ser otimizados para diferentes mercados.
O atraso da HMA pode perder o melhor momento de entrada.
A taxa fixa de stop loss/take profit pode ser demasiado agressiva ou conservadora.
Falta de filtro de força da tendência, arrisca negociações contra-tendência.
Regras simples propensas a sinais falsos.
Melhorias:
Optimize os parâmetros HMA para o atraso.
Usar stop loss traseiro em vez de fixo.
Adicionar indicadores de volume ou de momento para avaliar a força da tendência.
Incorporar outros indicadores como o MACD para confirmação do sinal.
Formas potenciais de otimizar a estratégia:
Optimize os parâmetros HMA para combinação ideal.
Adicionar um filtro de força de tendência para evitar contra-tendências.
Utilize paradas dinâmicas em vez de níveis fixos.
Incorporar aprendizagem de máquina para otimização automática de parâmetros.
Adicionar negociação simulada para testar o desempenho do mundo real.
A lógica da estratégia é clara, mas tem espaço para melhorias. Adicionando filtros de tendência, paradas dinâmicas podem melhorar a estabilidade.
/*backtest start: 2023-08-22 00:00:00 end: 2023-09-21 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // created by SeaSide420 Enters on crossovers, exits Basket when profit $ = TP // strategy(title="HMA & D1 crossover", overlay=true, currency="BTC", initial_capital=1, default_qty_type=strategy.percent_of_equity, default_qty_value=1, commission_type=strategy.commission.percent,commission_value=0.25,slippage=1) SL=input(defval=-0.05,title="StopLoss $",type=input.float,step=0.01, maxval=-0.01) TP=input(defval=0.05,title="TargetPoint $",type=input.float,step=0.01, minval=0.01) price=input(title="Source",type=input.source,defval=open) Period=input(14, minval=1) hma = wma(2*wma(price, Period/2)-wma(price, Period), round(sqrt(Period))) s1=security(syminfo.tickerid, timeframe.period, price, barmerge.gaps_off, barmerge.lookahead_off) s2=security(syminfo.tickerid, "D", price, barmerge.gaps_off, barmerge.lookahead_off) cp=s2<price?color.lime:color.red cp1=plot((s2),color=color.black,title="DailyCandle1",linewidth=2,transp=0) cp2=plot((s2[1]),color=color.black,title="DailyCandle2",linewidth=2,transp=0) cp3=plot(hma,title="HMA",color=color.black) fill(cp1,cp2,color=cp,transp=1) fill(cp1,cp3,color=cp,transp=75) closeall=strategy.openprofit<SL or strategy.openprofit>TP if closeall strategy.close_all(comment = "Close All") if (hma>hma[1] and s1>s2 and s2[1]>s2[2] and s1>s2[1]) strategy.order("Buy", strategy.long) if (hma<hma[1] and s1<s2 and s2[1]<s2[2] and s1<s2[1]) strategy.order("Sell", strategy.short)