Vierstufige quantitative BIST-Aktienakquisitionsstrategie


Erstellungsdatum: 2023-12-19 15:21:22 zuletzt geändert: 2023-12-19 15:21:22
Kopie: 0 Klicks: 560
1
konzentrieren Sie sich auf
1619
Anhänger

Vierstufige quantitative BIST-Aktienakquisitionsstrategie

Überblick

Die vierstufige BIST-Aktien-Quantitative-Acquisition-Strategie ist eine Strategie, bei der die Volatilität in vier Phasen gekauft wird, in Bereichen gekauft wird, in denen der Markt in Schwierigkeiten ist, und in Bereichen verkauft wird, in denen die Börsen gestiegen sind. Die Strategie ist für Aktien mit erheblicher Volatilität geeignet, um durch die Teilnahme an den Kosten eine bessere Kontrolle zu erzielen.

Strategieprinzip

Die Strategie berechnet zunächst die Widerstands- und die Unterstützungslinie. Die Widerstandslinie wird durch die Kreuzung der Schwingungsmittellinie mit dem Hochpreis und dem Schließungspreis bestimmt, die Unterstützung durch die Kreuzung der Schwingungsmittellinie mit dem Schließungspreis und dem Tiefpreis.

Wenn der Preis unter die Unterstützung fällt, wird ein Kauf von 25% der Positionen in der ersten Stufe getätigt, wenn der Preis von der Widerstandslinie innerhalb des eingestellten Kaufbereichs liegt. In der Nähe des Kaufpreises in der ersten Stufe wird dann ein erneuter Kauf von 25% der Positionen getätigt.

Wenn der Aktienpreis das Doppelte der Eröffnungskosten übersteigt, wird der vollständige Ausstieg durchgeführt.

Strategische Vorteile

  1. Vierfacher Einkauf reduziert Einkaufskosten
  2. Aktienfluktuationen zu verfolgen, um bessere Einstiegspunkte zu erreichen
  3. Der Ausfall ist vernünftig und bringt bessere Gewinne

Risiken und Lösungen

  1. Die Aktienpreise fallen weiter und können nicht aufhören zu verlieren, was zu größeren Verlusten führen könnte.

    • Rationales Setzen von Stop-Loss-Linien und effektive Kontrolle von Verlusten
  2. Fehlende Parameter, mehrere Kaufpunkte zu nahe beieinander, keine Kostenverteilung möglich

    • Preisdifferenzen zwischen den Kaufphasen vernünftigerweise festlegen
  3. Der Stop-Loss-Punkt ist zu groß, um die Verluste effektiv zu kontrollieren.

    • Setzen Sie einen geeigneten Stop-Loss-Abstand, basierend auf der realen Handelsumgebung und der psychologischen Belastbarkeit

Richtung der Strategieoptimierung

  1. Anpassung der Parameter an die verschiedenen Arten von Aktien, um den Kaufbereich besser an die Merkmale der Aktie anzupassen

  2. Hinzufügen von Volatilitätsindikatoren und Kauf bei steigender Volatilität

  3. Optimierung von Stop-Off-Methoden, statt Stop-Off-Verfolgung, für höhere Erträge

  4. Erhöhung der Stop-Loss-Line-Einstellung, um Verluste zu stoppen, wenn der Preis eine bestimmte Ebene nach unten überschreitet

Zusammenfassen

Die vierstufige BIST-Aktien-Quantitative-Acquisition-Strategie ist im Allgemeinen eine Strategie, die sich sehr gut für populäre Konzeptaktien eignet. Durch die Gruppengründung ist es möglich, die Volatilität der Aktien effektiv zu nutzen und bessere Kosten zu erzielen, wenn die Preise zurückgehen. Gleichzeitig macht die vernünftige Stop-and-Loss-Einstellung die Strategie auch besser in der Risikokontrolle.

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