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

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

Автор:Чао Чжан, Дата: 2024-07-29 14:12:08
Тэги:КамаТП

img

Обзор

Стратегия высокочастотного отклонения процента отслеживания импульса - это высокочастотный торговый подход, основанный на адаптивной скользящей средней Кауфмана (KAMA). Эта стратегия использует индикатор KAMA на 1-часовой временной шкале в качестве основной ориентировки при выполнении сделок в более короткие временные рамки, такие как 15 минут. Основная концепция заключается в быстром переключении между длинными и короткими позициями, когда цена пересекает линию KAMA, с целью получения 1% прибыли для обеспечения небольших, но частых прибылей.

Принципы стратегии

  1. Используйте линию KAMA в течение 1 часа в качестве основного индикатора тренда.
  2. Открыть длинную позицию, когда цена пересекает линию KAMA, и короткую позицию, когда она пересекает ниже.
  3. При проведении длинной позиции, если цена пересекается ниже линии KAMA, закрыть длинную и открыть короткую; и наоборот для коротких позиций.
  4. Установите целевую прибыль в 1%, после чего немедленно закрывайте позицию и переставляйте баланс счета.
  5. Используйте 90% баланса счета в качестве размера позиции для каждой сделки.
  6. Исполнять сделки в более короткие сроки (например, 15 минут), чтобы получить больше торговых возможностей.

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

Преимущества стратегии

  1. Характеристики высокочастотного трейдинга: стратегия может охватить краткосрочную волатильность рынка, увеличение частоты трейдинга и потенциальные возможности получения прибыли.

  2. Контроль риска: путем установления целевой прибыли в 1% стратегия может быстро зафиксировать небольшую прибыль, уменьшая риск на одну сделку.

  3. Высокая адаптивность: индикатор KAMA обладает адаптивными особенностями, позволяющими ему регулировать чувствительность в различных рыночных условиях, повышая адаптивность стратегии.

  4. Высокая эффективность капитала: стратегия использует 90% баланса счета в качестве размера позиции, полностью используя имеющиеся средства.

  5. Контроль сбора: Частые небольшие прибыли помогают контролировать максимальное снятие, что делает стратегию более стабильной.

  6. Потенциал использования кредитного плеча: из-за более низкого уровня привлечения средств стратегия может использовать более высокий уровень использования кредитного плеча для увеличения доходности.

  7. Полная автоматизация: логика стратегии ясна и легко внедряется для полностью автоматизированной торговли, уменьшая вмешательство человека.

Стратегические риски

  1. Превышение торговли: высокочастотное перевертывание может привести к чрезмерной торговле, увеличению затрат на транзакции и потерям от скольжения.

  2. Неблагоприятные условия на неуравновешенных рынках: на боковых, неуравновешенных рынках частые длинные и короткие подкачки могут привести к накоплению небольших потерь.

  3. Недостаточные тенденции: Цель прибыли в 1% может привести к раннему выходу на рынках с сильным трендом, упуская большие возможности получения прибыли.

  4. Риск ложного прорыва: частое пересечение цены вокруг линии KAMA может привести к нескольким ложным сделкам с прорывом.

  5. Риск управления деньгами: использование 90% баланса счета в качестве размера позиции может быстро разрушить капитал во время последовательных потерь.

  6. Ограниченное применение: стратегия может быть подходящей только для высоко волатильных рынков, которые демонстрируют низкую производительность в условиях низкой волатильности.

  7. Техническая зависимость: стратегия в значительной степени зависит от показателя KAMA; если показатель не работает, это может привести к значительным потерям.

Направления оптимизации стратегии

  1. Динамическая прибыль: рассмотреть вопрос об изменении фиксированной цели прибыли в 1% на динамическую прибыль, основанную на ATR или волатильности, чтобы адаптироваться к различным рыночным условиям.

  2. Фильтрация входа: ввести дополнительные условия фильтрации (например, RSI, объем) для уменьшения ложных прорывов.

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

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

  5. Анализ с использованием нескольких временных рамок: включить анализ с более длительных временных рамок для улучшения точности направления торговли.

  6. Механизм стоп-лосса: внедрить соответствующие механизмы стоп-лосса для предотвращения чрезмерных потерь на отдельных сделках.

  7. Оптимизация параметров: оптимизируйте параметры KAMA, чтобы найти наилучшую комбинацию быстрых и медленных периодов.

  8. Приспособляемость рынка: Разработка механизма признания состояния рынка для автоматической корректировки параметров стратегии или приостановки торговли в различных рыночных условиях.

Заключение

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

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


