
Strategi ini adalah sistem perdagangan kuantitatif yang didasarkan pada identifikasi pola harga pasar, terutama untuk menangkap peluang pasar yang berpotensi berbalik dengan mengidentifikasi pola 123 bit reversal. Strategi ini menggabungkan manajemen periode kepemilikan posisi dinamis dan penyaringan rata-rata bergerak untuk meningkatkan akurasi perdagangan melalui verifikasi kondisi ganda. Strategi ini menggunakan model matematika yang tepat untuk menentukan titik masuk dan menggunakan rata-rata 200 hari sebagai kondisi keluar tambahan, membentuk sistem perdagangan yang lengkap.
Logika inti dari strategi ini didasarkan pada identifikasi bentuk harga, yang terdiri dari elemen-elemen kunci berikut:
Strategi ini menyediakan pedagang dengan alat yang dapat diandalkan untuk menangkap market reversal melalui identifikasi bentuk yang ketat dan sistem kontrol risiko yang baik. Meskipun ada beberapa keterbatasan, dengan optimasi berkelanjutan dan penyesuaian parameter yang tepat, strategi ini dapat mempertahankan kinerja yang stabil di berbagai lingkungan pasar.
/*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")