Ini BIST saham 4 peringkat kuantitatif strategi pemerolehan

Penulis:ChaoZhang, Tarikh: 2023-12-19 15:21:22
Tag:

img

Strategi pemerolehan kuantitatif saham BIST ini adalah berdasarkan pembelian empat peringkat untuk mengesan pergerakan gelombang. Ia memasuki pasaran semasa pasca manipulasi dan menjual apabila permintaan pembeli meningkat. Strategi ini sesuai untuk saham dengan turun naik yang besar, dan mencapai kawalan kos yang lebih baik melalui pembelian peringkat demi peringkat.

Prinsip Strategi

Strategi ini mula-mula mengira garis rintangan dan sokongan. Garis rintangan ditentukan oleh persimpangan harga dekat dan purata bergerak berayun harga tinggi, sementara garis sokongan ditentukan oleh persimpangan harga dekat dan purata bergerak berayun harga rendah.

Apabila harga memecahkan di bawah garis sokongan, jika harga berada dalam julat pembelian yang ditetapkan dari garisan rintangan, ia akan membeli 25% kedudukan dalam peringkat pertama. Kemudian ia akan membeli 25% lagi kedudukan di sekitar harga beli pertama, dan seterusnya selama 4 kali, akhirnya memegang 100% kedudukan.

Apabila harga saham melebihi dua kali ganda kos pembukaan, ia akan menutup semua kedudukan.

Kelebihan Strategi

  1. Kos pembelian yang lebih rendah melalui pembelian empat peringkat
  2. Titik kemasukan yang lebih baik dengan mengesan turun naik stok
  3. Nilai keuntungan yang munasabah untuk pulangan yang baik

Risiko dan Penyelesaian

  1. Penurunan stok yang berterusan tanpa menghentikan kerugian, membawa kepada kerugian besar

    • Tetapkan stop loss yang munasabah untuk mengawal kerugian dengan berkesan
  2. Tetapan parameter yang tidak betul menjadikan beberapa titik beli terlalu dekat untuk mempelbagaikan kos

    • Tetapkan perbezaan harga yang sesuai antara peringkat pembelian
  3. Titik stop loss terlalu luas untuk mengawal kerugian secara berkesan

    • Tetapkan jarak henti yang sesuai berdasarkan persekitaran dagangan sebenar dan toleransi psikologi

Arahan pengoptimuman

  1. Sesuaikan parameter untuk pelbagai jenis stok untuk menyesuaikan ciri-ciri mereka dengan lebih baik

  2. Tambah penunjuk turun naik untuk membeli apabila turun naik meningkat

  3. Mengoptimumkan mengambil keuntungan dengan menggunakan hentian pengangkutan untuk mencapai pulangan yang lebih tinggi

  4. Tambah tetapan stop loss untuk mengurangkan kerugian apabila harga memecahkan tahap tertentu

Ringkasan

Strategi pemerolehan kuantitatif saham BIST 4 peringkat sangat sesuai untuk saham konsep yang popular secara keseluruhan. Dengan menstage pembelian, ia dapat dengan berkesan memanfaatkan turun naik saham untuk mendapatkan kos yang lebih baik apabila harga menarik balik. Juga, tetapan mengambil keuntungan dan menghentikan kerugian yang munasabah membolehkannya melakukan dengan baik dalam kawalan risiko. Dengan penyesuaian parameter berterusan dan pengoptimuman berdasarkan persekitaran pasaran sebenar, strategi ini dapat memberikan alfa dengan boleh dipercayai.


/*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)

Lebih lanjut