
Diese Strategie ist bekannt als die Binäre Breakout-Strategie der Quantitative Trading-Strategie. Die Hauptidee dieser Strategie ist die Verwendung von Kreuzungen von schnellen und langsamen Moving Averages, um die Preisentwicklung zu beurteilen und die Kauf- und Verkaufsentscheidungen zu treffen.
Die Kernindikatoren der Strategie sind die schnellen und langsamen Moving Averages. Die Strategie nutzt die Kreuzung der schnellen und langsamen Moving Averages, um die Preisentwicklung zu beurteilen und damit Kauf- und Verkaufsentscheidungen zu treffen.
Insbesondere ist der Fast Moving Average Parameter auf 24 Zyklen und der Slow Moving Average Parameter auf 100 Zyklen eingestellt. Wenn der Fast Moving Average von unten den Slow Moving Average kreuzt, bedeutet dies, dass der Preis in einen Aufwärtstrend eingetreten ist, und die Strategie gibt ein Kaufsignal aus. Wenn der Fast Moving Average von oben nach unten den Slow Moving Average kreuzt, bedeutet dies, dass der Preis in einen Abwärtstrend eingetreten ist, und die Strategie gibt ein Verkaufssignal aus.
Auf diese Weise kann man die Veränderung der Preisentwicklung effektiv erfassen und die Kauf- und Verkaufsentscheidungen unterstützen, indem man die Querrichtung des schnellen und langsamen Moving Averages beurteilt.
Diese Strategie hat folgende Vorteile:
Das Prinzip ist einfach zu verstehen und zu implementieren. Die Doppel-Einheitliche-Linien-Kreuzung ist eine der grundlegendsten technischen Kennzahlen, die leicht zu verstehen und anzuwenden ist.
Die Parameter für schnelle und langsame Moving Averages können an die tatsächlichen Bedingungen angepasst werden, um die Strategie flexibler zu machen.
Die Fähigkeit, Trendänderungen zu erfassen, ist sehr hoch. Die doppelte Gleichgewichtskreuzung wird häufig verwendet, um die Wendepunkte zu erfassen, an denen der Preis von der Bilanzierung in die Trendrichtung übergeht.
Sie können Erschütterungen effektiv filtern und ungültige Geschäfte reduzieren. Die doppelte Gleichung kann verwendet werden, um Erschütterungsbereiche zu erkennen und die Wiederholung von Positionen während der Erschütterung zu vermeiden.
Die Strategie birgt auch einige Risiken:
Bei einer doppelten Gleichlauf-Kreuzung kann es zu Verzögerungen kommen. Bei einer doppelten Gleichlauf-Kreuzung, die als Trendverfolgungs-Indikator verwendet wird, kann es zu einer bestimmten Zeitdauer kommen. Dies kann zu einem gewissen Grad an Opportunitätskosten führen.
In einem schwankenden Markt kann es leicht zu falschen Signalen kommen. Die optimale Bilanz für die Gleichgewichtslinie ist, wenn ein deutlicher Preistrend vorliegt. In einem schwankenden Markt kann es jedoch leicht zu häufigen falschen Signalen kommen.
Eine falsche Einstellung der Parameter kann die Strategie-Performance beeinträchtigen. Eine falsche Einstellung der Parameter für die schnelle und langsame Durchschnittslinie kann die Empfindlichkeit beeinträchtigen, um eine Trendkreuzung zu erfassen.
Entsprechende Lösungen:
Um die Sensitivität des Kreuzsignals zu erhöhen, wird die Durchschnittslinie-Periode entsprechend verkürzt.
Filterung durch die Einbeziehung von Volatilitäts- oder Volumenindikatoren, um unwirksame Transaktionen unter schwankenden Märkten zu reduzieren.
Parameteroptimierung, die Suche nach der optimalen Kombination von Parametern.
Die Strategie kann optimiert werden durch:
Die Verwendung von fortgeschrittenen Moving-Average-Indikatoren wie linear gewichteten Moving-Averages ersetzt einfache Moving-Averages und verbessert die Tracking- und Prognosefähigkeit der Indikatoren.
Zusätzliche Indikatoren, wie z. B. die Anzahl der Kunden, die Schwankungen usw., werden zusammen gefiltert, um die Wirkungslosigkeit zu verringern.
Optimierung der schnellen und langsamen Durchschnittsparameter zur Verbesserung der Parameteradaptivität. Optimale Parameter können durch Methoden wie maschinelles Lernen und Zufallsoptimierung gefunden werden.
Nach der Einführung der Strategie können Stop-Loss-Punkte und mobile Stop-Loss-Punkte entwickelt werden, um einzelne Verluste zu kontrollieren. Die Einbeziehung von Profit-Optimierungstechniken stellt sicher, dass ausreichend Profit erzielt wird.
Neue Technologien wie Deep Learning können dazu genutzt werden, um komplexere Preismodelle zu erkennen und die Kauf- und Verkaufsentscheidungen im Rahmen von Linear-Crossing zu unterstützen, um bessere Ergebnisse zu erzielen.
Diese Strategie ist im Allgemeinen eher klassisch und einfach, basierend auf zwei Gleichgewichtsindikatoren, um die Preisentwicklung zu beurteilen, um die Chance zu finden, dass der Preis von der Erschütterung in eine Tendenz übergeht. Die Vorteile sind klar, einfach und praktisch, geeignet für die Verfolgung von Trendbewegungen. Aber es gibt auch einige Mängel, wie Signalverzögerung, die die Stabilität und die Effizienz der Strategie durch Parameteranpassung und Optimierung verbessern müssen.
/*backtest
start: 2024-01-21 00:00:00
end: 2024-02-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy('Pine Script Tutorial Example Strategy 1', overlay=true, initial_capital=100000, default_qty_value=100, default_qty_type=strategy.percent_of_equity)
//OBV
src = close
obv = ta.cum(math.sign(ta.change(src)) * volume)
ma(source, length, type) =>
switch type
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
typeMA = input.string(title = "Method", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Smoothing")
smoothingLength = input.int(title = "Length", defval = 20, minval = 1, maxval = 100, group="Smoothing")
Limit = input.float(title = "Limit", defval = 1, minval = 0.1, maxval = 10, group="Smoothing")
smoothingLine_ma = ma(obv,smoothingLength, typeMA)
obv_diff = (obv-smoothingLine_ma)*100/obv
//PVT
var cumVolp = 0.
cumVolp += nz(volume)
if barstate.islast and cumVolp == 0
runtime.error("No volume is provided by the data vendor.")
srcp = close
vt = ta.cum(ta.change(srcp)/srcp[1]*volume)
smoothingLine_map = ma(vt,smoothingLength, typeMA)
pvt_diff = (vt-smoothingLine_map)*100/vt
// plot(obv_diff+close+100 ,title="OBV_DIFF", color = color.rgb(255, 118, 54))
// plot(pvt_diff+close+80 ,title="PVT_DIFF", color = color.rgb(223, 61, 255))
indicator = (pvt_diff+obv_diff)/2
goLongCondition1 = ta.crossover(indicator,Limit)
timePeriod = time >= timestamp(syminfo.timezone, 2023,1, 1, 0, 0) // Backtesting Time
notInTrade = strategy.position_size <= 0
if goLongCondition1 and timePeriod and notInTrade
stopLoss = low * 0.99 // -2%
takeProfit = high * 1.05 // +5%
strategy.entry('long', strategy.long )
strategy.exit('exit', 'long', stop=stopLoss, limit=takeProfit)
// fastEMA = ta.ema(close, 24)
// slowEMA = ta.ema(close, 100)
// goLongCondition1 = ta.crossover(fastEMA, slowEMA)
// timePeriod = time >= timestamp(syminfo.timezone, 2018, 12, 15, 0, 0)
// notInTrade = strategy.position_size <= 0
// if goLongCondition1 and timePeriod and notInTrade
// stopLoss = low * 0.97
// takeProfit = high * 1.12
// strategy.entry('long', strategy.long)
// strategy.exit('exit', 'long', stop=stopLoss, limit=takeProfit)
// plot(fastEMA, color=color.new(color.blue, 0))
// plot(slowEMA, color=color.new(color.yellow, 0))