
Strategi pengesanan trend bingkai masa dua yang berasaskan saham adalah strategi perdagangan algoritma yang canggih yang bertujuan untuk menangkap dan mengesan trend saham popular pada tahun 2023. Strategi ini menggunakan gabungan indikator garis hari dan garis 1 jam untuk mengenal pasti isyarat perdagangan, untuk mencapai stop loss dinamik yang dioptimumkan untuk pengurusan risiko, yang bertujuan untuk mendapatkan keuntungan yang stabil dengan syarat mengawal risiko.
Strategi ini menggunakan purata bergerak indeks 20 dan 50 tempoh ((EMA) untuk menentukan arah trend pada garisan harian dan 1 jam. EMA 20 hari pada garisan harian dan 1 jam menghasilkan isyarat beli apabila kedua-duanya melintasi EMA 50 hari; EMA 20 hari pada garisan harian dan 1 jam menghasilkan isyarat jual apabila kedua-duanya melintasi EMA 50 hari.
Pada masa yang sama, strategi ini menggunakan purata gelombang sebenar ((ATR) untuk mengira kedudukan berhenti dan penangguhan yang dinamik. Penangguhan ditetapkan sebagai 1.5 kali ATR dan penangguhan ditetapkan sebagai 3 kali. Ini dapat menyesuaikan parameter berhenti dan penangguhan dalam masa nyata, sesuai dengan tahap risiko yang disebabkan oleh turun naik pasaran, untuk mengoptimumkan pengurusan risiko.
Strategi ini mempunyai kelebihan berikut:
Penapisan gabungan indikator pelbagai kerangka masa dapat mengesan permulaan trend dengan berkesan.
Tetapan Stop Loss Dinamika membolehkan pengurusan risiko menjadi lebih pintar dan mengelakkan masalah yang disebabkan oleh tetapan parameter Stop Loss Statik.
“Ketika anda melihat trend, anda akan melihat peluang yang lebih jelas.
Pengendalian ketat terhadap risiko perdagangan tunggal membantu mendapatkan pulangan pelaburan yang stabil dan berterusan.
Strategi ini juga mempunyai risiko:
Pengoptimuman hanya untuk satu saham pada tahun 2023 mungkin tidak berlaku untuk saham lain atau tahun-tahun lain.
Tidak dapat sepenuhnya mengelakkan risiko kerugian yang disebabkan oleh turun naik yang sangat besar.
Di samping itu, terdapat risiko bahawa isyarat penghakiman jangka masa yang berlainan mungkin salah difahami.
Risiko sistemik pasaran juga memberi kesan kepada strategi.
Strategi ini boleh dioptimumkan dengan cara:
Meningkatkan rujukan kepada indeks saham besar untuk mengelakkan kedudukan yang dibina pada masa risiko sistemik yang tinggi.
Berikutan asas saham dan risiko peristiwa penting, pertimbangkan stop loss untuk menghentikan kenaikan.
Uji kesan perubahan parameter EMA terhadap kesan strategi.
Menambah algoritma pembelajaran mesin untuk menilai isyarat jual beli.
Strategi ini merangkumi pelbagai dimensi seperti penilaian trend, pengurusan risiko, pengoptimuman parameter, dan lain-lain. Dengan risiko yang terkawal, ia sesuai untuk pelabur yang berpengalaman untuk mengejar trend panjang dalam saham panas, dan mendapatkan pulangan pelaburan yang lebih stabil. Untuk menggunakan strategi ini, pelabur memerlukan kemampuan pengaturcaraan dan pengetahuan perdagangan kuantitatif, dan bersedia menanggung risiko kerugian.
/*backtest
start: 2023-02-26 00:00:00
end: 2024-02-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("TSLA Enhanced Trend Master 2023", overlay=true)
// Daily timeframe indicators
ema20_daily = ta.ema(close, 20)
ema50_daily = ta.ema(close, 50)
// 1-hour timeframe indicators
ema20_hourly = request.security(syminfo.tickerid, "60", ta.ema(close, 20))
ema50_hourly = request.security(syminfo.tickerid, "60", ta.ema(close, 50))
// Check if the year is 2023
is_2023 = year(time) == 2023
// Counter for short trades
var shortTradeCount = 0
// Entry Conditions
buySignal = is_2023 and (ema20_daily > ema50_daily) and (ema20_hourly > ema50_hourly)
sellSignal = is_2023 and (ema20_daily < ema50_daily) and (ema20_hourly < ema50_hourly) and (shortTradeCount < 0.5 * ta.highest(close, 14))
// Dynamic Stop Loss and Take Profit
atr_value = ta.atr(14)
stopLoss = atr_value * 1.5
takeProfit = atr_value * 3
// Calculate Position Size based on Volatility-Adjusted Risk
riskPercent = 2
positionSize = strategy.equity * riskPercent / close
// Strategy
if (buySignal)
strategy.entry("Buy", strategy.long, qty=positionSize)
strategy.exit("Take Profit/Stop Loss", "Buy", stop=close - stopLoss, limit=close + takeProfit)
if (sellSignal)
strategy.entry("Sell", strategy.short, qty=positionSize)
strategy.exit("Take Profit/Stop Loss", "Sell", stop=close + stopLoss, limit=close - takeProfit)
shortTradeCount := shortTradeCount + 1