Strategi akuisisi kuantitatif saham BIST empat tahap


Tanggal Pembuatan: 2023-12-19 15:21:22 Akhirnya memodifikasi: 2023-12-19 15:21:22
menyalin: 0 Jumlah klik: 560
1
fokus pada
1619
Pengikut

Strategi akuisisi kuantitatif saham BIST empat tahap

Ringkasan

Strategi pembelian kuantitatif saham BIST empat tahap adalah strategi yang memanfaatkan empat tahap pembelian untuk melacak fluktuasi, membeli di area yang berada di dalam pasar, dan menjual di area dengan kenaikan harga. Strategi ini berlaku untuk saham yang memiliki fluktuasi besar, dengan membeli secara batch untuk mendapatkan kontrol biaya yang lebih baik.

Prinsip Strategi

Strategi ini pertama-tama menghitung resistance line dan support line. Resistance line ditentukan oleh titik persimpangan rata-rata pergerakan harga tinggi dan harga close out, dan support line ditentukan oleh titik persimpangan rata-rata pergerakan harga close out dan harga low.

Ketika harga jatuh di bawah garis dukungan, jika harga jarak dari resistance line dalam batas yang ditetapkan untuk membeli, melakukan tahap pertama 25% dari posisi pembelian. Kemudian di tahap pertama membeli harga membeli lagi membeli 25% dari posisi, sehingga siklus 4 kali, akhirnya mencapai 100% dari posisi.

Ketika harga saham melebihi dua kali lipat dari biaya pembukaan posisi, melakukan exit posisi penuh.

Keunggulan Strategis

  1. Membeli empat kali, mengurangi biaya pembelian
  2. Pelacakan fluktuasi saham untuk titik masuk yang lebih baik
  3. Stop loss yang masuk akal, keuntungan yang lebih baik

Risiko dan Solusi

  1. Harga saham terus turun, tidak bisa menghentikan kerugian, dan dapat menyebabkan kerugian besar

    • Setting Stop Loss Line yang Rasional dan Mengontrol Kerugian
  2. Parameter yang tidak tepat, beberapa titik pembelian terlalu dekat, tidak dapat mencapai efek dispersi biaya

    • Menetapkan kesenjangan harga yang wajar antara tahap pembelian
  3. Stop loss set terlalu besar untuk mengontrol kerugian secara efektif

    • Setting Stop Loss Distance yang Tepat Berdasarkan Lingkungan Perdagangan Nyata dan Ketahanan Psikologis

Arah optimasi strategi

  1. Parameter yang disesuaikan dengan berbagai jenis saham untuk membuat area pembelian lebih sesuai dengan karakteristik saham

  2. Menambahkan indikator volatilitas untuk membeli saat volatilitas meningkat

  3. Optimalisasi Stop Stop, Mengikuti Stop Stop, dan Menghasilkan Hasil yang Lebih Tinggi

  4. Menambahkan pengaturan stop loss line untuk menghentikan kerugian saat harga menembus level tertentu ke bawah

Meringkaskan

Strategi pembelian kuantitatif saham BIST empat tahap secara keseluruhan adalah strategi yang sangat cocok untuk konsep saham populer. Dengan membangun gudang secara bertahap, dapat memanfaatkan volatilitas saham secara efektif, mendapatkan biaya yang lebih baik ketika harga turun. Selain itu, pengaturan stop-loss yang masuk akal juga membuat strategi ini berkinerja baik dalam mengendalikan risiko.

Kode Sumber Strategi
/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 00:00:00
period: 1d
basePeriod: 1h
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/
// © Cantalk

//@version=5
strategy("BİST_100 HİSSELERİ 1_SAAT 4 KADEME ALIM",overlay = true, pyramiding=4, initial_capital=10000, process_orders_on_close=true, commission_type=strategy.commission.percent, commission_value=0.002)



