Esta estratégia utiliza o William Cross Indicator e filtra em conjunto com a média móvel, permitindo uma estratégia de negociação de linha curta mais flexível. Esta estratégia pode capturar situações de sobrecompra e sobrevenda mais claras, enquanto a filtragem da média móvel pode evitar os efeitos das turbulências do mercado, o que resulta em maior estabilidade.
Calcule o indicador William ((%R) e a média móvel simples de 200 ciclos.
Faça mais quando o índice William ultrapassar a linha de 50 para cima e atingir o seu limiar definido e o preço de fechamento estiver acima da média móvel.
Quando o índice William cai abaixo da linha 50 e atinge o seu limiar definido, e o preço de fechamento está abaixo da média móvel, faça um corte.
Depois de fazer mais, se o preço de fechamento atingir o ponto de parada (preço de entrada mais o ponto de parada) ou o ponto de parada (preço de entrada menos o ponto de parada) então a posição é fechada.
Após a liberação, se o preço de fechamento atingir o ponto de parada (preço de entrada menos o ponto de parada) ou o ponto de parada (preço de entrada mais o ponto de parada) em uma posição livre.
A estratégia aproveita as características de overbought e oversold do Williamson, combinadas com o discernimento de tendências das médias móveis, para tornar os sinais de negociação mais claros e confiáveis. A estratégia de stop loss também é mais clara e concisa, sendo um sistema de estratégia de linha curta mais completo.
O indicador William é mais eficiente em identificar sobrecompra e sobrevenda, e os sinais são mais claros.
O filtro de média móvel aumenta o julgamento de tendências e evita os efeitos da oscilação.
Os parâmetros do indicador e o filtro são personalizáveis e podem ser ajustados com flexibilidade.
A maioria dos lucros pode ser bloqueada com o uso de um stop loss de tendência.
As regras de sinais estratégicos são simples, claras e fáceis de entender, e são adequadas para negociação em linhas curtas.
Aplicável a várias variedades, flexível e universal.
O índice William está atrasado e pode ter perdido algumas oportunidades.
A média móvel também é um filtro de atraso.
O rigoroso julgamento de supercompra e supervenda pode ter perdido algumas oportunidades de tendência.
A paralisação é pequena e pode ser interrompida por uma onda de preços.
A perda de capital é muito grande e pode limitar os lucros.
Os parâmetros precisam ser ajustados para adaptar-se a diferentes circunstâncias de mercado.
Optimizar os parâmetros dos indicadores e aumentar a taxa de vitória da estratégia.
Adicione outros indicadores para filtragem, como MACD, KDJ, etc.
Experimente diferentes tipos de médias móveis, como médias móveis indexadas.
Aumentar o discernimento de tendências e negociar apenas na direção das tendências.
Optimizar estratégias de stop-loss, como stop-loss dinâmico, stop-loss em escala, etc.
Tente adicionar a administração de posições, como posições fixas, Martingale, etc.
A partir daí, a aprendizagem de máquina é usada para encontrar as melhores combinações de parâmetros.
Esta estratégia integra o julgamento de overbought e oversold do Williamson e o filtro de tendências da média móvel, formando uma estratégia de linha curta simples e prática. Ela possui sinais de negociação claros e regras de stop loss.
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Williams %R Cross Strategy with MA Filter", overlay=true)
// User Inputs
wrLength = input(14, title="Williams %R Length")
crossPips = input(10, title="Cross Threshold (Pips)")
takeProfitPips = input(30, title="Take Profit (Pips)")
stopLossPips = input(20, title="Stop Loss (Pips)")
// Calculate Williams %R
wrHigh = ta.highest(high, wrLength)
wrLow = ta.lowest(low, wrLength)
wr = (wrHigh - close) / (wrHigh - wrLow) * -100
// Calculate 200-period Simple Moving Average
ma200 = ta.sma(close, 200)
// Entry Conditions
enterLong = ta.crossover(wr, -50 - crossPips) and close > ma200
enterShort = ta.crossunder(wr, -50 + crossPips) and close < ma200
// Exit Conditions
exitLong = close >= (strategy.position_avg_price + (takeProfitPips / syminfo.mintick)) or close <= (strategy.position_avg_price - (stopLossPips / syminfo.mintick))
exitShort = close <= (strategy.position_avg_price - (takeProfitPips / syminfo.mintick)) or close >= (strategy.position_avg_price + (stopLossPips / syminfo.mintick))
// Order Management
if enterLong
strategy.entry("Long", strategy.long)
if enterShort
strategy.entry("Short", strategy.short)
if exitLong
strategy.close("Long")
if exitShort
strategy.close("Short")