В процессе загрузки ресурсов... загрузка...

Стратегия прорыва импульса

Автор:Чао Чжан, Дата: 2024-02-29 14:04:50
Тэги:

img

Обзор

Основная идея этой стратегии заключается в том, чтобы решить, когда покупать и продавать криптовалюту на основе индикаторов динамики цен.

Логика стратегии

Стратегия использует два показателя для определения сигналов входа и выхода. Первый - сама цена он проверяет самые высокие и самые низкие цены за последние 10 свечей. Второй - индикатор импульса, основанный на цене - значении %K.

В частности, когда цена падает ниже 98% от самой высокой цены за последние 10 свечей (покупать порог), стратегия запускает сигнал покупки. Это означает, что произошел падение. Точно так же, когда цена поднимается выше 102% от самой низкой цены за последние 10 свечей (продать порог), стратегия запускает сигнал продажи, что означает, что произошел подъем.

Таким образом, стратегия может зафиксировать переломные моменты по мере формирования новых тенденций в движении цен.

Анализ преимуществ

Наибольшее преимущество этой стратегии заключается в том, что она учитывает как уровень цен, так и факторы импульса.

  1. Фильтрует шум с помощью метрики импульса для определения реальных сигналов
  2. Отличные результаты обратных испытаний при относительно небольшом максимальном использовании
  3. Частоту можно управлять с помощью регулируемых параметров
  4. Риск можно эффективно управлять путем включения стоп-лосса

Анализ рисков

Некоторые риски, которые следует учитывать при этой стратегии:

  1. Рыночный крах приводит к внезапному краху, который нельзя остановить
  2. Влияние комиссионных за торговлю и скольжения
  3. Неправильная конфигурация параметров, приводящая к переоценке или упущенным возможностям

Уменьшение последствий:

  1. Использование многофакторных моделей для предотвращения сбоев одного показателя
  2. Включить стоп-лосс для ограничения максимальной потери
  3. Оптимизируйте параметры, чтобы сделать стратегию более надежной

Возможности для расширения

Дальнейшие оптимизации стратегии:

  1. Добавьте больше фильтров, таких как объем, полосы Боллинджера и т. д.
  2. Динамическая настройка параметров на основе машинного обучения
  3. Включить фундаментальный анализ для корректировки стратегии вокруг ключевых событий
  4. Оптимизировать использование капитала с помощью рычага для увеличения доходности

Резюме

В целом эта стратегия быстрого выхода хорошо подходит для захвата краткосрочных торговых возможностей в криптовалютах. Она эффективно использует характеристики быстрого изменения цен для получения прибыли, контролируя риск.


/*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")



Больше