Strategi beli dan jual berdasarkan harga penutupan K-line


Tanggal Pembuatan: 2024-01-08 11:11:18 Akhirnya memodifikasi: 2024-01-08 11:11:18
menyalin: 2 Jumlah klik: 1039
1
fokus pada
1617
Pengikut

Strategi beli dan jual berdasarkan harga penutupan K-line

Ringkasan

Strategi ini memicu sinyal beli atau jual dengan membandingkan garis K saat ini dengan garis K sebelumnya.

Secara khusus, sinyal beli akan dipicu jika harga penutupan K-line saat ini lebih tinggi dari harga tertinggi K-line sebelumnya; sinyal jual akan dipicu jika harga penutupan K-line saat ini lebih rendah dari harga minimum K-line sebelumnya.

Prinsip Strategi

  1. Dapatkan harga tertinggi dan terendah dalam periode waktu tertentu (seperti garis waktu, garis waktu, dll.)
  2. Perhitungan Stop Loss Distance dan Stop Stop Distance
    • Stop loss distance = harga teratas pada baris K - harga terendah pada baris K
    • Stop Stop Distance = Stop Stop Distance * 3 ((setel stop stop stop stop stop ratio menjadi 1:3)
  3. Menentukan hubungan antara harga penutupan K saat ini dengan harga tertinggi dan terendah K sebelumnya
    • Jika harga penutupan saat ini > harga tertinggi pada garis K, maka sinyal beli akan dipicu
    • Jika harga penutupan saat ini < harga terendah pada garis K di atas, maka akan terjadi sinyal jual
  4. Set Stop Loss dan Stop Stop Setelah Masuk
    • Setelah membeli, setel stop loss menjadi harga terendah di baris K teratas - stop loss distance, stop loss sebagai harga tertinggi di baris K teratas + stop loss distance
    • Setelah dijual, setel stop loss sebagai harga tertinggi di K baris atas + stop loss distance, stop loss sebagai harga terendah di K baris atas - stop loss distance

Ini adalah logika dasar dari strategi ini.

Analisis Keunggulan

  • Strategi yang jelas, sederhana, dan mudah dipahami
  • Menggunakan informasi garis K untuk menentukan arah tren
  • Risiko pengendalian dengan stop loss mechanism

Analisis risiko

  • Penghakiman hanya berdasarkan satu periode waktu K-line morphology, mungkin menghasilkan lebih banyak sinyal palsu
  • Tidak mempertimbangkan faktor-faktor lain, seperti perubahan volume transaksi, volatilitas, dan lain-lain.
  • Stop loss bisa diatur dengan salah, jarak terlalu besar atau terlalu kecil berisiko

Arah optimasi

  • Ini adalah kombinasi dari beberapa faktor untuk mengkonfirmasi sinyal masuk, seperti volume perdagangan, rata-rata, dan lain-lain.
  • Mengoptimalkan algoritma stop loss agar stop loss lebih masuk akal dan lebih memadai
  • Pengaturan parameter untuk varietas yang berbeda mungkin perlu disesuaikan
  • Anda dapat menguji siklus yang lebih panjang.

Meringkaskan

Strategi ini secara keseluruhan sederhana dan jelas, menggunakan K-line informasi harga closeout untuk menentukan arah tren, sekaligus mengatur risiko pengendalian stop loss, dapat digunakan sebagai strategi dasar untuk perdagangan saham, mata uang digital. Namun, hanya berdasarkan pada satu periode waktu K-line bentuk, mudah menghasilkan sinyal palsu, ruang optimasi masih besar, perlu dipertimbangkan lebih lanjut untuk menggabungkan lebih banyak faktor dan penyesuaian parameter, sehingga meningkatkan efektivitas strategi.

Kode Sumber Strategi
/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Buy/Sell on Candle Close", overlay=true)

var float prevLowest = na
var float prevHighest = na
var float slDistance = na
var float tpDistance = na

// Specify the desired timeframe here (e.g., "D" for daily, "H" for hourly, etc.)
timeframe = "D"

// Fetching historical data for the specified timeframe
pastLow = request.security(syminfo.tickerid, timeframe, low, lookahead=barmerge.lookahead_on)
pastHigh = request.security(syminfo.tickerid, timeframe, high, lookahead=barmerge.lookahead_on)

if bar_index > 0
    prevLowest := pastLow[1]
    prevHighest := pastHigh[1]

currentClose = close

if not na(prevLowest) and not na(prevHighest)
    slDistance := prevHighest - prevLowest
    tpDistance := 3 * slDistance // Adjusted for 1:3 risk-reward ratio

// Buy trigger when current close is higher than previous highest
if not na(prevLowest) and not na(prevHighest) and currentClose > prevHighest
    strategy.entry("Buy", strategy.long)
    strategy.exit("Buy TP/SL", "Buy", stop=prevLowest - slDistance, limit=prevHighest + tpDistance)

// Sell trigger when current close is lower than previous lowest
if not na(prevLowest) and not na(prevHighest) and currentClose < prevLowest
    strategy.entry("Sell", strategy.short)
    strategy.exit("Sell TP/SL", "Sell", stop=prevHighest + slDistance, limit=prevLowest - tpDistance)

plot(prevLowest, color=color.blue, title="Previous Lowest")
plot(prevHighest, color=color.red, title="Previous Highest")