
Chiến lược này là một hệ thống giao dịch dựa trên các hiện tượng bất thường của thị trường, chủ yếu sử dụng các đặc điểm của hoạt động thị trường trong khoảng thời gian đóng cửa tối thứ Năm đến đóng cửa thứ Sáu để giao dịch. Chiến lược này sử dụng thời gian vào và ra cố định, xác minh tính hiệu quả của mô hình thị trường này bằng cách kiểm tra lại. Chiến lược sử dụng 10% vốn để giao dịch một lần và xem xét các yếu tố điểm trượt và hoa hồng để đảm bảo tính xác thực của kết quả kiểm tra lại.
Logic cốt lõi của chiến lược này dựa trên các yếu tố chính sau:
Chiến lược này là một hệ thống giao dịch cổ điển dựa trên các hiện tượng bất thường của thị trường, thu được 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ý quỹ thận trọng. Mặc dù logic của chiến lược đơn giản, nhưng vẫn cần chú ý đến rủi ro do sự thay đổi của môi trường thị trường gây ra, khuyến nghị sử dụng kiểm soát vị trí thận trọng hơn và cơ chế quản lý rủi ro tốt hơn khi giao dịch trực tiếp.
/*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")