
Strategi ini memungkinkan perdagangan lelang di antara pasar yang berbeda dengan menghitung rata-rata bergerak reguler adaptif. Strategi ini memiliki fitur seperti lelang lintas pasar, penyesuaian parameter dinamis, dan kontrol risiko.
Strategi ini pertama-tama mendefinisikan fungsi scaleMinimax untuk menstandarisasi urutan waktu ke kisaran yang ditentukan. Kemudian mendefinisikan fungsi rema rata-rata bergerak yang beradaptasi untuk meluruskan dan menghitung garis sinyal yang telah dihaluskan.
Setelah mendapatkan sinyal, strategi memutuskan apakah ada ruang kosong dengan menilai sinyal dan harga. Secara khusus:
Selain itu, kebijakan ini menambahkan faktor smooth dan menampilkan garis sinyal show_line sebagai parameter yang dapat disesuaikan, meningkatkan fleksibilitas kebijakan tersebut.
Strategi ini memiliki beberapa keuntungan dibandingkan dengan strategi moving average tradisional:
Strategi ini juga memiliki beberapa risiko:
Bilateral crossover memiliki probabilitas yang lebih tinggi dari sinyal yang salah. Solusinya adalah dengan menyesuaikan parameter smoothing yang tepat untuk menghindari getaran garis sinyal.
Arbitrage lintas pasar harus memastikan bahwa kedua pasar memiliki hubungan harga dan tren yang konsisten. Solusi adalah memilih pasar dengan relevansi tinggi untuk melakukan arbitrage.
Optimasi parameter membutuhkan akumulasi data historis yang cukup untuk pengujian ulang. Solusinya adalah dengan hati-hati menyesuaikan parameter dalam transaksi nyata.
Strategi ini juga dapat dioptimalkan dengan:
Pada pilihan parameter, Anda dapat memasukkan algoritma pembelajaran mesin untuk mengoptimalkan kombinasi parameter secara otomatis.
Dalam pembuatan sinyal, lebih banyak indikator dapat diperkenalkan untuk dikombinasikan, untuk membangun sinyal perdagangan yang lebih stabil.
Dalam pengendalian risiko, Anda dapat mengatur stop loss untuk mengendalikan kerugian tunggal.
Dalam Arbitrage lintas pasar, dapat diperluas ke lebih banyak jenis transaksi yang relevan.
Strategi ini memungkinkan perdagangan lelang antar pasar dengan cara menghitung rata-rata bergerak secara otomatis. Ini memiliki beberapa keunggulan dibandingkan strategi rata-rata bergerak tradisional, seperti penyesuaian parameter, pemrosesan yang halus, dan lelang antar pasar. Langkah selanjutnya adalah mengoptimalkan strategi ini melalui pembelajaran mesin, kombinasi sinyal, dan manajemen risiko.
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Crossover82%", overlay=true)
//
// Functions
//
scaleMinimax(X, p, min, max) =>
hi = highest(X, p), lo = lowest(X, p)
(max - min) * (X - lo)/(hi - lo) + min
rema(ts, p) => // regularized ma
rm = 0.0, lambda = .5, a = 2 / (p + 1)
rm := (nz(rm[1]) + a * (ts - nz(rm[1])) + lambda * (2 * nz(rm[1]) - nz(rm[2]))) / (lambda + 1)
rm
//
// Inputs
//
X = input(close, title="Data source")
smooth = input(2, title="REMA smooth factor")
show_line = input(true, title="Show signal line")
//
// Main
//
p = 5
sig = rema(scaleMinimax(pow(X*p,-X) - 0.1, 100, lowest(X, 100), highest(X, 100)), smooth)
plot(show_line ? sig : na, linewidth=1)
plot(cross(sig, X) ? ohlc4 : na, style=circles, linewidth=8, color=blue, transp=50)
longCondition = crossover(sig, X)
if (longCondition)
strategy.entry("LE", strategy.long)
shortCondition = crossunder(sig, X)
if (shortCondition)
strategy.entry("SE", strategy.short)