/*backtest
start: 2023-07-23 00:00:00
end: 2024-07-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// indicator('TeeLek Flip 1 Percent', shorttitle='TeeLek Flip 1 Percent', overlay=true)
strategy("TeeLek Flip 1 Percent", shorttitle="TeeLek Flip 1 Percent", overlay=true)

// ----------------------------------------
// Input
// ----------------------------------------
BALANCE_USDT = input.float(1000, title="Start Balance (USDT)", minval=100)
PERCENT_POSITION_SIZE = input.float(90, title="Position Size (%USDT)", minval=1, maxval=100)
PERCENT_TAKE_PROFIT = input.float(10, title="Take Profit (%)", minval=0.1, maxval=100)
// KAMA Setup
KAMA_PERIOD = int(10)
KMA_FAST_LEN = input.int(5, "KMA Fast Legnth", minval=1,group="KAMA Setup")
KMA_SLOW_LEN = input.int(50, "KMA Slow Legnth", minval=1,group="KAMA Setup")

// ----------------------------------------
// Function
// ----------------------------------------
pine_kama(source) =>
    price_change = math.abs(source - source[KAMA_PERIOD])
    sum_price_change = math.sum(math.abs(source - source[1]), KAMA_PERIOD)
    fastest = 2/(KMA_FAST_LEN + 1)
    slowest = 2/(KMA_SLOW_LEN + 1)
    ER = price_change / sum_price_change
    SC =  math.pow((ER * (fastest-slowest) + slowest), 2)
    alpha = SC
    sum = 0.0
    sum := na(sum[1]) ? source : sum[1] + SC * (source - nz(sum[1]))

// ----------------------------------------
// Variable
// ----------------------------------------
var CurrentBalance_USDT = float(0)
var Accom_USDT = float(0)
var PositionSize_USDT = float(0)
var PositionSize_BTC = float(0)
var PositionTarget_USDT = float(0)
var TargetPrice = float(0)

var Long_BTC = float(0)
var Long_AvgPrice = float(0)
var Short_BTC = float(0)
var Short_AvgPrice = float(0)

var Long_Profit = float(0)
var Short_Profit = float(0)
// เริ่มต้นจากจำนวน Balanace ที่กำหนดมาให้
if CurrentBalance_USDT==0
    CurrentBalance_USDT:=BALANCE_USDT

// ----------------------------------------
// Signal
// ----------------------------------------
// kama line
kama_1h = request.security(syminfo.tickerid, "60",pine_kama(close))

// ----------------------------------------
// Strategy Preparing
// ----------------------------------------
// คำนวณ Position Size เตรียมเอาไว้
PositionSize_USDT:=CurrentBalance_USDT*PERCENT_POSITION_SIZE/100
PositionSize_BTC:=PositionSize_USDT/close
// คำนวณหามูลค่าเป้าหมาย ถ้าถึงก็จะขายเลย
PositionTarget_USDT:=CurrentBalance_USDT+(CurrentBalance_USDT*PERCENT_TAKE_PROFIT/100)

// ถ้ายังไม่ได้เปิด Order // ให้รอ ราคาตัดเส้น KAMA 1H ก่อน
if Long_BTC==0 and Short_BTC==0
    // ตัดขึ้น ให้ซื้อขึ้น Long
    if close>kama_1h and close[1]<=kama_1h[1]
        strategy.entry("L", strategy.long)
        Long_BTC:=PositionSize_BTC
        Long_AvgPrice:=close
    // ตัดลง ให้ซื้อลง  Short
    else if close<kama_1h and close[1]>=kama_1h[1]
        strategy.entry("S", strategy.short)
        Short_BTC:=PositionSize_BTC
        Short_AvgPrice:=close

// ----------------------------------------
// Strategy Switch Side
// ----------------------------------------
// ถ้าเปิด Long อยู่
if Long_BTC>0 
    // ถ้าตัดลง ให้ปิด Long แล้วซื้อลง Short
    if close<kama_1h and close[1]>=kama_1h[1]
        strategy.close_all("X")
        strategy.entry("S", strategy.short)
        Accom_USDT:=Accom_USDT+(close*Long_BTC)-(Long_AvgPrice*Long_BTC)
        Long_AvgPrice:=0
        Long_BTC:=0
        Short_AvgPrice:=close
        Short_BTC:=PositionSize_BTC
// ถ้าเปิด Short อยู่
if Short_BTC>0
    // ตัดขึ้น ให้ปิด Short แล้วซื้อขึ้น Long
    if close>kama_1h and close[1]<=kama_1h[1]
        strategy.close_all("X")
        strategy.entry("L", strategy.long)
        Accom_USDT:=Accom_USDT+(Short_AvgPrice*Short_BTC)-(close*Short_BTC)
        Short_AvgPrice:=0
        Short_BTC:=0
        Long_AvgPrice:=close
        Long_BTC:=PositionSize_BTC

// ----------------------------------------
// Strategy Take Profit
// ----------------------------------------
// ถ้าเปิด Long อยู่
if Long_BTC>0
    // คำนวณหาราคา Target price
    TargetPrice:=(PositionTarget_USDT+(Long_AvgPrice*Long_BTC)-(CurrentBalance_USDT+Accom_USDT))/Long_BTC
    // ถ้าราคามากกว่าราคาเป้าหมายก็ปิดทำกำไรได้เลย
    if close>=TargetPrice
        strategy.close_all("Take Profit")
        // เก็บกำไรเป็นทุน ไปเริ่มรอบใหม่
        CurrentBalance_USDT:=CurrentBalance_USDT+(close*Long_BTC)-(Long_AvgPrice*Long_BTC)
        Long_BTC:=0
        Long_AvgPrice:=0
        Accom_USDT:=0

// ถ้าเปิด Short อยู่
if Short_BTC>0
    // คำนวณหาราคา Target price
    TargetPrice:=((CurrentBalance_USDT+Accom_USDT)+(Short_AvgPrice*Short_BTC)-PositionTarget_USDT)/Short_BTC
    // ถ้าราคามากกว่าราคาเป้าหมายก็ปิดทำกำไรได้เลย
    if close<=TargetPrice
        strategy.close_all("Take Profit")
        // เก็บกำไรเป็นทุน ไปเริ่มรอบใหม่
        CurrentBalance_USDT:=CurrentBalance_USDT+(Short_AvgPrice*Short_BTC)-(close*Short_BTC)
        Short_BTC:=0
        Short_AvgPrice:=0
        Accom_USDT:=0

// ----------------------------------------
// Draw
// ----------------------------------------
// KAMA
plot(kama_1h,"KAMA 1H", #f18a23 , linewidth = 2)

// ----------------------------------------
// Alert
// ----------------------------------------

// ----------------------------------------
// Info Table
// ----------------------------------------


Связанные

Больше