Chiến lược này được gọi là chiến lược giao dịch đơn giản dựa trên may mắn ngẫu nhiên. Chiến lược này sử dụng phương pháp ngẫu nhiên để tạo ra tín hiệu mua hoặc bán vào ngày đầu tiên của mỗi tuần, đánh giá hiệu quả của giao dịch ngẫu nhiên thông qua nhiều thử nghiệm lặp lại.
Theo đó, chiến lược này có một logic giao dịch rất đơn giản và thẳng thắn:
Mỗi tuần một đồng xu được ném vào đầu hoặc đuôi để tạo ra kết quả ngẫu nhiên.
Nếu là đầu, hãy làm nhiều vào ngày đó; nếu là đuôi, hãy làm trống vào ngày đó.
Khi thực hiện quá nhiều, thiết lập dừng lỗ là 1 lần ATR và dừng là 1 lần ATR; làm cho đồng nghĩa, đạt tỷ lệ rủi ro / lợi nhuận 1: 1.
Các nhà đầu tư đang cố gắng để giảm bớt giá trị của các cổ phiếu.
Lợi thế của chiến lược này là có thể lấy dữ liệu từ nhiều năm để đánh giá tỷ lệ thắng trung bình của các giao dịch ngẫu nhiên. Các quy tắc giao dịch rất đơn giản và có thể được sử dụng như một chuẩn mực để so sánh chiến lược.
Tuy nhiên, giao dịch ngẫu nhiên không thể tận dụng các quy tắc thị trường và khó có thể thu được lợi nhuận tích cực liên tục. Đặt dừng dừng lỗ cũng dễ gây ra tổn thất. Các nhà giao dịch chỉ có thể sử dụng nó như là một chiến lược thử nghiệm và không thể sử dụng cho thị trường thực.
Nhìn chung, dữ liệu phản hồi có thể cho thấy hiệu quả của giao dịch ngẫu nhiên, nhưng không đại diện cho các chiến lược thực tế có thể sử dụng. Các nhà giao dịch cuối cùng vẫn cần sự phán đoán và kỹ năng giao dịch hệ thống.
/*backtest
start: 2022-09-12 00:00:00
end: 2023-01-12 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("CoinFlip", overlay = true)
int result = int(math.random()+0.5)
atr_period = input(defval = 20, title = "ATR Period")
year_to_test = input(defval = 2022, title = "Year to Test")
day_of_week = input(defval = 1, title = "Day of Week")
atr = ta.atr(atr_period)
shouldSell = result == 0 and dayofweek == day_of_week
shouldBuy = result == 1 and dayofweek == day_of_week
plotshape(result == 0 and dayofmonth == day_of_week, title="sell", location=location.abovebar, color=color.red, transp=0, style=shape.arrowdown)
plotshape(result == 1 and dayofmonth == day_of_week, title="buy", location=location.belowbar, color=color.lime, transp=0, style=shape.arrowup)
strategy.entry("short entry", strategy.short, 1000 / (1*atr), when=shouldSell and year == year_to_test)
strategy.entry("long entry", strategy.long, 1000 / (1*atr), when=shouldBuy and year == year_to_test)
strategy.exit("exit", "long entry", limit = close + 1*atr, stop = close - 1*atr, when = shouldBuy)
strategy.exit("exit", "short entry", limit = close - 1*atr, stop = close + 1*atr, when = shouldSell)