A ideia principal por trás desta estratégia é decidir quando comprar e vender criptomoeda com base em indicadores de momento do preço.
A estratégia usa duas métricas para determinar os sinais de entrada e saída. A primeira é o preço em si
Especificamente, quando o preço cai abaixo de 98% do preço mais alto nos últimos 10 velas (limite de compra), a estratégia aciona um sinal de compra. Isso significa que uma quebra descendente ocorreu. Da mesma forma, quando o preço sobe acima de 102% do preço mais baixo nos últimos 10 velas (limite de venda), a estratégia aciona um sinal de venda, o que significa que ocorreu uma quebra ascendente.
Assim, a estratégia pode capturar pontos de reversão à medida que novas tendências se formam no movimento dos preços.
A maior vantagem desta estratégia é que considera tanto o nível de preço quanto os fatores de momento.
Alguns riscos a ter em conta com esta estratégia:
Atenuantes:
Outras optimizações da estratégia:
No geral, essa estratégia de ruptura de momento é bem adequada para capturar oportunidades de negociação de curto prazo em criptomoedas.
/*backtest start: 2023-02-22 00:00:00 end: 2024-02-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © nyxover //@version=5 strategy("Stratégie d'achat bas/vendre haut", shorttitle="Achat/Vente") // Paramètres d'entrée crypto = input("BTC", "Crypto-monnaie") capital = input(1.0, "Capital de départ") buy_threshold = input(0.02, "Seuil d'achat") sell_threshold = input(0.02, "Seuil de vente") fee_rate = input(0.01, "Taux de frais") // Balances var float initial_balance = na var float current_balance = na // Fonction pour calculer les frais calculate_fees(amount) => amount * fee_rate // Fonction pour acheter should_buy() => close < ta.highest(close, 10) * (1 - buy_threshold) // Fonction pour vendre should_sell() => close > ta.lowest(close, 10) * (1 + sell_threshold) // Logique de la stratégie if barstate.isfirst initial_balance := capital current_balance := capital if should_buy() amount_to_buy = current_balance / close fees = calculate_fees(amount_to_buy) current_balance := current_balance - amount_to_buy - fees strategy.entry("Achat", strategy.long) if should_sell() amount_to_sell = current_balance fees = calculate_fees(amount_to_sell) current_balance := current_balance - amount_to_sell - fees strategy.close("Achat") // Affichage des informations plot(initial_balance, color=color.green, title="Capital de départ") plot(current_balance, color=color.blue, title="Capital actuel")