Ý tưởng chính của chiến lược này là thực hiện một giao dịch mua bằng cách theo dõi sự sụt giảm giá. Khi giá giảm hơn 5% so với giai đoạn trước, một tín hiệu mua được kích hoạt và một số lượng nhất định của vị trí được mua ở mức giá đóng hiện tại. Khi giá cao hơn giá mua, vị trí được đóng để kiếm lợi nhuận. Chiến lược này tận dụng lợi thế của biến động thị trường và cố gắng nắm bắt cơ hội phục hồi giá ngắn hạn để kiếm lợi nhuận.
Chiến lược này sử dụng sự sụt giảm giá ngắn hạn vượt quá một kích thước cụ thể như một tín hiệu mua, nắm bắt cơ hội phục hồi của giá để kiếm lợi nhuận. Lý thuyết đơn giản và dễ hiểu. Những lợi thế của chiến lược nằm trong việc nắm bắt xu hướng và kiểm soát rủi ro, nhưng cũng cần lưu ý những rủi ro như giao dịch thường xuyên, rút sâu và biến động giá. Trong tương lai, chiến lược có thể được tối ưu hóa và cải thiện hơn nữa từ các khía cạnh như tối ưu hóa dừng lỗ, lọc tín hiệu, quản lý vị trí và hợp tác đa loại, để có được kết quả mạnh mẽ hơn.
/*backtest start: 2023-06-01 00:00:00 end: 2024-06-06 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/ // © Thgoodtrader //@version=5 strategy("TGT Falling Buy", overlay=true, margin_long=100, margin_short=100) var float buy_price = na var float open_price = na var float open_weekend = na var float close_weekend = na var bool trade=false var float balance = 1000 // Definir el precio de compra inicial y la cantidad inicial var float qty = na // Verificar si el día de la semana es sábado (6) o domingo (0) es_sabado = dayofweek == 1 es_domingo = dayofweek == 7 es_viernes = dayofweek == 6 // Calcular el valor del saldo inicial balance_initial = balance change_percent = ((close - close[1]) / close[1]) * 100 is_last_candle_negative = close < open is_change_above_threshold = change_percent < -5 // Cambiar el color de la última vela si cumple las condiciones barcolor(is_last_candle_negative and is_change_above_threshold ? color.yellow : na) bgcolor(is_last_candle_negative and is_change_above_threshold ? color.yellow : na, transp=80) // Guardar el precio de compra cuando se cumpla la condición del 5% if is_change_above_threshold // Calcular la cantidad basada en el precio de compra y el saldo qty := balance / close // Guardar el precio de compra buy_price := close open_price := open strategy.entry("Buy Trading",strategy.long,qty) alert("Comprar BTC", alert.freq_once_per_bar_close) trade :=true //if (((close - strategy.position_avg_price) / strategy.position_avg_price) * 100 ) > 2 if close > strategy.position_avg_price // Calcular el valor de ganancia o pérdida pnl = (close - strategy.position_avg_price) * qty // Actualizar el saldo balance := balance_initial + pnl strategy.close("Buy Trading") alertcondition(is_change_above_threshold, title = "Buy 5% Discount", message = "Buy Position") alertcondition(close > strategy.position_avg_price, title = "Close Trade", message = "Close Buy Position")