Эта стратегия BIST акций в четырех этапах

Автор:Чао Чжан, Дата: 2023-12-19 15:21:22
Тэги:

img

Эта стратегия количественного приобретения акций BIST на четырех этапах основана на четырехэтапной покупке для отслеживания движения волны. Она входит на рынок во время последующего манипулирования и продается, когда увеличивается спрос покупателей. Эта стратегия подходит для акций с большими колебаниями и достигает лучшего контроля затрат посредством этаповых покупок.

Принципы стратегии

Эта стратегия сначала рассчитывает линии сопротивления и поддержки. Линия сопротивления определяется пересечением ценовой линии закрытия и колеблющейся скользящей средней высокой ценой, в то время как линия поддержки определяется пересечением ценовой линии закрытия и колеблющейся скользящей средней низкой ценой.

Когда цена проходит ниже линии поддержки, если цена находится в пределах установленного диапазона покупки от линии сопротивления, она будет покупать 25% позиции на первом этапе. Затем она будет покупать еще 25% позиции вокруг первой цены покупки и так далее в течение 4 раз, в конечном итоге удерживая 100% позиции.

Когда цена акции превысит в два раза стоимость открытия, она закрывает все позиции.

Преимущества стратегии

  1. Снижение затрат на покупку за счет четырёхэтапных закупок
  2. Лучшие точки входа путем отслеживания колебаний запасов
  3. Разумный уровень прибыли для достойной доходности

Риски и решения

  1. Продолжающееся сокращение запасов без остановки потерь, что приводит к большим потерям

    • Установка разумного стоп-лосса для эффективного контроля потерь
  2. Неправильное настройка параметров делает несколько точек покупки слишком близкими для диверсификации затрат

    • Установление соответствующих различий в ценах между этапами покупки
  3. Точка остановки потерь слишком широка для эффективного контроля потерь

    • Установка подходящего расстояния остановки на основе фактической торговой среды и психологической терпимости

Руководство по оптимизации

  1. Корректировка параметров для различных типов запасов для лучшего соответствия их характеристикам

  2. Добавить индикаторы волатильности для покупки при росте волатильности

  3. Оптимизируйте получение прибыли с помощью последующей остановки для достижения более высокой доходности

  4. Добавить настройки стоп-лосса для сокращения потерь при переходе цены через определенные уровни

Резюме

Стратегия 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)

Больше