
Strategi ini adalah sistem perdagangan kuantitatif berdasarkan pengenalan bentuk harga pasaran, yang menangkap peluang pembalikan pasaran yang berpotensi dengan mengenal pasti bentuk pembalikan 123 bit. Strategi ini menggabungkan pengurusan tempoh pegangan dinamik dan penapisan purata bergerak untuk meningkatkan ketepatan perdagangan melalui pengesahan pelbagai syarat. Strategi ini menggunakan model matematik yang tepat untuk menentukan titik masuk dan menggunakan garis rata-rata 200 hari sebagai syarat keluar tambahan, membentuk sistem perdagangan yang lengkap.
Logik teras strategi ini adalah berdasarkan pengenalan bentuk harga, yang merangkumi unsur-unsur utama berikut:
Strategi ini menyediakan peniaga dengan alat tangkap umpan balik pasaran yang boleh dipercayai melalui pengenalan bentuk yang ketat dan sistem kawalan risiko yang baik. Walaupun terdapat beberapa batasan, dengan pengoptimuman berterusan dan penyesuaian parameter yang sesuai, strategi ini dapat mengekalkan prestasi yang stabil dalam keadaan pasaran yang berbeza.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-11 00:00:00
period: 1d
basePeriod: 1d
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/
// © EdgeTools
//@version=5
strategy("123 Reversal Trading Strategy", overlay=true)
// Input for number of days to hold the trade
daysToHold = input(7, title="Days to Hold Trade")
// Input for 20-day moving average
maLength = input(200, title="Moving Average Length")
// Calculate the 20-day moving average
ma20 = ta.sma(close, maLength)
// Define the conditions for the 123 reversal pattern (bullish reversal)
// Condition 1: Today's low is lower than yesterday's low
condition1 = low < low[1]
// Condition 2: Yesterday's low is lower than the low three days ago
condition2 = low[1] < low[3]
// Condition 3: The low two days ago is lower than the low four days ago
condition3 = low[2] < low[4]
// Condition 4: The high two days ago is lower than the high three days ago
condition4 = high[2] < high[3]
// Entry condition: All conditions must be true
entryCondition = condition1 and condition2 and condition3 and condition4
// Exit condition: Close the position after a certain number of bars or when the price reaches the 20-day moving average
exitCondition = ta.barssince(entryCondition) >= daysToHold or close >= ma20
// Execute buy and sell signals
if (entryCondition)
strategy.entry("Buy", strategy.long)
if (exitCondition)
strategy.close("Buy")