
Strategi perdagangan ini adalah strategi pelacakan tren yang didasarkan pada sistem rata-rata bergerak sederhana dan persilangan rata-rata rata-rata. Ini menggunakan persilangan rata-rata bergerak cepat dan rata-rata bergerak lambat dari periode yang berbeda sebagai sinyal untuk melakukan banyak shorting.
Strategi ini menggunakan siklus cepat seperti 60 hari rata-rata bergerak sederhana dan siklus lambat seperti 200 hari rata-rata bergerak sederhana. Rata-rata bergerak cepat dapat merespons perubahan harga lebih cepat, mencerminkan tren harga baru-baru ini; rata-rata bergerak lambat dapat merespons perubahan harga lebih lambat, mencerminkan tren jangka menengah dan panjang.
Ketika garis rata-rata periode pendek melintasi garis rata-rata periode panjang dari bawah, ini menunjukkan bahwa harga periode pendek mulai naik, masuk ke pasar multi-head, ini adalah lebih banyak. Ketika garis rata-rata periode pendek melintasi garis rata-rata periode panjang dari atas ke bawah, ini menunjukkan bahwa harga periode pendek mulai turun, masuk ke pasar kosong, ini adalah kosong.
Strategi ini menggunakan prinsip persilangan garis rata untuk menentukan arah tren. Ketika harga siklus pendek naik lebih cepat, garis rata-rata siklus pendek akan mendorong rata-rata siklus panjang ke atas, dan melintasi dari bawah. Ini menunjukkan bahwa pasar memasuki tren naik, dan harus melakukan lebih banyak. Sebaliknya, ketika harga siklus pendek turun lebih cepat, garis rata-rata siklus pendek akan menarik turun rata-rata siklus panjang, dan melintasi dari atas, yang menunjukkan bahwa pasar memasuki tren turun, dan harus dilakukan.
Strategi ini menangkap titik-titik perubahan dalam tren harga melalui persimpangan antara garis rata-rata cepat dan garis rata-rata lambat, dan menyesuaikan posisi kosong sesuai dengan itu. Ini adalah prinsip utama strategi ini untuk menilai tren dan menghasilkan sinyal perdagangan.
Anda dapat menyesuaikan frekuensi fluktuasi untuk varietas yang berbeda dengan menyesuaikan parameter periodik dari rata-rata bergerak; memperbaiki strategi stop loss dan stop loss, menggunakan indikator yang lebih kompleks untuk mengurangi sinyal yang salah; menambahkan metode seperti penyaringan volume perdagangan untuk mengoptimalkan strategi dan meningkatkan stabilitas strategi.
Strategi ini dapat dioptimalkan lebih lanjut dalam beberapa hal:
Optimalkan parameter siklus lambat dan cepat dari moving average untuk varietas dengan frekuensi yang berbeda. Anda dapat menguji lebih banyak kombinasi untuk menemukan parameter yang optimal.
Perubahan kondisi masuk ke lapangan, penyaringan lebih banyak indikator, seperti lonjakan volume transaksi, untuk mengurangi sinyal yang salah.
Meningkatkan strategi stop loss, seperti tracking stop loss atau stop loss dinamis, untuk menghasilkan keuntungan yang lebih efisien.
Pertimbangkan biaya transaksi seperti biaya prosesor, tambahkan modul penilaian biaya, dan lakukan simulasi yang lebih realistis.
Untuk menemukan kombinasi parameter yang optimal untuk karakteristik varietas yang berbeda, desain Parameter Universe
Meningkatkan pengenalan karakteristik lokal, membantu menentukan titik balik tren, meningkatkan waktu untuk membuka posisi dan menutup posisi.
Dengan mengoptimalkan strategi sistem, maka dapat meningkatkan profitabilitas dan stabilitas, serta mengurangi penarikan.
Strategi perdagangan ini didasarkan pada perpindahan tren harga berdasarkan perpindahan garis rata-rata, dan merupakan strategi pelacakan tren yang khas. Ini menggunakan perpindahan garis rata-rata berkala yang berbeda sebagai sinyal penarikan ganda, untuk menentukan arah tren melalui kombinasi garis rata-rata cepat dan garis rata-rata lambat, untuk menangkap tren yang efektif. Strategi ini stabil, dapat diandalkan, mudah dipahami dan diimplementasikan, dapat disesuaikan dengan sebagian besar varietas setelah pengoptimalan parameter, dan merupakan jenis strategi dasar untuk perdagangan kuantitatif.
/*backtest
start: 2024-01-04 00:00:00
end: 2024-01-11 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © thebearfib
//
//@version=5
//
strategy("x-over 150d_200d_sma - Free", overlay = true)
repaint = input.bool(defval = false, title = "[RePaint] Uncheck to see real time results") //when you deselect it - it shows what would have happened in real time while trading the system
srcmc = request.security(syminfo.tickerid, 'D', open, lookahead= repaint ? barmerge.lookahead_on : barmerge.lookahead_off, gaps=barmerge.gaps_off)
fast_length = input(title="Fast Length", defval=60)
slow_length = input(title="Slow Length", defval=275)
_fast = ta.sma(srcmc, fast_length)
_slow = ta.sma(srcmc, slow_length)
plot(_fast,
title="Fast SMA",
color=color.red,
linewidth = 1)
plot(_slow,
title="Slow SMA",
color=color.white,
linewidth = 3)
//
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
// ————————————————————————————————— Calculating —————————————————————————————————————————————————————————————————————————
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
//
longProfitPerc = input.float(title="Long Take Profit (%)", minval=0.01, step=1.0, defval=42) * .01
longStopPerc = input.float(title="Long Stop (%)", minval=0.01, step=1.0, defval=13) * .01
//
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
// ————————————————————————————————— Stop Conditions ————————————————————————————————————————————————————————————————————
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
longExitPrice = strategy.opentrades > 0 ? strategy.position_avg_price * (1 + longProfitPerc) : srcmc * (1 + longProfitPerc)
longStopPrice = strategy.opentrades > 0 ? strategy.position_avg_price * (1 - longStopPerc) : srcmc * (1 - longStopPerc)
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
// ————————————————————————————————— Long Conditions ————————————————————————————————————————————————————————————————————
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
longCondition = srcmc > _slow and ta.crossover(_fast, _slow)
closeCondition = ta.crossover(srcmc, _slow)
if (longCondition)
strategy.entry("Entry (long)", strategy.long, comment="→ 𝗟𝗴 𝗘𝗻𝘁𝗿𝘆")
if (closeCondition)
strategy.close("Entry (long)", comment=" 𝗟𝗴 𝗘𝘅𝗶𝘁 ←")
if (strategy.position_size > 0)
strategy.exit(id="XL", limit=longExitPrice, stop = longStopPrice, comment_profit = "Take Profit", comment_loss = "Stop Loss")
//
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
// ————————————————————————————————— Never the End Just the beginning —————————————————————————————————————————————————
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
//