
Visão geral
A estratégia utiliza principalmente as médias móveis e os Brines para capturar tendências e oscilações do mercado. A estratégia usa três médias móveis diferentes: a média móvel simples (SMA), a média móvel ponderada (WMA) e a média móvel indexada (EMA). A estratégia usa o Brines para estabelecer um canal de preços, com os trilhos ascendentes e descendentes respectivamente como sinais de paz para a posição aberta.
Princípio da estratégia
- Calcula as médias móveis de três períodos diferentes: SMA lenta, EMA rápida e WMA rápida, que refletem as tendências de longo, curto e médio prazo do mercado, respectivamente.
- De acordo com o padrão de diferença de preço, dois grupos de bandas de Brin são calculados: banda de Brin de abertura (mais perto da distância entre os trilhos) e banda de Brin de parada (mais larga distância entre os trilhos). A banda de Brin de abertura é usada para abrir uma posição e a banda de Brin de parada é usada para parar a perda de posição.
- Quando o EMA rápido abre a borda do binário, abre a posição de cabeça vazia; Quando o EMA rápido abre a borda do binário, abre a posição de cabeça múltipla. Isso significa que o preço se desvia mais da média e a tendência pode ocorrer.
- Uma vez aberta a posição, se o preço subir ainda mais para cima através da barreira de prejuízos, todos os postos de mais de cabeça são liquidados; Se o preço baixar ainda mais para baixo através da barreira de prejuízos, todos os postos de cabeça vazios são liquidados. Isso é para controlar os prejuízos, e se a tendência se inverter, é o fim da perda.
- O processo acima é contínuo e circular, permitindo que a estratégia ajuste sua posição de forma flexível de acordo com as tendências do mercado e pare os prejuízos em tempo hábil para obter ganhos sólidos.
Vantagens estratégicas
- A média móvel de três velocidades diferentes foi considerada para capturar de forma abrangente as tendências de mercado em todos os níveis.
- A introdução da faixa de Brin como condição para a abertura de posições, pode ser ajustada de acordo com a dinâmica da volatilidade do mercado, respondendo de forma flexível à situação.
- Configure um limite de perda, controle de retração e feche posições em situações de forte volatilidade no mercado para evitar a expansão de perdas.
- A lógica é clara, as regras são simples, fáceis de implementar e de otimizar.
- A aplicação é ampla e pode ser válida para vários mercados e períodos de tempo.
Risco estratégico
- Em mercados turbulentos, a abertura frequente de posições baixas pode levar a custos de transação elevados, que corroem os lucros.
- No início de uma reviravolta de tendência, a estratégia pode continuar a operar na direção da tendência original, causando alguns prejuízos.
- Para situações extremas, como a subida rápida dos preços, o risco de deterioração da faixa de Bolin pode não ser muito bem controlado.
- A escolha incorreta de parâmetros (por exemplo, o período de média móvel, a largura de banda de Bryn) pode invalidar a estratégia.
- Se os mercados continuarem a flutuar, as estratégias podem não conseguir capturar oportunidades de tendências visíveis por um longo período.
Direção de otimização da estratégia
- Aumentar adequadamente os parâmetros de média móvel e de largura de banda de Brin para reduzir a frequência e os custos de negociação em mercados turbulentos.
- A introdução de mais indicadores técnicos ou indicadores de sentimento de mercado como filtros para aumentar a precisão dos sinais de abertura de posição e evitar a perda de negociação que pode ocorrer no início da tendência.
- Estabelecer regras especiais para situações extremas, como a suspensão da abertura de novas posições durante o salto, para controlar o risco.
- Otimizar os parâmetros, encontrar o conjunto de parâmetros mais adequado para o mercado atual e melhorar a estabilidade da estratégia.
- Aumentar as regras de gerenciamento de posições e de gerenciamento de fundos, como ajustar as posições de acordo com a intensidade da tendência ou a lucratividade, definir uma linha de parada geral, etc., para controlar ainda mais o risco estratégico.
Resumir
O robô do projeto da escola Marina Parfenova é uma estratégia de negociação quantitativa baseada em médias móveis e bandas de Brin. Ela tenta lucrar capturando tendências de mercado e controlando o recuo através de linhas de parada de Brin. A lógica da estratégia é simples, clara e ampla, e os parâmetros podem ser ajustados com flexibilidade de acordo com as características do mercado.
Código-fonte da estratégia
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy ("Marina Parfenova School Project Bot", overlay = true)
sma(price, n) =>
result = 0.0
for i = 0 to n - 1
result := result + price [i] / n
result
wma(price, n) =>
result = 0.0
sum_weight = 0.0
weight = 0.0
for i = 0 to n - 1
weight := n - 1
result := result + price [i]*weight
sum_weight := sum_weight + weight
result/sum_weight
ema(price, n) =>
result = 0.0
alpha = 2/(n + 1)
prevResult = price
if (na(result[1]) == false)
prevResult := result[1]
result := alpha * price + (1 - alpha) * prevResult
/// Настройки
n_slow = input.int(50, "Период медленной скользящей средней", step=5)
n_fast = input.int(4, "Период быстрой скользящей средней")
n_deviation = input.int(30, "Период среднеквадратического отклонения", step=5)
k_deviation_open = input.float(1.2, "Коэффициент ширины коридора покупки", step=0.1)
k_deviation_close = input.float(1.6, "Коэффициент ширины коридора продажи", step=0.1)
// ----- Линии индикаторов -----
// Медленная скользящая
sma = sma(close, n_slow)
plot(sma, color=#d3d3d3)
// Линии Боллинджера, обозначающие коридор цены
bollinger_open = k_deviation_open * ta.stdev(close, n_deviation)
open_short_line = sma + bollinger_open
plot(open_short_line, color=#ec8383)
open_long_line = sma - bollinger_open
plot(open_long_line, color=#6dd86d)
bollinger_close = k_deviation_close * ta.stdev(close, n_deviation)
close_short_line = sma + bollinger_close
plot(close_short_line, color=#e3e3e3)
close_long_line = sma - bollinger_close
plot(close_long_line, color=#e3e3e3)
// Быстрая скользящая
ema = ema(close, n_fast)
plot(ema, color = color.aqua, linewidth = 2)
// ----- Сигналы для запуска стратегии -----
// если ema пересекает линию open_short сверху вниз - сигнал на создание ордера в short
if(ema[1] >= open_short_line[1] and ema < open_short_line)
strategy.entry("short", strategy.short)
// если ema пересекает линию open_long снизу вверх - сигнал на создание ордера в long
if(ema[1] <= open_long_line[1] and ema > open_long_line)
strategy.entry("long", strategy.long)
// если свеча пересекает верхнюю линию коридора продажи - закрываем все long-ордера
if (high >= close_short_line)
strategy.close("long")
// если свеча пересекает нижнюю линию коридора продажи - закрываем все short-ордера
if (low <= close_long_line)
strategy.close("short")