
Высокочастотная стратегия переворачивания процентов, которая отслеживает динамику, - это высокочастотная торговая стратегия, основанная на адаптированном движущемся среднем Кауфмана (KAMA). Стратегия использует индикатор KAMA в качестве основного эталона на 1-часовом временном фреймве и торгует на более коротком временном фреймве (например, 15 минут).
В основе стратегии лежит использование KAMA-линии для захвата краткосрочных тенденций и адаптации к рыночным колебаниям с помощью частых поворотов позиций. Цель прибыли в 1% обеспечивает быструю блокировку прибыли, сокращает время удержания позиции и потенциальный риск.
Высокая частота торговли: стратегия позволяет зафиксировать краткосрочные колебания рынка, повышая частоту торгов и потенциальные возможности для получения прибыли.
Управление рисками: С помощью целевой прибыли в размере 1%, стратегия позволяет быстро закрепить небольшую прибыль и снизить риск, связанный с одной сделкой.
Адаптируемость: индикатор KAMA обладает адаптивными свойствами, позволяющими корректировать чувствительность в различных рыночных условиях, повышая адаптивность стратегии.
Высокая эффективность: стратегия использует 90% баланса счета в качестве размера позиции, максимально используя доступные средства.
Контроль drawdown: Частые небольшие выигрыши помогают контролировать максимальный вывод, что делает стратегию более стабильной.
Потенциал для использования: из-за низкой доходности у стратегии есть потенциал для использования более высокого уровня.
Полная автоматизация: четкая логика стратегии, легкость в реализации полностью автоматизированных сделок, сокращение человеческого вмешательства.
Перепланировка: высокая частота переворачивания может привести к перепланировке, увеличению затрат на транзакции и потере скользящих точек.
Неблагоприятный эффект от колебания рынка: в случае колебания рынка в сторону, частое перевертывание может привести к накоплению небольших убытков.
Пропущенные тренды: Цель прибыли в 1% может привести к преждевременному погашению позиций на рынках с сильной тенденцией и к упущению возможности для большей прибыли.
Риск ложного прорыва: частое пересечение цены вблизи линии KAMA может спровоцировать множество ложных сделок.
Риск управления деньгами: использование 90% баланса счета в качестве позиции может быстро разрушить средства при последовательных убытках.
Ограничения применимости: Стратегия может применяться только на рынках с высокой волатильностью и неэффективна в низковолатильных рынках.
Техническая зависимость: стратегия сильно зависит от показателя KAMA, который может привести к серьезным убыткам, если он не сработает.
Динамическая остановка: рассмотреть возможность изменения фиксированной цели 1% доходности на динамическую остановку, основанную на ATR или волатильности, в соответствии с различными рыночными условиями.
Входные фильтры: ввод дополнительных фильтров (например, RSI, объем сделок) для уменьшения ложных прорывов.
Оценка силы тренда: оценить силу тренда перед открытием позиции, торговать только тогда, когда тенденция ясна, избегать частых торгов на волатильных рынках.
Оптимизация управления позициями: реализация более гибких стратегий управления позициями, таких как корректировка размеров позиций на основе прибыли или убытков счета или рыночных колебаний.
Анализ нескольких временных рамок: в сочетании с более длительными временными рамками, повышается точность направления торгов.
Стойкость к убыткам: внедрение надлежащих механизмов сдерживания убытков, предотвращающих чрезмерные потери в отдельных сделках.
Параметровая оптимизация: оптимизация параметров KAMA для поиска оптимальной комбинации быстрого и медленного линейного цикла.
Рыночная адаптивность: разработка механизмов для идентификации состояния рынка, автоматической корректировки параметров стратегии или приостановки торговли в различных рыночных условиях.
Высокочастотная стратегия отслеживания динамики процента переворота является инновационным высокочастотным методом торговли, основанным на индикаторе 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
// ----------------------------------------