A estratégia é simples, intuitiva, fácil de implementar e adequada para os comerciantes de curto prazo, analisando a diferença de preços de fechamento de dois dias para determinar a direção do movimento futuro dos preços.
A lógica central da estratégia é comparar o preço de fechamento de hoje com o preço de fechamento de ontem.
A chave aqui é definir um limiar razoável. Se o limiar for muito grande, você perderá pequenas flutuações de preços; Se o limiar for muito pequeno, você terá muitas transações irracionais devido à flutuação normal. A estratégia usa um design de limiar ajustável, com um valor padrão de 0,004, um passo de 0,001, que pode ser testado com base nos dados históricos para selecionar o limiar adequado.
Em geral, a estratégia capta a variação de preços entre dois dias de negociação consecutivos, filtrando os movimentos normais através de um filtro de perda de valor para determinar a direção da possível tendência de preços no futuro, para que possa ser feita uma negociação de curto prazo. A estratégia é simples, intuitiva e fácil de entender e implementar.
Para lidar com esses riscos, considere:
A estratégia pode ser pensada para ser otimizada em várias direções:
Múltiplos períodos de tempo de regressão- Usar diferentes períodos de tempo (linha do dia, 4 horas, 1 hora, etc.) para avaliar os parâmetros da estratégia e selecionar os melhores períodos de tempo e parâmetros.
Indicador de volatilidade- A adição de indicadores que levam em consideração a volatilidade dos preços, como o ATR, permite uma melhor construção de um limiar dinâmico.
Adição de lógica de stop loss- Estabelecer um ponto de parada razoável para controlar a perda única.
Optimizar a gestão de posições- Otimizar o tamanho das posições e as regras de acumulação de depósitos, garantindo a suspensão de perdas e, ao mesmo tempo, aumentando o lucro.
Considere os custos da transação- Incluir na retrospectiva a consideração de custos de transação, como taxas de transação, pontos de deslizamento, etc., para tornar a retrospectiva mais próxima da realidade.
Introdução ao aprendizado de máquina- Aplicar algoritmos de aprendizagem de máquina para extrair mais características e criar sinais de negociação mais fortes.
Esta estratégia baseia-se na diferença de preços de fechamento para determinar a tendência futura dos preços, usando uma estratégia de negociação de linha curta de design de pensamento simples e intuitivo. A estratégia é fácil de implementar e é adequada para operações de linha curta, mas pode haver um certo risco de perda.
/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Daily Close Comparison Strategy (by ChartArt) repainting 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 repainting results", type=float, defval=0.004, step=0.001)
getDiff() =>
yesterday=security(syminfo.tickerid, 'D', close[1])
today=security(syminfo.tickerid, 'D', 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)