Diese Strategie kombiniert die bilateralen Handelssignale der TSI mit verbesserten CCI-Indikatoren und verfolgt einen Absicherungsansatz bei häufig geöffneten und geschlossenen Positionen, um kontinuierlich stabilere Gewinne zu erzielen. Die Schlüssellogik ist das goldene Kreuz und das tote Kreuz der schnellen und langsam gleitenden Durchschnitte des TSI-Indikators, kombiniert mit den Kauf- und Verkaufssignalen des HMACCI-Indikators, um die Marktrichtung zu bestimmen. Die Risiken werden durch Begrenzung der Eröffnungsbedingungen kontrolliert, während Stop-Loss- und Take-Profit-Logiken festgelegt werden.
Die Strategie beruht hauptsächlich auf der Kombination der TSI und der HMACCI-Indikatoren.
Der HMACCI-Indikator basiert auf dem traditionellen CCI-Indikator, bei dem anstelle des Preises selbst der Hull Moving Average verwendet wird, der ein gewisses Rauschen ausfiltern und überkaufte und überverkaufte Zonen beurteilen kann.
Die wichtigste Logik der Strategie besteht darin, die Beurteilungen dieser beiden Indikatoren zu kombinieren und bestimmte zusätzliche Bedingungen festzulegen, um falsche Signale auszufiltern, wie z. B. die Prüfung des Schlusskurses der vorherigen Barren sowie der Höchst- und Mindestpreise über mehrere Perioden hinweg, um die Qualität der Umkehrsignale zu kontrollieren.
Bei der Eröffnung von Positionen werden bei Erfüllung der Bedingungen bei jedem Schließen der Bar Marktordnungen platziert, die sowohl lang als auch kurz gehen.
Für Take Profit und Stop Loss werden schwebende Stop Loss und Schließung aller Aufträge bei Erreichen des Zielprofits festgelegt.
Dies ist eine relativ stabile und zuverlässige Hochfrequenz-Hedging-Strategie.
Die wichtigsten Risiken sind:
Die Risiken können verringert werden, indem:
Es gibt noch viel Raum für die Optimierung dieser Strategie, vor allem:
Insgesamt ist diese Strategie eine stabile, zuverlässige Absicherungsstrategie mit hoher Fehlerverträglichkeit. Sie kombiniert Trend- und Umkehrindikatoren und erzielt durch häufigen dualem Richtungshandel eine stetige Rendite. Außerdem hat die Strategie selbst ein starkes Optimierungspotenzial und stellt eine lohnende Hochfrequenz-Handelsidee dar, um weiter zu recherchieren.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the suns bipolarity //©SeaSide420 //@version=4 strategy(title="TSI HMA CCI", default_qty_type=strategy.cash,default_qty_value=1000,commission_type=strategy.commission.percent,commission_value=0.001) long = input(title="TSI Long Length", type=input.integer, defval=25) short = input(title="TSI Short Length", type=input.integer, defval=25) signal = input(title="TSI Signal Length", type=input.integer, defval=13) length = input(33, minval=1, title="HMACCI Length") src = input(open, title="Price Source") ld = input(50, minval=1, title="Line Distance") CandlesBack = input(8,minval=1,title="Candles Look Back") StopLoss= input(3000,minval=1, title="Stop Loss") TargetProfitAll= input(3000,minval=1, title="Target Profit Close All") FromMonth=input(defval=1,title="FromMonth",minval=1,maxval=12) FromDay=input(defval=1,title="FromDay",minval=1,maxval=31) FromYear=input(defval=2020,title="FromYear",minval=2020) ToMonth=input(defval=1,title="ToMonth",minval=1,maxval=12) ToDay=input(defval=1,title="ToDay",minval=1,maxval=31) ToYear=input(defval=9999,title="ToYear",minval=2017) start=timestamp(FromYear,FromMonth,FromDay,00,00) finish=timestamp(ToYear,ToMonth,ToDay,23,59) window()=>true ul = (ld) ll = (ld-ld*2) ma = hma(src, length) cci = (src - ma) / (0.015 * dev(src, length)) price = close double_smooth(src, long, short) => fist_smooth = ema(src, long) ema(fist_smooth, short) pc = change(price) double_smoothed_pc = double_smooth(pc, long, short) double_smoothed_abs_pc = double_smooth(abs(pc), long, short) tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)*10 tsi_value2=ema(tsi_value/10, signal)*10 cc = color.white ct = color.new(color.gray, 90) if cci<ll or cci[1]<ll cc:=color.red if cci>ul or cci[1]>ul cc:=color.green if cci<ul and cci>ll cc:=color.new(color.yellow, 90) ccc = color.white if cci>ul ccc:=color.green if cci<cci[1] and cci<ul and cci>ll ccc:=color.red if cci<ll ccc:=color.red if cci>cci[1] and cci>ll and cci<ul ccc:=color.green tsiplot= plot(tsi_value, color=color.lime) tsiplot2=plot(tsi_value2, color=color.red) colorchange2 =tsi_value>tsi_value2?color.lime:color.orange fill(tsiplot, tsiplot2, color=colorchange2, title="TSIBackground", transp=50) band1 = hline(ul, "Upper Band 1", color=ct, linestyle=hline.style_dashed) band0 = hline(ll, "Lower Band 1", color=ct, linestyle=hline.style_dashed) fill(band1, band0, color=cc, title="MidBandBackground", transp=0) band2 = hline(ul, "Upper Band 2", color=ct, linestyle=hline.style_dashed) band3 = hline(ll, "Lower Band 2", color=ct, linestyle=hline.style_dashed) cciplot2 = plot(cci, "CCIvHMA 2", color=color.black, transp=0, linewidth=5) cciplot = plot(cci, "CCIvHMA", color=ccc, transp=0, linewidth=3) hline(0, title="Zero") hline(420, title="420") hline(-420, title="-420") fill(cciplot, cciplot2, color=ccc, title="CCIBackground", transp=0) LongCondition=cci>cci[1] and cci>ll and src>src[CandlesBack] and tsi_value>tsi_value2 ShortCondition=cci<cci[1] and cci<ul and src<src[CandlesBack] and tsi_value<tsi_value2 plotshape(LongCondition, title="BUY", style=shape.circle, location=location.top, color=color.green) plotshape(ShortCondition, title="SELL", style=shape.circle, location=location.top, color=color.red) if strategy.openprofit>TargetProfitAll strategy.close_all(when=window(),comment="close all profit target") if LongCondition and strategy.openprofit>-1 strategy.order("BUY", strategy.long,when=window()) if ShortCondition and strategy.openprofit>-1 strategy.order("SELL", strategy.short,when=window()) strategy.exit("SL exit a sell", "SELL", loss = StopLoss,when=window()) strategy.exit("SL exit a buy", "BUY", loss = StopLoss,when=window())