Chiến lược này là một hệ thống giao dịch dựa trên sự bất thường của thị trường, chủ yếu sử dụng các đặc điểm hành vi thị trường giữa ngày thứ Năm tối đóng và ngày thứ Sáu đóng. Chiến lược sử dụng thời gian vào và ra cố định, xác nhận mô hình thị trường này thông qua kiểm tra ngược. Nó sử dụng 10% vốn cho mỗi giao dịch và xem xét các yếu tố trượt và hoa hồng để đảm bảo kết quả kiểm tra ngược thực tế.
Logic cốt lõi của chiến lược dựa trên một số yếu tố chính:
Chiến lược này là một hệ thống giao dịch cổ điển dựa trên sự bất thường của thị trường, tìm kiếm lợi nhuận tiềm năng thông qua quản lý thời gian nghiêm ngặt và quản lý tiền bảo thủ. Mặc dù logic chiến lược đơn giản, nhưng phải chú ý đến rủi ro từ môi trường thị trường thay đổi.
/*backtest start: 2024-11-11 00:00:00 end: 2024-12-10 08:00:00 period: 4h basePeriod: 4h 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/ // © piirsalu //@version=5 strategy("Gold Friday Anomaly Strategy", default_qty_type=strategy.percent_of_equity, slippage = 1, commission_value=0.0005, process_orders_on_close = true, initial_capital = 50000, default_qty_value=500, overlay = true) ///////////////////////////////////////////////////////////////////////////////////// // . USER INPUTS . // ///////////////////////////////////////////////////////////////////////////////////// // Define backtest start and end dates st_yr_inp = input(defval=2000, title='Backtest Start Year') st_mn_inp = input(defval=01, title='Backtest Start Month') st_dy_inp = input(defval=01, title='Backtest Start Day') en_yr_inp = input(defval=2025, title='Backtest End Year') en_mn_inp = input(defval=01, title='Backtest End Month') en_dy_inp = input(defval=01, title='Backtest End Day') // Set start and end timestamps for backtesting start = timestamp(st_yr_inp, st_mn_inp, st_dy_inp, 00, 00) end = timestamp(en_yr_inp, en_mn_inp, en_dy_inp, 00, 00) ///////////////////////////////////////////////////////////////////////////////////// // . STRATEGY LOGIC . // ///////////////////////////////////////////////////////////////////////////////////// // Check if the current day is Friday isFriday = (dayofweek == dayofweek.friday) // Initialize a candle counter var int barCounter = 0 // Increment the candle counter on each new bar barCounter := barCounter + 1 // Define trading session time ranges pre_mkt = time(timeframe.period, '0400-0800:23456') mkt_hrs = time(timeframe.period, '0800-1600:23456') eod = time(timeframe.period, '1200-1600:23456') ///////////////////////////////////////////////////////////////////////////////////// // . STRATEGY ENTRY & EXIT . // ///////////////////////////////////////////////////////////////////////////////////// // Enter a long position on the first candle of Friday within the backtest period if dayofweek == 4 and time >= start and time <= end strategy.entry("BuyOnFriday", strategy.long) // Close the position after holding it for 4 candles if (barCounter % 1 == 0) strategy.close("BuyOnFriday")