Strategi pemerolehan kuantitatif saham BIST empat peringkat


Tarikh penciptaan: 2023-12-19 15:21:22 Akhirnya diubah suai: 2023-12-19 15:21:22
Salin: 0 Bilangan klik: 560
1
fokus pada
1619
Pengikut

Strategi pemerolehan kuantitatif saham BIST empat peringkat

Gambaran keseluruhan

Strategi pembelian kuantitatif saham BIST empat peringkat adalah strategi yang menggunakan empat peringkat pembelian untuk mengesan turun naik, membeli di kawasan yang terjejas di pasaran, dan menjual di kawasan yang meningkat. Strategi ini digunakan untuk saham yang mempunyai turun naik yang besar, untuk mengawal kos yang lebih baik dengan membeli secara berturut-turut.

Prinsip Strategi

Strategi ini pertama-tama mengira garis rintangan dan garis sokongan. Garis rintangan ditentukan oleh persimpangan rata-rata pergerakan harga tinggi dan harga penutup, dan garis sokongan ditentukan oleh persimpangan rata-rata pergerakan harga penutup dan harga rendah.

Apabila harga jatuh di bawah garis sokongan, anda boleh membeli 25% kedudukan pada peringkat pertama jika harga berada dalam jarak pembelian yang ditetapkan dari garis rintangan. Kemudian, anda boleh membeli 25% kedudukan lagi berhampiran harga pembelian tahap pertama, dan mengulangi 4 kali sehingga mencapai 100% kedudukan.

Apabila harga saham melebihi dua kali ganda daripada kos pembukaan, keluar sepenuhnya dari kedudukan.

Kelebihan Strategik

  1. Pembelian empat kali untuk mengurangkan kos pembelian
  2. Menjejaki turun naik saham untuk mencapai titik masuk yang lebih baik
  3. Titik tolak yang munasabah, hasil yang lebih baik

Risiko dan Penyelesaian

  1. Harga saham terus jatuh, tidak dapat menghentikan kerugian, dan boleh menyebabkan kerugian besar

    • Tetapkan garis hentian yang munasabah dan kawal kerugian dengan berkesan
  2. Parameter yang tidak betul, beberapa titik pembelian terlalu dekat, tidak dapat mencapai kesan penyebaran kos

    • Menetapkan jurang harga yang munasabah antara peringkat pembelian
  3. Tetapan titik henti terlalu besar untuk mengawal kerugian

    • Tetapkan jarak hentian yang sesuai berdasarkan persekitaran perdagangan sebenar dan daya tahan psikologi

Arah pengoptimuman strategi

  1. Parameter penyesuaian mengikut jenis saham yang berbeza untuk membuat kawasan pembelian lebih sesuai dengan ciri-ciri saham

  2. Menambahkan Indeks Kadar Fluktuasi untuk Membeli Apabila Fluktuasi Meningkat

  3. Optimumkan kaedah penangguhan, dan dapatkan keuntungan yang lebih tinggi daripada menjejaki penangguhan

  4. Tambah seting stop loss untuk menghentikan kerugian apabila harga menembusi satu tahap ke bawah

ringkaskan

Strategi pengambilalihan kuantitatif saham BIST empat peringkat secara keseluruhan adalah strategi yang sangat sesuai untuk konsep saham yang popular. Dengan membina gudang secara berturut-turut, anda dapat memanfaatkan turun naik saham dengan berkesan dan mendapatkan kos yang lebih baik apabila harga turun. Pada masa yang sama, penyetempatan berhenti dan kerugian yang munasabah juga menjadikan strategi ini lebih baik dalam mengawal risiko.

Kod 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)