
Das Samsung System ist eine kombinierte Technologie-Trading-Strategie, die den Extended Price Volume Trend Indicator, den Dongxian Channel Indicator und den Parabolic SAR Indicator kombiniert. Die Strategie nutzt die komplementären Vorteile der drei Indikatoren, um die Richtung der Markttrends und potenzielle Kauf- und Verkaufssignale zu erkennen.
Die Strategie nutzt zunächst den Extended Price Volume Trend Indicator und den Tangxian Channel, um die Richtung der Marktentwicklung zu bestimmen. Wenn der Extended Price Volume Trend Indicator oberhalb der Basislinie liegt und der Preis über dem Tangxian Channel liegt, ist er im Aufwärtstrend; Umgekehrt ist der Extended Price Volume Trend Indicator unterhalb der Basislinie und der Preis unterhalb des Tangxian Channel unten.
Nach der Identifizierung der Richtung des Markttrends führt die Strategie die Parabola-SAR-Anzeige ein, um bestimmte Kauf- und Verkaufsmomente zu identifizieren. Wenn die Parabola-SAR-Anzeige unter dem Preis durchbricht, erzeugt sie ein Kaufsignal; wenn die Parabola-SAR-Anzeige über dem Preis durchbricht, erzeugt sie ein Verkaufsignal.
Die Strategie bestätigt die Richtung des Trends über mehrere Zeiträume, um die Signale weiter zu verifizieren und vermeidet den Einstieg in den Markt während starker Marktschwankungen. Darüber hinaus setzt die Strategie mehrere Stop-Low-Levels ein, um Gewinne zu sichern und Risiken zu kontrollieren.
Der größte Vorteil des System besteht darin, dass die Kombination von Indikatoren drei verschiedene Arten von Indikatoren verwendet, die sich gegenseitig ergänzen, um die Marktentwicklung umfassender und genauer zu beurteilen. Insbesondere sind die Hauptvorteile:
Durch die organische Kombination der Indikatoren können die Vorteile der einzelnen Indikatoren voll genutzt werden, so dass das Samsung-System die Entwicklung der großen, mittleren und langen Linien genauer beurteilen und die Kauf- und Verkaufspunkte genauer identifizieren kann, wodurch ein besseres Risiko-Gewinn-Verhältnis erzielt werden kann.
Das Gesamtrisiko ist zwar steuerbar, aber es gibt einige Risiken, die beachtet werden müssen:
In Bezug auf die oben genannten Risiken empfehlen wir, die Einstellung der Indikatorparameter entsprechend anzupassen und die Wahrscheinlichkeit zu verringern, dass ein einzelner Indikator fehlschlägt. Darüber hinaus ist ein angemessener Stop-Loss- und Positionsmanagement für die Gesamtrisikokontrolle der Strategie von entscheidender Bedeutung.
Das System hat noch Raum für weitere Optimierungen:
Durch algorithmische Parameteroptimierung, Multi-Indikator-Kombinationsurteile und Verhaltens-Quantitative-Analysen wird erwartet, dass die Rendite und Stabilität von Sanlong-Systemen weiter verbessert werden. Wir werden uns kontinuierlich auf branchenführende Technologien konzentrieren und die Strategie zur Verbesserung der Systeme ständig optimieren.
Das Sanlong-System ist eine Kombination aus technischen Indikatoren, die die Marktentwicklung und den Kauf- und Verkaufspunkt durch die Erweiterung des Preis-Menge-Trend-Indikators, des Dongxian-Kanal-Indikators und des SAR-Indikators ergänzt. Die Strategie ist präzise, risikokontrollierbar und nach mehreren Überprüfungen ein wirksames Strategie-System für mittel- und langfristige Anleger.
/*backtest
start: 2023-11-20 00:00:00
end: 2023-12-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="TRIPLE DRAGON SYSTEM", overlay=true,default_qty_type = strategy.percent_of_equity,default_qty_value=100,initial_capital=1000,pyramiding=0,commission_value=0.01)
/////////////// DRAG-ON ///// EMA'S ///////////////
emar = ta.ema(close,5)
plot(emar, color=color.blue, title="S-Fast EMA")
//EMAlengthTRF = input.int(200, minval=1,title = "EMA Filter")
//ematrf = ta.ema(close,EMAlengthTRF)
//plot(ematrf, "EMA-TREND FILTER", color=color.red,linewidth = 4)
/////////////// 1-DRAG-ON /////EXTENDED PRICE VOLUME TREND ///////////////
lenght = input(200,"EPVT - Trend Lenght")
var cumVol = 0.
cumVol += nz(volume)
if barstate.islast and cumVol == 0
runtime.error("No volume is provided by the data vendor.")
src = close
vt = ta.cum(ta.change(src)/src[1]*volume)
upx = ta.highest(vt,lenght)
downx = ta.lowest(vt,lenght)
basex = (upx +downx)/2
VTX = vt - basex
/////////////// 2-DRAG-ON ///// DON TREND ///////////////
length = input.int(200, minval=1, title = "Donchian Lenght")
lower = ta.lowest(length)
upper = ta.highest(length)
basis = math.avg(upper, lower)
updiff = upper - close
downdiff = lower - close
dontrend = -(updiff + downdiff)
xupx = ta.highest(dontrend,length) >0 ? ta.highest(dontrend,length) : 0
xdownx = ta.lowest(dontrend,length) < 0 ?ta.lowest(dontrend,length) :0
xxbasisxx = math.avg(xdownx, xupx)
inversedragup = xupx[1]
inversedragdown = xdownx[1]
inversedragon = (inversedragup+inversedragdown)/2
/////////////// 3-DRAG-ON ///// SUPER SAR-X ///////////////
start = input(0.02)
increment = input(0.02)
maximum = input(0.8)
entry_bars = input(1, title='Entry on Nth trend bar')
atr = ta.atr(14)
atr := na(atr) ? ta.tr : atr
psar = 0.0 // PSAR
af = 0.0 // Acceleration Factor
trend_dir = 0 // Current direction of PSAR
ep = 0.0 // Extreme point
trend_bars = 0
sar_long_to_short = trend_dir[1] == 1 and close <= psar[1] // PSAR switches from long to short
sar_short_to_long = trend_dir[1] == -1 and close >= psar[1] // PSAR switches from short to long
trend_change = barstate.isfirst[1] or sar_long_to_short or sar_short_to_long
// Calculate trend direction
trend_dir := barstate.isfirst[1] and close[1] > open[1] ? 1 : barstate.isfirst[1] and close[1] <= open[1] ? -1 : sar_long_to_short ? -1 : sar_short_to_long ? 1 : nz(trend_dir[1])
trend_bars := sar_long_to_short ? -1 : sar_short_to_long ? 1 : trend_dir == 1 ? nz(trend_bars[1]) + 1 : trend_dir == -1 ? nz(trend_bars[1]) - 1 : nz(trend_bars[1])
// Calculate Acceleration Factor
af := trend_change ? start : trend_dir == 1 and high > ep[1] or trend_dir == -1 and low < ep[1] ? math.min(maximum, af[1] + increment) : af[1]
// Calculate extreme point
ep := trend_change and trend_dir == 1 ? high : trend_change and trend_dir == -1 ? low : trend_dir == 1 ? math.max(ep[1], high) : math.min(ep[1], low)
// Calculate PSAR
psar := barstate.isfirst[1] and close[1] > open[1] ? low[1] : barstate.isfirst[1] and close[1] <= open[1] ? high[1] : trend_change ? ep[1] : trend_dir == 1 ? psar[1] + af * atr : psar[1] - af * atr
//////////////// MELODY ///////////////////
VTY = ta.valuewhen(ta.cross(VTX,0),close,0)
//plot(VTY, color=color.black, title="Extended-PVT")
//DONTRENDX = ta.valuewhen(ta.cross(dontrend,0),close,0)
//plot(DONTRENDX, color=color.red, title="DONCHIAN TREND")
SSARX = ta.valuewhen(ta.cross(psar,close),close,0)
//plot(SSARX, color=color.black, title="SSAR-X")
MAXDRAG = math.max(SSARX,VTY)
//plot(MAXDRAG, color=color.black, title="MAX DRAG")
MINDRAG = math.min(SSARX,VTY)
//plot(MINDRAG, color=color.black, title="MIN DRAG")
BASEDRAG = math.avg(MAXDRAG,MINDRAG)
//plot(BASEDRAG, color=color.red, title="BASE DRAG")
/////BUY AND SELL LOGIC ///////////
DRAGONBUY = (ta.crossover(close,MAXDRAG) or ta.crossover(close,MINDRAG) )
DRAGONBUYSTOP = (ta.crossunder(close,MAXDRAG) or ta.crossunder(close,MINDRAG))
DRAGONBUYPLOT = ta.valuewhen(DRAGONBUY==true,close,0)
plot(DRAGONBUYPLOT, color=color.red, title="BUY LINE")
DRAGONSELL = (ta.crossunder(close,MAXDRAG) or ta.crossunder(close,MINDRAG) )
DRAGONSELLSTOP = (ta.crossover(close,MAXDRAG) or ta.crossover(close,MINDRAG))
DRAGONSELLPLOT = ta.valuewhen(DRAGONSELL==true,close,0)
plot(DRAGONSELLPLOT, color=color.red, title="SELL LINE")
/////TAKE PROFIT LOGIC ///////////
tp1 = input.int(5, minval=1,title = "TP-1")
tp2 = input.int(10, minval=1,title = "TP-2")
tp3 = input.int(15, minval=1,title = "TP-3")
TPTAKA1B = DRAGONBUYPLOT*(1+tp1/100)
//plot(TPTAKA1B, "BUY-TP1", color=color.red,linewidth = 1)
TPTAKA2B = DRAGONBUYPLOT*(1+tp2/100)
//plot(TPTAKA2B, "BUY-TP2", color=color.red,linewidth = 1)
TPTAKA3B = DRAGONBUYPLOT*(1+tp3/100)
//plot(TPTAKA3B, "BUY-TP3", color=color.red,linewidth = 1)
TPTAKA1S = DRAGONSELLPLOT*(1-tp1/100)
//plot(TPTAKA1S, "SELL-TP1", color=color.red,linewidth = 1)
TPTAKA2S = DRAGONSELLPLOT*(1-tp2/100)
//plot(TPTAKA2S, "SELL-TP2", color=color.red,linewidth = 1)
TPTAKA3S = DRAGONSELLPLOT*(1-tp3/100)
//plot(TPTAKA3S, "SELL-TP3", color=color.red,linewidth = 1)
BUYTP = ta.crossunder(emar,TPTAKA1B) or ta.crossunder(emar,TPTAKA2B) or ta.crossunder(emar,TPTAKA3B)
SELLTP = ta.crossover(emar,TPTAKA1B) or ta.crossover(emar,TPTAKA2B) or ta.crossover(emar,TPTAKA3B)
/////STRATEGY ///////////
// Enter condition
longCondition = DRAGONBUY==true
if longCondition
strategy.entry('Long', strategy.long, comment = "ENTER-LONG")
// Exit condition
strategy.close('Long', when=DRAGONBUYSTOP, comment = "EXIT-LONG")
// Enter condition
ShortCondition = DRAGONSELL
if ShortCondition
strategy.entry('Short', strategy.short, comment = "ENTER-SHORT")
// Exit condition
strategy.close('Short', when=DRAGONSELLSTOP, comment = "EXIT-SHORT")
///// END OF STRATEGY ///////////