Trendfolgestrategie basierend auf Ichimoku Kinko Hyo


Erstellungsdatum: 2023-10-12 17:29:46 zuletzt geändert: 2023-10-12 17:29:46
Kopie: 0 Klicks: 665
1
konzentrieren Sie sich auf
1617
Anhänger

Überblick

Die Strategie verwendet die Conversion Line, die Base Line und die Front- und Back-Line der Liniewolke in der Ichimoku Kinko Hyo-Indikator, um die Trendrichtung der Preise zu erkennen und den Trend zu verfolgen. Wenn der Preis den Cloud-Top durchbricht, ist er überschüssig, wenn er den Cloud-Boden durchbricht, ist er leer und erreicht den Standort für die Gewinnquote und den Standort für die Verlustquote.

Strategieprinzip

Die Strategie basiert hauptsächlich auf folgenden Ichimoku-Kennzeichen:

  • Conversion Line (Tenkan-sen): Umrechnungslinie, die den kurzfristigen Trend darstellt und den Mittelwert der Höchst- und Tiefstpreise für 9 Perioden darstellt
  • Basislinie (Kijun-sen): Basislinie, die den mittleren Trend darstellt und den Durchschnitt der Höchst- und Tiefstpreise für 26 Perioden darstellt
  • Leading Span A (Senkou Span A): Leading Span A, der Mittelwert zwischen der Übergangslinie und der Referenzlinie
  • Leading Span B (Senkou Span B): Leading Span B, der Durchschnitt der Höchst- und Tiefstpreise für 52 Perioden

Wenn der Preis nach oben durch die vordere Linienwolke geht, machen Sie mehr; wenn der Preis nach unten durch die vordere Linienwolke geht, machen Sie frei. ConfigEntry und ExitReason eröffnen Positionen, wenn sie die Wolkenoberfläche und die Wolkenoberfläche durchbrechen, und legen die Positionen ab, wenn die Gewinn- und Verlustquote erreicht wird.

Analyse der Stärken

  • Mit dem Ichimoku-Indikator Trends erkennen, um nicht von Marktschwankungen getäuscht zu werden
  • Identifizierung von Trendwendepunkten und Erhöhung der Effizienz des Handels durch Durchbruch der Cloudtop / Cloudbottom-Methode
  • Setzen Sie einen Stop-Loss-Punkt, um Gewinnchancen zu nutzen und Risiken zu kontrollieren

Risikoanalyse

  • Der Ichimoku-Indikator ist im Rückstand und verpasst möglicherweise den optimalen Punkt für eine Trendwende
  • Es ist notwendig, die Parameterzyklen vernünftigerweise einzustellen, da falsche Zyklen wie die Umschaltlinie, die Referenzlinie oder andere zu falschen Signalen führen können.
  • Die Stop-Loss-Punkte sind zu klein und können zu früh eingestellt werden; die Risiken, dass die Verluste zu groß werden, sind zu groß.

Optimierungsrichtung

  • Erwägen Sie, die Genauigkeit in Verbindung mit anderen Indikatoren zu verbessern
  • Dynamische Optimierung der Parameter, um sie an unterschiedliche Zyklen und Marktumgebungen anzupassen
  • Setzen Sie einen Stop-Track, um den Stop-Loss-Punkt an die Preisschwankungen anzupassen, um vorzeitige Stopps zu vermeiden
  • Erwägen Sie, eine automatische Stop-Loss-Strategie zu entwickeln, um die Stop-Loss-Punkte intelligent an die Marktvolatilität anzupassen

Zusammenfassen

Die Strategie nutzt die Ichimoku-Cloud, um Trends zu erkennen und Trends einfach und effektiv zu verfolgen. Obwohl es ein gewisses Risiko von Verzögerungen und Falschsignalen gibt, kann die Strategie durch Parameteroptimierung, Verbesserung der Stop-Loss-Technologie und Kombination mit anderen Indikatoren verbessert werden. Die Strategie ist leicht zu verstehen und umzusetzen, ist für Anfänger geeignet und kann auch als Referenz für andere Strategien verwendet werden.

Strategiequellcode
/*backtest
start: 2023-10-04 00:00:00
end: 2023-10-08 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Estratégia com Ichimoku" , pyramiding=0, calc_on_every_tick = true, initial_capital = 20000, commission_type = strategy.commission.cash_per_order, commission_value = 10.00)

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////Ichimoku Clouds////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////(VERSÃO 40.0)//////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

periodoLinhaDeConversao = input(defval=9, title="Tenkan-sen (Linha de Conversão)",  minval=1)
periodoLinhaBase = input(defval=26, title="Kijun-sen (Linha Base)",  minval=1)
periodoNivelAdiantadoB = input(defval=52, title="Senkou Span B (Nível adiantado B)",  minval=1)
deslocamento = input(defval=26, title="Deslocamento",  minval=1)

linhaDeConversao = (highest(high,periodoLinhaDeConversao)+lowest(low,periodoLinhaDeConversao))/2
linhaBase = (highest(high,periodoLinhaBase)+lowest(low,periodoLinhaBase))/2
nivelAdiantadoA = (linhaDeConversao + linhaBase)/2
nivelAdiantadoB = (highest(high,periodoNivelAdiantadoB)+lowest(low,periodoNivelAdiantadoB))/2

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
strategy.initial_capital = 50000
//Hardcoded quantity - strategy.entry(qty=)
capitalInicial = strategy.initial_capital
lotes = (strategy.initial_capital - (strategy.initial_capital % (open*100)))/open

//Percentage input goal - strategy.exit(profit=)
percentGoal = input (defval = 5.0, title = "Goal (%)", type = float, minval=0.0, step=0.1)
longGoal = (strategy.position_avg_price * (percentGoal/100)) * 100
shortGoal = (strategy.position_avg_price - (strategy.position_avg_price / (1+(percentGoal/100)))) * 100

//Percentage input stop - strategy.exit(loss=)
percentStop = input (defval = 0.5, title = "Stop (%)", type = float, minval=0.0, step=0.1)
longStop = (strategy.position_avg_price * (percentStop/100)) * 100
shortStop = (strategy.position_avg_price * (percentStop/100)) * 100

strategy.entry('entryLong', strategy.long, lotes, when = strategy.position_size == 0 and crossover(close,max(nivelAdiantadoA[deslocamento], nivelAdiantadoB[deslocamento])))
strategy.entry('entryShort', strategy.short, lotes, when = strategy.position_size == 0 and crossunder(close,min(nivelAdiantadoA[deslocamento], nivelAdiantadoB[deslocamento])))
strategy.exit('exitLong', 'entryLong', profit = longGoal, loss = longStop)
strategy.exit('exitShort', 'entryShort', profit = shortGoal, loss = shortStop)

plot(strategy.equity, title="Variação de capital", color=white)
//plot(strategy.position_size, color=red)