Estratégia de negociação quantitativa baseada na comparação de preços de fechamento diário


Data de criação: 2023-11-21 14:34:11 última modificação: 2023-11-21 14:34:11
cópia: 0 Cliques: 782
1
focar em
1617
Seguidores

Estratégia de negociação quantitativa baseada na comparação de preços de fechamento diário

Visão geral

Esta estratégia é conhecida como estratégia de comparação de preços de fechamento de linha do dia. É uma estratégia quantitativa para tomar decisões de negociação com base no preço de fechamento de linha do dia.

Princípio da estratégia

A lógica central da estratégia é comparar o preço de fechamento da linha K atual com o preço de fechamento da linha K anterior.

  1. Calcule a diferença entre o preço de fechamento da linha do dia atual e o preço de fechamento da linha do dia anterior ((today - yesterday))
  2. Calcule a diferença em relação ao fechamento do dia anterior (diferença / fechamento de ontem)
  3. Se a proporção for maior do que o limiar positivo definido, um sinal de compra será gerado; se a proporção for menor do que o limiar negativo definido, um sinal de venda será gerado
  4. Dependendo do sinal de entrada, faça mais ou vazio o local do armazém

A estratégia não estabelece condições de stop loss e stop-loss, e depende de sinais de negociação que se formam em condições de depreciação para entrar em posições de paz.

Análise de vantagens

  • O pensamento é simples e fácil de entender, adequado para a aprendizagem inicial de transações quantitativas.
  • A negociação deve ser baseada apenas no preço de fechamento da linha do sol, evitando transações muito frequentes.
  • Frequência de negociação pode ser controlada por ajuste de depreciação

Análise de Riscos

  • Não há paradas de perda, não há controle de perda individual
  • Pode gerar sinais de negociação contínuos que levam a negociações excessivas
  • A retirada pode ser grande e não pode controlar muito bem os prejuízos totais

Direção de otimização

  • Aumentar a lógica de stop loss e controlar a perda individual
  • Aumentar o número de aberturas para evitar o excesso de transações
  • Parâmetros de otimização para encontrar a melhor frequência de negociação

Resumir

Esta estratégia é uma estratégia simples e adequada para o aprendizado inicial. Mas a estratégia tem um certo risco e precisa ser otimizada ainda mais para o mercado real.

Código-fonte da estratégia
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Daily Close Comparison Strategy (by ChartArt) correct results", shorttitle="CA_-_Daily_Close_Strat", overlay=false)

// ChartArt's Daily Close Comparison Strategy
//
// Version 1.0
// Idea by ChartArt on February 28, 2016.
//
// This strategy is equal to the very
// popular "ANN Strategy" coded by sirolf2009,
// but without the Artificial Neural Network (ANN).
//
// Main difference besides stripping out the ANN
// is that I use close prices instead of OHLC4 prices.
// And the default threshold is set to 0 instead of 0.0014
// with a step of 0.001 instead of 0.0001.
//
// This strategy goes long if the close of the current day
// is larger than the close price of the last day.
// If the inverse logic is true, the strategy
// goes short (last close larger current close).
//
// This simple strategy does not have any
// stop loss or take profit money management logic.
//
// List of my work: 
// https://www.tradingview.com/u/ChartArt/
// 
//  __             __  ___       __  ___ 
// /  ` |__|  /\  |__)  |   /\  |__)  |  
// \__, |  | /~~\ |  \  |  /~~\ |  \  |  
// 
// 

threshold = input(title="Price Difference Threshold correct results", type=float, defval=0, step=0.004)

getDiff() =>
    yesterday=request.security(syminfo.tickerid, 'D', close[1])
    today=close
    delta=today-yesterday
    percentage=delta/yesterday
    
closeDiff = getDiff()
 
buying = closeDiff > threshold ? true : closeDiff < -threshold ? false : buying[1]

hline(0, title="zero line")

bgcolor(buying ? green : red, transp=25)
plot(closeDiff, color=silver, style=area, transp=75)
plot(closeDiff, color=aqua, title="prediction")

longCondition = buying
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = buying != true
if (shortCondition)
    strategy.entry("Short", strategy.short)