
Стратегия основана на идее 9-дневного прорыва Ларри Уильямса, которая определяет тенденцию, наблюдая за направлением 9-дневной движущейся средней, вступая в точку прорыва и следуя тренду.
В частности:
Это полная логика покупки и продажи.
Это более простая стратегия отслеживания трендов, которая имеет следующие преимущества:
Однако есть некоторые риски и недостатки в этой стратегии, которые могут быть улучшены:
В целом, эта стратегия может быть улучшена в таких аспектах, как оптимизация динамических параметров, многофакторное суждение, управление торговыми издержками, контроль риска и прибыли, что делает стратегию более устойчивой и адаптированной к различным состояниям рынка.
Стратегия прорыва 9-го дня Уильямса - это более классическая стратегия краткосрочных тенденций, основная идея проста и ясна, чтобы определить направление тренда по EMA, войти в точку прорыва, следовать за трендом и своевременно остановить убыток. Стратегия проста в понимании и реализации, высокая эффективность использования средств, но также имеет некоторые недостатки. Мы можем оптимизировать стратегию с помощью нескольких ракурсов, чтобы сделать параметры стратегии более динамичными и гибкими, правила суждения более строгими и всеобъемлющими, а контроль риска и прибыли более совершенным, чтобы адаптироваться к более широкой рыночной ситуации, повысить стабильность стратегии и ее прибыльность.
/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("larry willians teste2", overlay=true)
//Window of time
start = timestamp(2019, 00, 00, 00, 00) // backtest start window
finish = timestamp(2019, 12, 31, 23, 59) // backtest finish window
window() => true // create function "within window of time"
ema9=ema(close,9) // Ema de 9 periodos
//Condições de compra
c1= (open< ema9 and close > ema9) //abrir abaixo da ema9 e fechar acima da ema9
if(window())
if(c1)
strategy.entry("Compra", true, stop = high) // Coloca ordem stopgain no topo anterior
else
strategy.cancel("Compra") // Cancela a ordem se o proximo candle não "pegar"
//codições de venda
v1= (open> ema9 and close < ema9) // abrir acima da ema9 e fechar abaixo ema9
if(window())
if (v1)
strategy.exit("Venda", from_entry = "Compra", stop = low) // Saida da entrada com stop no fundo anterior
else
strategy.cancel("Venda") //Cancela a ordem se o proximo candle não "pegar"