
Chiến lược biến động và biến động Flawless Victory DCA là một chiến lược giao dịch định lượng dựa trên chỉ số biến động RSI và chỉ số biến động Brinband, kết hợp với DCA (Dollar Cost Averaging, phương pháp trung bình chi phí đô la). Chiến lược này nhằm nắm bắt động lực và biến động của thị trường, đồng thời quản lý rủi ro thông qua mức dừng lỗ và dừng.
Chiến lược này sử dụng hai chỉ số kỹ thuật: RSI và Burin Band. RSI là một chỉ số dao động động động, được sử dụng để đo lường tốc độ và mức độ thay đổi của sự thay đổi giá, trong chiến lược sử dụng RSI có chiều dài 14. Burin Band là một chỉ số dao động bao gồm một đường trung bình di chuyển đơn giản (SMA) và hai đường cong chênh lệch tiêu chuẩn.
Lý luận chính của chiến lược này là:
Nhìn chung, chiến lược này kết hợp các chỉ số kỹ thuật như RSI và Bollinger Bands cùng với logic điều kiện của DCA, dựa trên phương pháp trung bình chi phí vào, ra và chi phí đô la tiềm năng. Mục tiêu là tận dụng động lực và biến động của thị trường, đồng thời quản lý rủi ro thông qua mức dừng và dừng.
Flawless Victory DCA động lực và dao động chiến lược là một chiến lược giao dịch định lượng kết hợp động lực chỉ số RSI, dao động chỉ số Brinband và DCA. Ưu điểm chính của chiến lược là tính đến động lực và dao động của thị trường, cung cấp các tùy chọn DCA và có các biện pháp quản lý rủi ro rõ ràng. Tuy nhiên, chiến lược cũng có một số rủi ro tiềm ẩn, chẳng hạn như sự nhạy cảm với các thiết lập số tham số, thích ứng với điều kiện thị trường thay đổi.
/*backtest
start: 2023-03-16 00:00:00
end: 2024-03-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//FOR BUY STRATGY : @Suameer
//Create by zipix
//@version=4
strategy(overlay=true, shorttitle=" DCA Strategy", default_qty_type = strategy.percent_of_equity, initial_capital = 100000, default_qty_value = 100, pyramiding = 0, title="Flawless Victory DCA Strategy", currency = 'USD')
////////// ** Inputs ** //////////
// Stoploss and Profits Inputs
stoploss_input = input(6.604, title='Stop Loss %', type=input.float, minval=0.01)/100
takeprofit_input = input(2.328, title='Take Profit %', type=input.float, minval=0.01)/100
stoploss_level = strategy.position_avg_price * (1 - stoploss_input)
takeprofit_level = strategy.position_avg_price * (1 + takeprofit_input)
// DCA Settings
dca_enabled = input(false, title="Enable DCA")
dca_interval = input(1, title="DCA Interval (hours)", type=input.integer)
////////// ** Indicators ** //////////
// RSI
len = 14
src = close
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)
// Bollinger Bands
length = 20
mult = 1.0
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
////////// ** Triggers and Guards ** //////////
// Strategy Parameters
RSILowerLevel = 42
RSIUpperLevel = 70
BBBuyTrigger = src < lower
BBSellTrigger = src > upper
rsiBuyGuard = rsi > RSILowerLevel
rsiSellGuard = rsi > RSIUpperLevel
//////////** Strategy Signals ** //////////
// Entry Condition
buy_condition = BBBuyTrigger and rsiBuyGuard
// DCA Logic
if dca_enabled and (hour % dca_interval == 0)
strategy.entry("DCA Long", strategy.long, when = buy_condition, alert_message = "DCA - Buy Signal!")
else
strategy.entry("Long", strategy.long, when = buy_condition, alert_message = "Buy Signal!")
// Exit Condition
sell_condition = BBSellTrigger and rsiSellGuard
strategy.exit("Stoploss/TP", "Long", stop = stoploss_level, limit = takeprofit_level, when = sell_condition, alert_message = "Sell Signal!")