이 BIST 주식 4단계 양적 인수 전략은 파동 움직임을 추적하기 위해 4단계 구매를 기반으로합니다. 조작 후 시장에 진출하고 구매자의 수요가 증가하면 판매합니다. 이 전략은 큰 변동이있는 주식에게 적합하며 단계별 구매를 통해 더 나은 비용 통제를 달성합니다.
이 전략은 먼저 저항선과 지지선을 계산합니다. 저항선은 닫힌 가격과 높은 가격의 변동 평균의 교차로 결정되며, 지원선은 닫힌 가격과 낮은 가격의 변동 평균의 교차로 결정됩니다.
가격이 지지선 아래로 넘어가면, 만약 가격이 저항선에서 설정된 구매 범위 안에 있다면, 첫 번째 단계에서 25%의 포지션을 구매할 것입니다. 그 다음 첫 번째 구매 가격 주위에서 또 다른 25%의 포지션을 구매할 것입니다. 그리고 4번 계속하여, 결국 포지션의 100%를 보유합니다.
주가가 개설비의 2배를 넘으면 모든 포지션을 종료합니다.
손실을 멈추지 않고 계속된 재고 감소, 큰 손실로 이어집니다.
부적절한 매개 변수 설정은 여러 구매 지점을 너무 가깝게 만들어 비용을 다양화시킵니다.
손실을 효과적으로 제어할 수 없을 정도로 큰 스톱 손실점
다른 종류의 조류에 대한 매개 변수를 그들의 특성에 더 잘 맞추기 위해 조정
변동성이 증가할 때 구매하기 위해 변동성 지표를 추가합니다.
더 높은 수익을 달성하기 위해 후속 정지를 사용하여 수익을 최적화
가격이 특정 수준을 넘을 때 손실을 줄이기 위해 스톱 로스 설정을 추가합니다.
BIST 주식 4단계 양적 인수 전략은 일반적으로 인기있는 개념 주식에 적합합니다. 구매를 단계화함으로써 가격이 후퇴 할 때 더 나은 비용을 얻기 위해 주식의 변동성을 효과적으로 활용 할 수 있습니다. 또한 합리적인 수익 및 스톱 손실 설정으로 위험 통제에서 잘 수행 할 수 있습니다. 실제 시장 환경에 기반한 지속적인 매개 변수 조정 및 최적화로이 전략은 알파를 안정적으로 제공할 수 있습니다.
/*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)