LB2 = input(30, title="Alım_Üst_Çizgi")
LB = input(90, title="Alım_Alt_Çizgi")
Barcolor=input(true,title="Barcolor")
Bgcolor=input(true,title="Bgcolor")
//////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////
RDirenc = ta.valuewhen(ta.cross(ta.hma(close, LB2), close), ta.highest(high, LB2), 1)
SDestek = ta.valuewhen(ta.cross(close, ta.hma(close, LB)), ta.lowest(low, LB), 1)



//plot(RDirenc,title="Resistance", color=#f7d707fc, linewidth =2)
//plot(SDestek,title="Support", color=#064df4, linewidth = 2)

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

LB22 = input(40, title="Satım_Üst_Çizgi")
LB1 = input(300, title="Satım_Alt_Çizgi")

Barcolor2=input(true,title="Barcolor2")
Bgcolor2=input(true,title="Bgcolor2")
//////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////
RDirenc2 = ta.valuewhen(ta.cross(ta.hma(close, LB22), close), ta.highest(high, LB22), 1)
SDestek2 = ta.valuewhen(ta.cross(close, ta.hma(close, LB1)), ta.lowest(low, LB1), 1)



//plot(RDirenc2,title="Resistance2", color=#f40a0afc, linewidth =2)
//plot(SDestek2,title="Support2", color=#0eed0e, linewidth = 2)

//colors=if(close>RDirenc, color= #008000,if(SDestek<close,color=#FFFF00,color=#FF0000))

aralik_yuzde_alis = ((RDirenc-SDestek)/SDestek)*100
fark = input(25.0, title="Alış Aralığı %")



aralik_yuzde_satis = ((RDirenc2-SDestek2)/SDestek2)*100
fark2 = input(45.0, title="Satış aralığı %")




buyProcess = input(0.12, "ALIM YERİ %")
//buyProcess2 = input(0.10, "ALIM YERİ-2 %")
//buyProcess3 = input(0.10, "ALIM YERİ-3 %")



buy1 = strategy.position_avg_price - (strategy.position_avg_price * buyProcess)

buy2 = buy1 - (strategy.position_avg_price * buyProcess)

buy3 = buy2 - (strategy.position_avg_price * buyProcess)

buy4 = buy3 - (strategy.position_avg_price * buyProcess)



//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
isLong1 = if ta.crossover(close, SDestek) and aralik_yuzde_alis < fark 
    1
else
    0

    
isLong2 = if ta.crossover(close, SDestek) and (close <=  buy1)
    1
else
    0

isLong3 = if ta.crossover(close, SDestek) and (close <=  buy2) 
    1
else
    0

isLong4 = if ta.crossover(close, SDestek) and (close <= buy3) 
    1
else
    0



message_long_entry  = input("long entry message")
message_long_exit   = input("long exit message")


fullProfit = input(2.00, "PROFİT SATIŞ SEVİYESİ")
profit = strategy.position_avg_price * fullProfit
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

strategy.entry(id = "BUY-1", direction = strategy.long, qty = 25, when = (isLong1 and strategy.position_size == 0), alert_message = message_long_entry)
strategy.entry(id = "BUY-2", direction = strategy.long, qty = 25, when = (isLong2 and strategy.position_size == 25), alert_message = message_long_entry)
strategy.entry(id = "BUY-3", direction = strategy.long, qty = 25, when = (isLong3 and strategy.position_size == 50), alert_message = message_long_entry)
strategy.entry(id = "BUY-4", direction = strategy.long, qty = 25, when = (isLong4 and strategy.position_size == 75), alert_message = message_long_entry)



buyclose1 = if  (close >= (strategy.position_avg_price + profit)) and aralik_yuzde_satis > fark2
    close
    

strategy.exit("EXİT",qty_percent = 100, stop = buyclose1)


aritmeticClose =  strategy.position_avg_price + profit
plot(aritmeticClose, color = color.rgb(248, 5, 240), linewidth = 1, style = plot.style_linebr)