Handelsstrategie für den Balance Line PSAR-Indikator


Erstellungsdatum: 2023-09-12 15:16:17 zuletzt geändert: 2023-09-12 15:16:17
Kopie: 1 Klicks: 915
1
konzentrieren Sie sich auf
1617
Anhänger

Diese Strategie kombiniert die Verwendung von Gleichgewichtslinie-Grafiken und PSAR-Indikatoren, um Trendurteile zu treffen und Handelssignale zu erzeugen. Die Strategie nutzt die Geräuschdämpfung der Gleichgewichtslinie, die mit den PSAR-Indikatoren zusammenarbeitet, um Trendwendepunkte zu ermitteln und die mittleren und langen Trends zu erfassen.

Die Strategie:

  1. Berechnen Sie den Eröffnungs- und Schlusskurs, den Höchstkurs und den Tiefkurs der Gleichgewichtslinie.

  2. Mehrkopf- und Hohlkopftrends werden anhand der Farbe der Gleichgewichtslinie-Einheit beurteilt.

  3. Berechnen Sie den PSAR-Indikator, um eine Trendwende zu bestimmen, wenn er von oben nach unten oder von unten nach oben durchbricht.

  4. Wenn die Gleichgewichtslinie mehrere Enden hat, wird die PSAR nach unten brechen; wenn die Gleichgewichtslinie leer ist, wird die PSAR nach oben brechen.

  5. PSAR passt sich an neue Höhen und Tiefen und Beschleunigungsfaktoren an.

Die Vorteile der Strategie:

  1. Gleichgewichtslinie filtert Geräusche, PSAR erfasst Umkehrungen. Kombination erhöht die Genauigkeit.

  2. Die PSAR-Parameter sind anpassungsfähig und können auf Marktveränderungen reagieren.

  3. Die Regeln sind klar und leicht zu bedienen, was die Optimierung der Parameter erleichtert.

Die Risiken dieser Strategie:

  1. Die Gleichgewichtslinie und die PSAR sind hinterher und können die besten Einstiegspunkte verpassen.

  2. Bei einem schwingenden Trend ist ein PSAR leicht zu Fehlsignalen geeignet.

  3. Die Risiken von Umkehrgeschäften werden durch eine strenge Vermögensverwaltung abgesichert.

Zusammenfassend lässt sich sagen, dass die Strategie die großen Trends anhand der Gleichgewichtslinie beurteilt, spezifische Eintrittspunkte identifiziert und Trend-Tracking-Operationen durchführt. Rückstandsprobleme und das Risiko einer falschen Umkehr sind zu beachten, aber durch Optimierung können langfristige stabile Renditen erzielt werden.

Strategiequellcode
/*backtest
start: 2023-08-12 00:00:00
end: 2023-09-11 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("QuantNomad - Heikin-Ashi PSAR Strategy", shorttitle = "HA-PSAR[QN]", overlay = false)

////////////
// INPUTS //

start      = input(0.02, title = "PSAR Start")
increment  = input(0.02, title = "PSAR Increment")
maximum    = input(0.2,  title = "PSAR Max")

start_year  = input(2018, 'Start Year',  input.integer)
start_month = input(1,    'Start Month', input.integer)
start_day   = input(1,    'Start Day',   input.integer)

end_year  = input(2100, 'End Year',  input.integer)
end_month = input(1,    'End Month', input.integer)
end_day   = input(1,    'End Day',   input.integer)

date_start = timestamp(start_year, start_month, start_day, 00, 00)
date_end   = timestamp(end_year,   end_month,   end_day,   00, 00)

// if time is in correct period
time_cond = time >= date_start and time <= date_end

// Calculation HA Values 
haopen  = 0.0
haclose = (open + high + low + close) / 4
haopen := na(haopen[1]) ? (open + close) / 2 : (haopen[1] + haclose[1]) / 2
hahigh  = max(high, max(haopen, haclose))
halow   = min(low,  min(haopen, haclose))

// HA colors
hacolor = haclose > haopen ? color.green : color.red

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 haclose <= psar[1] // PSAR switches from long to short
sar_short_to_long = trend_dir[1] == -1 and haclose >= 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 haclose[1] > haopen[1] ? 1 : 
   barstate.isfirst[1] and haclose[1] <= haopen[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 hahigh > ep[1]) or  
   (trend_dir == -1 and low < ep[1]) ? 
   min(maximum, af[1] + increment) : 
   af[1]

// Calculate extreme point
ep := trend_change and trend_dir == 1 ? hahigh :  
   trend_change and trend_dir == -1 ? halow : 
   trend_dir == 1 ? max(ep[1], hahigh) : 
   min(ep[1], halow)

// Calculate PSAR
psar := barstate.isfirst[1] and haclose[1] > haopen[1] ? halow[1] : 
   barstate.isfirst[1] and haclose[1] <= haopen[1] ? hahigh[1] : 
   trend_change ? ep[1] :    
   trend_dir == 1 ? psar[1] + af * (ep - psar[1]) : psar[1] - af * (psar[1] - ep) 

plotcandle(haopen, hahigh, halow, haclose, title = "HA", color = hacolor)
plot(psar, style=plot.style_cross, color=trend_dir == 1 ? color.green : color.red,  linewidth = 2)

// Strategy
strategy.entry("long",  true,  when = sar_short_to_long and time_cond)
strategy.entry("short", false, when = sar_long_to_short and time_cond)