Chiến lược này là một chiến lược theo xu hướng điển hình. Nó sử dụng nhiều bộ trung bình động với các khoảng thời gian khác nhau để xác định xu hướng thị trường. Nó vào thị trường khi xu hướng được thiết lập và thoát ra khi xu hướng ngắn hạn đảo ngược.
Chiến lược sử dụng 4 nhóm đường trung bình động: đường 9 ngày, 21 ngày, 50 ngày và 200 ngày.
Khi đường trung bình di chuyển ngắn hạn vượt qua đường trung bình dài hạn lên, nó được xác định rằng thị trường đi vào xu hướng tăng.
Chiến lược sử dụng MA 9 ngày như một tham chiếu để quan sát sự liên kết của các MA khác, do đó đánh giá hướng xu hướng tổng thể.
Điều kiện nhập cảnh dài: Khép > MA 9 ngày và MA 9 ngày > MA 21 ngày và MA 21 ngày > MA 50 ngày và MA 50 ngày > MA 200 ngày.
Điều kiện nhập cảnh ngắn hạn: Gần < 9 ngày MA và 9 ngày MA < 21 ngày MA và 21 ngày MA < 50 ngày MA và 50 ngày MA < 200 ngày MA.
Ở đây, mối quan hệ giữa giá đóng và MA 9 ngày xác định xu hướng ngắn hạn nhất, trong khi đó giữa MA 9 ngày và 21 ngày đánh giá xu hướng ngắn hạn, xu hướng trung hạn 21 ngày và 50 ngày, xu hướng dài hạn 50 ngày và 200 ngày.
Điều kiện thoát: giá đóng vượt dưới MA 21 ngày, làm phẳng tất cả các vị trí dài; vượt trên MA 21 ngày, làm phẳng tất cả các vị trí ngắn.
Việc áp dụng nhiều MA để xác định xu hướng có thể lọc tiếng ồn của thị trường khỏi các động thái không chính thống và nắm bắt xu hướng trung bình đến dài hạn.
Các điều kiện nhập cảnh nghiêm ngặt đòi hỏi các phán quyết hợp lệ trong các khung thời gian khác nhau, tránh bị mắc kẹt bởi các điều chỉnh ngắn hạn.
Việc dừng lỗ kịp thời giúp kiểm soát rủi ro hiệu quả.
Trong các thị trường dài hạn, tín hiệu sai quá mức có thể xảy ra và làm tăng rủi ro giao dịch. Điều này có thể được tránh bằng cách tối ưu hóa các tham số và điều chỉnh thời gian MA để lọc một số tiếng ồn.
Trong thời gian xu hướng mạnh mẽ, MA xuyên thường xuyên xảy ra. Các yếu tố khác sau đó là cần thiết để xác định xu hướng thực sự, ví dụ: kết hợp các chỉ số như RSI và MACD để xác nhận, trong trường hợp các động thái mạnh bị bỏ lỡ.
Tối ưu hóa tham số. Kiểm tra các kết hợp tham số khác nhau để tìm ra tối ưu. chẳng hạn như điều chỉnh thời gian MA, thêm hoặc sửa đổi các tiêu chí dừng lỗ v.v.
Cải thiện bộ lọc chất lượng. Ví dụ, kiểm tra xem khối lượng có tăng khi vào để tránh động lượng không đủ, hoặc kiểm tra biến động để tránh dao động.
Tham gia xác nhận từ các chỉ số kỹ thuật hơn để tránh các tín hiệu sai giữa các biến động thị trường khốc liệt.
Nói chung, đây là một chiến lược theo xu hướng điển hình và thực tế. Nó áp dụng nhiều MAs để xác định xu hướng, có các quy tắc nhập cảnh nghiêm ngặt để khóa các xu hướng trung hạn đến dài hạn. Cùng với việc dừng lỗ kịp thời, nó giúp kiểm soát rủi ro. Có thể đạt được những cải tiến hơn nữa về sự ổn định và lợi nhuận thông qua các cách như tối ưu hóa tham số và thêm các chỉ số xác nhận. Nó phù hợp với các nhà đầu tư thích theo xu hướng cho giao dịch dài hạn.
/*backtest start: 2023-01-29 00:00:00 end: 2024-02-04 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © shayak1 //@version=5 strategy('Super SR', overlay=true) r = input.int(14,"rsi-length",1,100) rsi = ta.rsi(close,r) len1 = 9 len2 = 21 len3 = 50 len4 = 200 ema1 = ta.ema(close, len1) ema2 = ta.ema(close, len2) ema3 = ta.ema(close, len3) ema4 = ta.ema(close, len4) plot(ema1,color= color.green) plot(ema2,color= color.yellow) plot(ema3,color= color.orange) plot(ema4,color= color.red) // *** entries Long1 = close > ema1 Long2 = ema1 > ema2 Long3 = ema2 > ema3 Long4 = ema3 > ema4 buy_condition = Long1 and Long2 and Long3 and Long4 and strategy.position_size == 0 if (buy_condition and strategy.position_size <= 1) strategy.entry("B", strategy.long) Short1 = close < ema1 Short2 = ema1< ema2 Short3 = ema2< ema3 Short4 = ema3< ema4 sell_condition = Short1 and Short2 and Short3 and Short4 and strategy.position_size == 0 //if (sell_condition) // strategy.entry("S", strategy.short) // trailing SL //Long_sl = min(strategy.position_avg_price * 0.95, strategy.pos //EXIT CONDITIONS exit_long = ta.crossunder(close, ema2) exit_short = ta.crossover(close, ema2) if(exit_long) strategy.close("B", "LE", qty_percent=100) if(exit_short) strategy.close("S", "SE", qty_percent=100) //============================================================================== //INSERT SECTION //This section is where users will be required to insert the indicators they //would like to use for their NNFX Strategy. //============================================================================== //INSERT - CONFIRMATION INDICATOR 1 //============================================================================== //============================================================================== //INSERT - CONFIRMATION INDICATOR 2 //============================================================================== //============================================================================== //INSERT - VOLUME INDICATOR //============================================================================== //============================================================================== //INSERT - BASELINE INDICATOR //============================================================================== //============================================================================== //INSERT - EXIT INDICATOR //============================================================================== //============================================================================== //INSERT - CONTINUATION TRADES INDICATOR //============================================================================== //============================================================================== //COMPLETED SECTION //This section has been optimised to work with the above indicators the user //has inserted above. The user does not require to change any code below and //is completed and optimised for the full NNFX strategy. Users may wish to //customise this section of code if they wish to alter the NNFX strategy. //============================================================================== //COMPLETE - BACKTEST DATE RANGE //============================================================================== // start_day = input.int(1,"start day",1,31) // start_month = input.int(1,"start month",1,12) // start_year = input.int(1,"start year",2010,2023) //============================================================================== //COMPLETE - CURRENCY CONVERSION //============================================================================== //============================================================================== //COMPLETE - ATR MONEY MANAGEMENT //============================================================================== //============================================================================== //COMPLETE - USER INPUT CONDITIONS - C1 //============================================================================== //============================================================================== //COMPLETE - USER INPUT CONDITIONS - C2 //============================================================================== //============================================================================== //COMPLETE - USER INPUT CONDITIONS - Vol //============================================================================== //============================================================================== //COMPLETE - USER INPUT CONDITIONS - Bl //============================================================================== //============================================================================== //COMPLETE - USER INPUT CONDITIONS - Exit //============================================================================== //============================================================================== //COMPLETE - CONTINUATION TRADES //============================================================================== //============================================================================== //COMPLETE - ONE CANDLE RULE //============================================================================== //============================================================================== //COMPLETE - BRIDGE TOO FAR //============================================================================== //============================================================================== //COMPLETE - BASELINE AND ATR RULE //============================================================================== //============================================================================== //COMPLETE - ENTRY CONDITIONS //============================================================================== //============================================================================== //COMPLETE - ENTRY ORDERS //============================================================================== //============================================================================== //COMPLETE - TAKE PROFIT AND STOP LOSS CONDITIONS //============================================================================== //============================================================================== //COMPLETE - EXIT ORDERS //============================================================================== //============================================================================== //COMPLETE - CLOSE ORDERS //============================================================================== //==============================================================================