Gleichgewichtsdiagramm-Trendverfolgungsstrategien

Schriftsteller:ChaoZhang, Datum: 2024-02-27 16:41:02
Tags:

一目均衡图趋势追踪策略

Übersicht

Die Ichimoku Cloud Trend Following Strategy ist eine Technische Analyse-Strategie. Sie verwendet die fünf Indikatorenlinien des Gleichgewichtsdiagramms, um die Markttrendrichtung, den Unterstützungs- und Widerstandsstand und den Eintrittszeitpunkt zu bestimmen.

Grundsätze

Die Kernindikatoren der Strategie umfassen:

  1. Die Konvertierungslinie: Durchschnittswerte der letzten 9 Tage, die kurzfristige Trends widerspiegeln.
  2. Benchmark: Durchschnitt der höchsten und niedrigsten Werte der letzten 26 Tage, die mittelfristige Trends widerspiegeln.
  3. Progressive Line A: Durchschnittswert der Umschlaglinie und der Benchmarklinie, die sich am 26. Tag bewegt, um mittelfristige Unterstützung und Widerstand zu beurteilen.
  4. Progressive Line B: Durchschnittswert der letzten 52 Tage Hochs und Tiefs, verlagert sich auf den 26. Tag, um langfristige Unterstützung und Widerstand zu beurteilen.
  5. Zufällige Linie: Preisverschiebung am 26. Tag, was die Trendbewegung widerspiegelt.

Wenn die Umschaltlinie über die Referenzlinie verläuft, handelt es sich um ein Kaufsignal; wenn die Umschaltlinie über die Referenzlinie verläuft, handelt es sich um ein Verkaufssignal.

Die Strategie entscheidet über die Trendrichtung aufgrund der Beziehung zwischen der Umlauflinie und der Referenzlinie. Zum Beispiel wird ein Aufbruch der Umlauflinie über die Referenzlinie als Eintritt in mehrere Köpfe beurteilt, wobei ein Kaufsignal erzeugt wird, wenn die Bedingungen für eine Antriebslinie über dem Preis erfüllt werden.

Der Stop-Loss oder der Stop-Pump wird auf der Basis der vorherigen Linie A oder der Benchmark-Linie gesetzt. Wenn ein Stop-Loss auf der Benchmark-Linie gewählt wird, wird der Preis ausgeglichen, wenn er über die Benchmark-Linie fällt.

Stärkenanalyse

Die Strategie hat folgende Vorteile:

  1. Die Angabe von Daten über die Anzahl der Personen, die in der Gruppe waren, wurde von den Befragten durchgeführt.
  2. Die Vorläufer können Unterstützung und Widerstand im Voraus bestimmen.
  3. Der Trend wird durch die Antriebssträhne verifiziert, um falsche Durchbrüche zu verhindern.
  4. Die Benchmarks dienen als mittelfristiger und längerfristiger Trendindikator, um den Handel zu reduzieren.

Risiken und Optimierungen

Die größte Gefahr dieser Strategie besteht darin, dass sie leicht zu falschen Signalen führt.

  1. Anpassung der Durchschnittszyklusparameter, Optimierung der Sensitivität der Indikatoren.
  2. Zusätzliche Indikatoren oder Grafikfilter wie MACD, Brainstorming.
  3. Das bedeutet, dass die Frequenz der Transaktionen reduziert wird und dass die Trendquoten auf der mittleren und langen Linie verfolgt werden.

Zusammenfassung

Die erste Balance-Chart-Strategie ist eine umfassende Multi-Indikator-Strategie, die die Marktbewegung beurteilt und sowohl kurzfristige als auch mittelfristige Trends berücksichtigt.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Ichimoku Cloud - BitBell", shorttitle="Ichimoku Cloud - BitBell", overlay=true)
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length")
displacement = input.int(26, minval=1, title="Lagging Span")
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = math.avg(conversionLine, baseLine)
leadLine1bbbbb = math.avg(conversionLine, baseLine)[displacement - 1]
plot(leadLine1bbbbb)
leadLine2 = donchian(laggingSpan2Periods)
leadLine2bbbbbb = donchian(laggingSpan2Periods)[displacement - 1]
plot(leadLine2bbbbbb)

support = leadLine1bbbbb > leadLine2bbbbbb
Resistance = leadLine1bbbbb < leadLine2bbbbbb


TrailStop = input.string(title='Choose Trail Line', options=["ConversionLine", "BaseLine"], defval="ConversionLine")





var stopLong = 0.0
var stopShort = 0.0
var TagetLong = 0.0
var TargetShort = 0.0


if close > leadLine1bbbbb and close > leadLine2bbbbbb and conversionLine[1] <= baseLine[1] and conversionLine > baseLine and close > conversionLine and support
	strategy.entry("Long",strategy.long)
	stopLong := conversionLine
// if close < stopLong and strategy.position_size > 0 
// 	strategy.close("Long")
// 	stopLong := 0.0
if (close < conversionLine and strategy.position_size > 0) and (TrailStop == 'ConversionLine')
	strategy.close("Long")
	stopLong := 0.0
if (close < baseLine and strategy.position_size > 0) and (TrailStop == 'BaseLine')
	strategy.close("Long")
	stopLong := 0.0

if close < leadLine1bbbbb and close < leadLine2bbbbbb and conversionLine[1] >= baseLine[1] and conversionLine < baseLine and close < conversionLine and Resistance
	strategy.entry("Short",strategy.short)
	stopShort := conversionLine
// if close > stopShort and strategy.position_size < 0 
// 	strategy.close("Short")
// 	stopShort := 0.0
if (close > conversionLine and strategy.position_size < 0) and (TrailStop == 'ConversionLine')
	strategy.close("Short")
	stopShort := 0.0
if (close > baseLine and strategy.position_size < 0) and (TrailStop == 'BaseLine')
	strategy.close("Short")
	stopShort := 0.0
// if close >= 1.0006 * strategy.position_avg_price and strategy.position_size > 0 
// 	strategy.close("Long")
// 	stopLong := 0.0
plot(conversionLine, color=#2962FF, title="Conversion Line")
plot(baseLine, color=#B71C1C, title="Base Line")
plot(close, offset = -displacement + 1, color=#43A047, title="Lagging Span")
p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7,
	 title="Leading Span A")
p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A,
	 title="Leading Span B")
plot(leadLine1 > leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Upper Line", display = display.none) 
plot(leadLine1 < leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Lower Line", display = display.none) 
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))

Weitere Informationen