
Esta estratégia é um sistema de negociação baseado em cruzamentos de médias móveis, combinando uma abordagem de gerenciamento de risco com um stop loss móvel dinâmico e um ponto de ganho binário. A estratégia julga o momento de entrada com base no cruzamento do preço com a média móvel de 200 períodos, enquanto configura um stop loss e um ganho flexíveis para controlar o risco e maximizar os lucros.
Sinal de entrada:
Gestão de Riscos:
Objetivos de lucro:
Gestão de posições:
Seguimento de tendências: Use as médias móveis para capturar as tendências do mercado, ajudando a lucrar com as grandes tendências.
Controle de risco: a combinação de stop-loss inicial e stop-loss móvel dinâmico limita o máximo de perdas e protege os lucros obtidos.
Maximizar o lucro: Ao definir dois preços-alvo, é possível continuar a seguir a tendência geral, garantindo ao mesmo tempo uma parte do lucro.
Automatização: a estratégia é totalmente automatizada, reduzindo a interferência emocional humana.
Flexibilidade: Os parâmetros como o ciclo da média móvel, o ponto de parada e o ganho podem ser ajustados de acordo com as condições do mercado.
Risco de mercado de choque: Em mercados de choque horizontal, pode ser frequentemente desencadeado um falso sinal de ruptura, resultando em perdas contínuas.
Risco de deslizamento: em um cenário rápido, o preço de transação real pode ser muito diferente do preço ideal.
Transações excessivas: sinais de cruzamento frequentes podem levar a transações excessivas, aumentando os custos de transação.
Dependência de um único indicador: confiar apenas na média móvel pode ignorar outras informações importantes do mercado.
Risco de posição fixa: o número fixo por transação pode não ser adequado para todos os cenários de mercado.
Combinação de vários indicadores: Considere a introdução de outros indicadores técnicos, como RSI, MACD, etc., em combinação com a média móvel, para melhorar a confiabilidade do sinal de entrada.
Gerenciamento de posições dinâmicas: Ajuste o número de transações de forma dinâmica de acordo com a volatilidade do mercado e o saldo da conta para melhor controlar o risco.
Filtragem de cenários de mercado: adicionar indicadores de intensidade de tendência ou indicadores de volatilidade, evitando a entrada em cenários de mercado não adequados para a negociação.
Optimização de parâmetros: use dados históricos para analisar diferentes combinações de parâmetros para encontrar o melhor ciclo de média móvel, ponto de parada e configuração de ganho.
Filtragem de tempo: Considere adicionar um filtro de tempo para evitar negociar em períodos de tempo com maior volatilidade ou menos liquidez.
Adicionar fatores fundamentais: o momento de ajustar a estratégia de entrada e saída, em combinação com a publicação de dados econômicos importantes ou outros eventos fundamentais.
A estratégia de cruzamento de linha de equilíbrio de preços de parâmetros móveis dinâmicos é um sistema de negociação quantitativa que combina análise técnica e gerenciamento de risco. Captura as tendências do mercado através de médias móveis e, ao mesmo tempo, usa paradas dinâmicas e objetivos de ganhos múltiplos para equilibrar riscos e ganhos. A principal vantagem da estratégia é o seu alto grau de automação, o controle de risco é flexível e tem potencial para obter ganhos visíveis em mercados de forte tendência.
/*backtest
start: 2023-07-29 00:00:00
end: 2024-07-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("SOL/USDT Trading Strategy", overlay=true)
// Параметры стратегии
input_quantity = input(2, title="Trade Size (SOL)")
stop_loss_points = input(500, title="Stop Loss Points")
take_profit_points_1 = input(3000, title="First Take Profit Points")
take_profit_points_2 = input(4000, title="Second Take Profit Points")
move_stop_to_entry_points = input(200, title="Move Stop to Entry Points")
ma_period = input(180, title="MA Period")
// Расчет скользящей средней
ma = ta.sma(close, ma_period)
// Условия входа в сделку
long_condition = ta.crossover(close, ma)
short_condition = ta.crossunder(close, ma)
// Текущая цена
var float entry_price = na
// Логика открытия и закрытия сделок
if (long_condition)
entry_price := close
strategy.entry("Long", strategy.long, qty=input_quantity)
if (short_condition)
entry_price := close
strategy.entry("Short", strategy.short, qty=input_quantity)
// Логика выхода из сделок
if (strategy.position_size > 0)
if (close >= entry_price + take_profit_points_1 * syminfo.mintick)
strategy.exit("Partial Take Profit", "Long", qty=0.75 * input_quantity, limit=close)
strategy.exit("Remaining Take Profit", "Long", qty=0.25 * input_quantity, limit=entry_price + take_profit_points_2 * syminfo.mintick, stop=entry_price)
if (close >= entry_price + move_stop_to_entry_points * syminfo.mintick)
strategy.exit("Stop Loss at Entry", "Long", qty=strategy.position_size, stop=entry_price)
else
strategy.exit("Take Profit/Stop Loss", "Long", stop=entry_price - stop_loss_points * syminfo.mintick, limit=entry_price + take_profit_points_1 * syminfo.mintick)
if (strategy.position_size < 0)
if (close <= entry_price - take_profit_points_1 * syminfo.mintick)
strategy.exit("Partial Take Profit", "Short", qty=0.75 * input_quantity, limit=close)
strategy.exit("Remaining Take Profit", "Short", qty=0.25 * input_quantity, limit=entry_price - take_profit_points_2 * syminfo.mintick, stop=entry_price)
if (close <= entry_price - move_stop_to_entry_points * syminfo.mintick)
strategy.exit("Stop Loss at Entry", "Short", qty=strategy.position_size, stop=entry_price)
else
strategy.exit("Take Profit/Stop Loss", "Short", stop=entry_price + stop_loss_points * syminfo.mintick, limit=entry_price - take_profit_points_1 * syminfo.mintick)
// Отображение скользящей средней
plot(ma, title="200 MA", color=color.blue)