
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.
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.
Harga saham terus jatuh, tidak dapat menghentikan kerugian, dan boleh menyebabkan kerugian besar
Parameter yang tidak betul, beberapa titik pembelian terlalu dekat, tidak dapat mencapai kesan penyebaran kos
Tetapan titik henti terlalu besar untuk mengawal kerugian
Parameter penyesuaian mengikut jenis saham yang berbeza untuk membuat kawasan pembelian lebih sesuai dengan ciri-ciri saham
Menambahkan Indeks Kadar Fluktuasi untuk Membeli Apabila Fluktuasi Meningkat
Optimumkan kaedah penangguhan, dan dapatkan keuntungan yang lebih tinggi daripada menjejaki penangguhan
Tambah seting stop loss untuk menghentikan kerugian apabila harga menembusi satu tahap ke bawah
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.
/*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)