
Strategi Regression Mean to Gradual Opening adalah skrip strategi perdagangan kuantitatif canggih yang dirancang oleh HedgerLabs, yang berfokus pada teknik Regression Mean di pasar keuangan. Strategi ini ditujukan untuk pedagang yang lebih suka metode sistematis dan menekankan metode pembukaan posisi bertahap berdasarkan harga relatif rata-rata bergerak.
Inti dari strategi ini adalah Simple Moving Average (SMA). Semua perdagangan masuk dan keluar dilakukan di sekitar moving average. Pedagang dapat menyesuaikan panjang MA agar sesuai dengan gaya perdagangan dan rentang waktu yang berbeda.
Strategi ini unik dalam mekanisme pembukaannya yang bertahap. Strategi ini akan memulai posisi pertama ketika harga menyimpang dari rata-rata bergerak lebih dari persentase tertentu. Kemudian, strategi ini akan meningkatkan posisi secara bertahap seperti yang didefinisikan oleh pedagang. Metode ini dapat menghasilkan keuntungan yang lebih tinggi ketika volatilitas pasar meningkat.
Strategi ini juga akan mengelola posisi secara cerdas. Berdagang lebih banyak ketika harga lebih rendah dari rata-rata bergerak dan berdagang lebih tinggi dari waktu kosong untuk menyesuaikan dengan kondisi pasar yang berbeda.
Dengan mengaktifkancalc_on_every_tickStrategi ini dapat terus mengevaluasi kondisi pasar dan bereaksi tepat waktu.
Strategi Mean Value Regression Graduated Opening memiliki keuntungan sebagai berikut:
Strategi ini juga memiliki beberapa risiko:
Risiko ini dapat diatasi dengan mengoptimalkan exits, menilai tren, atau mengurangi margin.
Strategi ini dapat dioptimalkan dalam beberapa hal:
Strategi ini berfokus pada teknik perdagangan dengan nilai rata-rata yang kembali, menggunakan sistematisasi posisi manajemen dengan parameter yang dapat disesuaikan untuk berbagai jenis perdagangan. Strategi ini bekerja dengan baik di pasar yang bergejolak dan cocok untuk pedagang kuantitatif yang berfokus pada operasi garis pendek.
/*backtest
start: 2023-12-29 00:00:00
end: 2024-01-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Mean Reversion with Incremental Entry by HedgerLabs", overlay=true, calc_on_every_tick=true)
// Input for adjustable settings
maLength = input.int(30, title="MA Length", minval=1)
initialPercent = input.float(5, title="Initial Percent for First Order", minval=0.01, step=0.01)
percentStep = input.float(1, title="Percent Step for Additional Orders", minval=0.01, step=0.01)
// Calculating Moving Average
ma = ta.sma(close, maLength)
// Plotting the Moving Average
plot(ma, "Moving Average", color=color.blue)
var float lastBuyPrice = na
var float lastSellPrice = na
// Function to calculate absolute price percentage difference
pricePercentDiff(price1, price2) =>
diff = math.abs(price1 - price2) / price2 * 100
diff
// Initial Entry Condition Check Function
initialEntryCondition(price, ma, initialPercent) =>
pricePercentDiff(price, ma) >= initialPercent
// Enhanced Entry Logic for Buy and Sell
if (low < ma)
if (na(lastBuyPrice))
if (initialEntryCondition(low, ma, initialPercent))
strategy.entry("Buy", strategy.long)
lastBuyPrice := low
else
if (low < lastBuyPrice and pricePercentDiff(low, lastBuyPrice) >= percentStep)
strategy.entry("Buy", strategy.long)
lastBuyPrice := low
if (high > ma)
if (na(lastSellPrice))
if (initialEntryCondition(high, ma, initialPercent))
strategy.entry("Sell", strategy.short)
lastSellPrice := high
else
if (high > lastSellPrice and pricePercentDiff(high, lastSellPrice) >= percentStep)
strategy.entry("Sell", strategy.short)
lastSellPrice := high
// Exit Conditions - Close position if price touches the MA
if (close >= ma and strategy.position_size > 0)
strategy.close("Buy")
lastBuyPrice := na
if (close <= ma and strategy.position_size < 0)
strategy.close("Sell")
lastSellPrice := na
// Reset last order price when position is closed
if (strategy.position_size == 0)
lastBuyPrice := na
lastSellPrice := na