Gagasan utama dari strategi ini adalah untuk melakukan trading short-term retracement di arah tren jangka panjang. Secara khusus, menggunakan 200-day simple moving average untuk menentukan arah tren jangka panjang, dan menggunakan 10-day simple moving average untuk menentukan arah tren jangka pendek.
Strategi ini menggunakan 200-hari sederhana bergerak rata-rata dan 10 hari sederhana bergerak rata-rata untuk menilai tren pasar. Ketika harga di atas melewati 200-hari garis dianggap masuk ke pasar bermuatan, dan ketika harga di bawah 200-hari garis dianggap masuk ke pasar kosong. Dalam pasar bermuatan, jika harga turun ke sekitar 10 hari garis, menunjukkan ada perubahan jangka pendek, yang dilakukan lebih, bertujuan untuk mengikuti jangka panjang tren bermuatan terus naik. Dalam pasar kosong, jika harga naik ke sekitar 10 hari garis, menunjukkan ada rebound jangka pendek, yang dilakukan kosong, yang bertujuan untuk mengikuti jangka panjang tren bermuatan terus turun.
Secara khusus, ketika memenuhi syarat-syarat berikut, melakukan masuk lebih dalam: harga di atas garis 200 hari, harga di bawah garis 10 hari, sebelumnya tidak memegang posisi. Ketika memenuhi syarat-syarat berikut, keluar dari posisi kosong di dalam: harga di atas garis 10 hari, sebelumnya memegang posisi multihead. Untuk mencegah kerugian besar, set FAILSAFE stop loss, jika dari titik tertinggi mundur lebih dari 10%, stop loss langsung keluar.
Seperti yang dapat dilihat, logika perdagangan strategi ini terutama didasarkan pada mata uang Forex mata uang Forex mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto mata uang kripto.
Keuntungan terbesar dari strategi ini adalah mengikuti tren dengan biaya modal rendah dan mengejar keuntungan tambahan. Keuntungan spesifiknya adalah sebagai berikut:
Menggunakan kombinasi garis rata-rata jangka pendek dan panjang untuk menentukan arah tren di tingkat utama, Anda dapat secara efektif mengunci peluang tren garis panjang dan menengah dan menghindari kecurigaan dari tren jangka pendek.
Dengan menggunakan metode penarikan balik jangka pendek, Anda dapat meminimalkan biaya pembelian, sehingga mendapatkan ruang keuntungan yang lebih tinggi.
Sistem FAILSAFE dapat mengontrol kerugian secara efektif dan melindungi dana akun.
Hal ini memungkinkan untuk melacak stop-and-go, memanfaatkan peluang tren garis tengah dan panjang, dan mendapatkan Alpha ekstra.
Menggunakan metode perdagangan yang murni mekanis, menghindari pengaruh emosi subyektif, membuat strategi lebih mudah untuk diterapkan.
Strategi ini memiliki risiko utama sebagai berikut:
Risiko pencocokan data retrospektif. Kondisi pasar aktual mungkin berbeda dengan data historis, yang menyebabkan diskon pada efek perdagangan langsung.
Risiko False Breakout. Jika harga hanya menyentuh garis rata-rata, kemungkinan besar akan membalikkan penyesuaian, yang dapat menyebabkan akumulasi kerugian kecil.
Risiko reversal trend. Reversal tren yang tiba-tiba terjadi pada garis tengah dan panjang adalah hal yang umum, di mana memegang posisi dapat menyebabkan kerugian besar.
Langkah-langkahnya adalah sebagai berikut:
Meningkatkan jumlah sampel, menggunakan lebih banyak data historis untuk validasi robustitas, memastikan hasil yang dapat diandalkan.
Optimalkan parameter, menyesuaikan kombinasi parameter sistem rata-rata, dan memastikan kualitas sinyal perdagangan.
Lini Stop Loss harus dilonggarkan dengan tepat, memberikan ruang untuk harga untuk kembali, dan menghindari Stop Loss yang terlalu sensitif.
Strategi ini dapat dioptimalkan lebih lanjut dengan:
Menambahkan kondisi penyaringan, seperti penyaringan volume transaksi, dapat secara efektif mengurangi transaksi yang tidak perlu yang dipicu oleh penembusan palsu.
Kombinasi dengan indikator lain, seperti KDJ, MACD, dan lain-lain, membentuk portofolio indikator yang dapat meningkatkan kualitas sinyal perdagangan.
Uji coba berbagai jangka waktu posisi, optimalisasi strategi stop-loss dan stop loss, dan peningkatan lebih lanjut dari Sharp Ratio.
Adaptasi parameter yang disesuaikan dengan kondisi pasar, membentuk mekanisme optimasi parameter yang dapat disesuaikan, membuat strategi lebih kasar.
Menambahkan modul perdagangan algoritmik, menggunakan metode pembelajaran mesin dan lain-lain untuk menghasilkan sinyal perdagangan secara otomatis, mengurangi intervensi manusia.
Strategi ini memiliki konsep yang jelas dan mudah untuk diimplementasikan, dengan biaya rendah untuk melacak tren garis tengah, dapat memperoleh Alpha yang stabil. Namun, ada risiko tertentu untuk melakukan lelang, yang perlu dioptimalkan lebih lanjut untuk meningkatkan stabilitas. Secara keseluruhan, strategi ini dirancang dari sudut pandang pelacakan tren, layak untuk penelitian dan aplikasi lebih lanjut.
/*backtest
start: 2024-01-21 00:00:00
end: 2024-02-20 00:00:00
period: 1h
basePeriod: 15m
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/
// © irfanp056
// @version=5
strategy("Simple Pullback Strategy",
overlay=true,
initial_capital=100000,
default_qty_type=strategy.percent_of_equity,
default_qty_value=1000, // 100% of balance invested on each trade
commission_type=strategy.commission.cash_per_contract,
commission_value=0.005) // Interactive Brokers rate
// Get user input
i_ma1 = input.int(title="MA 1 Length", defval=200, step=10, group="Strategy Parameters", tooltip="Long-term MA")
i_ma2 = input.int(title="MA 2 Length", defval=10, step=10, group="Strategy Parameters", tooltip="Short-term MA")
i_stopPercent = input.float(title="Stop Loss Percent", defval=0.10, step=0.1, group="Strategy Parameters", tooltip="Failsafe Stop Loss Percent Decline")
i_lowerClose = input.bool(title="Exit On Lower Close", defval=false, group="Strategy Parameters", tooltip="Wait for a lower-close before exiting above MA2")
i_startTime = input(title="Start Filter", defval=timestamp("01 Jan 1995 13:30 +0000"), group="Time Filter", tooltip="Start date & time to begin searching for setups")
i_endTime = input(title="End Filter", defval=timestamp("1 Jan 2099 19:30 +0000"), group="Time Filter", tooltip="End date & time to stop searching for setups")
// Get indicator values
ma1 = ta.sma(close, i_ma1)
ma2 = ta.sma(close, i_ma2)
// Check filter(s)
f_dateFilter = true
// Check buy/sell conditions
var float buyPrice = 0
buyCondition = close > ma1 and close < ma2 and strategy.position_size == 0 and f_dateFilter
sellCondition = close > ma2 and strategy.position_size > 0 and (not i_lowerClose or close < low[1])
stopDistance = strategy.position_size > 0 ? ((buyPrice - close) / close) : na
stopPrice = strategy.position_size > 0 ? buyPrice - (buyPrice * i_stopPercent) : na
stopCondition = strategy.position_size > 0 and stopDistance > i_stopPercent
// Enter positions
if buyCondition
strategy.entry(id="Long", direction=strategy.long)
if buyCondition[1]
buyPrice := open
// Exit positions
if sellCondition or stopCondition
strategy.close(id="Long", comment="Exit" + (stopCondition ? "SL=true" : ""))
buyPrice := na
// Draw pretty colors
plot(buyPrice, color=color.lime, style=plot.style_linebr)
plot(stopPrice, color=color.red, style=plot.style_linebr, offset=-1)
plot(ma1, color=color.blue)
plot(ma2, color=color.orange)