Chiến lược giao dịch không gian là một chiến lược theo xu hướng dựa trên đường trung bình động. Nó sử dụng đường trung bình chuyển động theo hàm số (EMA) 30 ngày để xác định xu hướng giá và tham gia giao dịch khi giá vượt qua/dưới đường EMA. Nó thoát khỏi giao dịch khi giá giảm xuống dưới/trên đường EMA. Chiến lược này hoạt động tốt với khung thời gian từ 30 phút đến hàng ngày.
Logic cốt lõi dựa trên mối quan hệ giữa giá và đường EMA 30 ngày để tạo ra tín hiệu vào và ra.
Bằng cách nắm bắt sự đột phá xu hướng, nó nhằm mục đích tận dụng các động lực và các cơ hội theo xu hướng.
Những lợi thế chính của chiến lược này bao gồm:
Một số rủi ro chính là:
Một số cách chiến lược có thể được nâng cấp:
Chiến lược giao dịch không gian nhằm mục đích nắm bắt xu hướng bằng cách giao dịch giá đột phá của mức EMA. Đây là một chiến lược định lượng đơn giản và thực tế. Với giới hạn lỗ tùy chỉnh và tối ưu hóa hợp lý, nó có thể là một chiến lược ổn định cung cấp lợi nhuận bền vững trong suốt thời gian nắm giữ trung bình đến dài hạn.
/*backtest start: 2024-01-23 00:00:00 end: 2024-02-22 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Spaced Out Trading Strategy", overlay=true) // Define strategy parameters emaPeriod = input(30, title="EMA Period") // Longer EMA period for more spaced-out trades stopLossPct = input(2.0, title="Stop Loss Percentage") // Stop loss percentage takeProfitPct = input(3.0, title="Take Profit Percentage") // Take profit percentage // Calculate EMA emaValue = ta.ema(close, emaPeriod) // Define entry and exit conditions enterLong = ta.crossover(close, emaValue) exitLong = ta.crossunder(close, emaValue) // Place orders contractsQty = 5 // Number of contracts to buy var float lastTradePrice = na // Track the last trade price if enterLong and strategy.position_size == 0 strategy.entry("Buy Call", strategy.long, qty = contractsQty) lastTradePrice := close else if exitLong and strategy.position_size > 0 strategy.close("Buy Call") lastTradePrice := na // Calculate stop loss and take profit stopLossPrice = lastTradePrice * (1 - stopLossPct / 100) takeProfitPrice = lastTradePrice * (1 + takeProfitPct / 100) strategy.exit("Sell Call", "Buy Call", stop = stopLossPrice, limit = takeProfitPrice)