Strategien zur Trenderfassung

MA SMA
Erstellungsdatum: 2024-04-26 11:48:28 zuletzt geändert: 2024-04-26 11:48:28
Kopie: 5 Klicks: 753
1
konzentrieren Sie sich auf
1617
Anhänger

Strategien zur Trenderfassung

Überblick

Eine Trendfangstrategie ist eine Strategie, bei der eine einzigartige Methode verwendet wird, um eine Trendentstehung zu erkennen und eine Position in der Richtung der Tendenz zu eröffnen. Sie erhält einen Prozentsatz, der als “Grenze” bezeichnet wird, indem sie die Differenz zwischen dem Höchst- und dem Tiefstpreis in einer bestimmten Spanne und der Summe aller K-Längen in dieser Spanne berechnet. Je näher dieser Wert 100 ist, desto stärker ist der Trend.

Strategieprinzip

  1. Berechnen Sie die Differenz zwischen den höchsten und niedrigsten Preisen in einem bestimmten Bereich und die Summe aller K-Linienlängen in diesem Bereich.
  2. Dividiert man die Differenz durch die Summe der Länge der K-Linie und multipliziert sie mit 100, erhält man einen Prozentwert, der als “Grenze” bezeichnet wird.
  3. Wenn die Grenze über dem eingestellten Wert liegt und der Moving Average nach oben bewegt, wird eine Mehrkarte eröffnet; wenn die Grenze über dem eingestellten Wert liegt und der Moving Average nach unten bewegt, wird eine Leerkarte eröffnet.
  4. Nach der Eröffnung der Position wird ein Teil der Position ausgeglichen, wenn der Preis die Stop-Loss-Position erreicht hat, und die restliche Position wird in die Stop-Loss-Position verschoben.
  5. Wenn der Moving Average nach unten durchläuft, platzieren Sie die Karten; wenn der Moving Average nach oben durchläuft, platzieren Sie die leeren Karten.

Strategische Vorteile

  1. Die Strategie nutzt einzigartige Methoden, um die Entwicklung von Trends zu erfassen, und berechnet die Grenzwerte, um die Stärke des Trends zu bestimmen, was dazu beiträgt, Positionen zu Beginn des Trends zu eröffnen.
  2. Die Strategie besteht darin, das Risiko zu kontrollieren, indem man einen Teil der Positionen nach der Eröffnung auslöst und die restlichen Positionen mit einem Stop-Loss bewegt.
  3. Die Strategie nutzt die Auf- und Abwärtsbewegung des Moving Averages, um das Ende des Trends zu bestimmen und hilft, die Positionen rechtzeitig zu platzieren.

Strategisches Risiko

  1. Die Strategie besteht darin, zu Beginn des Trends Positionen zu eröffnen, was zu Verlusten führen kann, wenn der Trend nicht fortgesetzt werden kann.
  2. Die Strategie verwendet feste Stop-Loss- und Stop-Loss-Positionen, die in einigen Fällen nicht flexibel genug sind.
  3. Die Strategie nutzt nur die Moving Averages, um Trends zu beurteilen, und kann einige Trendchancen verpassen.

Richtung der Strategieoptimierung

  1. Die Verwendung von anderen Indikatoren wie MACD, RSI, etc. kann in Betracht gezogen werden, um Trends zu beurteilen, um die Genauigkeit des Positionseröffnens zu verbessern.
  2. Stopps und Stop Losses können dynamisch an die Marktvolatilität angepasst werden, um die Risiken besser zu kontrollieren.
  3. Es kann in Erwägung gezogen werden, nach der Bestätigung des Trends eine Position zu eröffnen, um das Risiko zu reduzieren, das zu Beginn des Trends besteht.

Zusammenfassen

Die Trendfangstrategie verwendet eine einzigartige Methode, um die Entwicklung eines Trends zu erkennen und in die Richtung des Trends zu gehen. Sie beurteilt die Stärke des Trends durch Berechnung von Grenzwerten und beurteilt das Ende des Trends durch Überschreiten eines Moving Averages. Die Strategie kontrolliert das Risiko, indem sie nach dem Positionseröffnen einen Teil der Position und die bewegliche Stop-Loss-Position ausgleicht.

Strategiequellcode
/*backtest
start: 2023-04-20 00:00:00
end: 2024-04-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © faytterro

//@version=5
strategy("Trend Catcher Strategy", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
len = input.int(10)
tp = input.float(2.5, step = 0.1)
sl = input.float(2.5, step = 0.1)
malen = input.int(5)
limit = input.int(50)
ma = ta.sma(close,malen)
sum = 0.0
for i = 0 to len-1
    sum := sum + high[i]-low[i]
frs = 100*(ta.highest(high,len)-ta.lowest(low,len))/sum
//hline(50)
//plot(frs, color = color.white)
l = ta.crossover(frs,limit) and ma>ma[1]
s = ta.crossover(frs,limit) and ma<ma[1]
cl = ma<ma[1]
cs = ma>ma[1]
qty_balance=input.int(50, maxval = 100)
if (l)
    strategy.entry("My Long Entry Id", strategy.long)
    strategy.exit("exit long", "My Long Entry Id", qty_percent = qty_balance, limit = close*(100+tp)/100, stop = close*(100-sl)/100)

if (s)
    strategy.entry("My Short Entry Id", strategy.short)
    strategy.exit("exit short", "My Short Entry Id", qty_percent = qty_balance, limit = close*(100-tp)/100, stop = close*(100+sl)/100)

if (cl)
    strategy.close("My Long Entry Id")
if (cs)
    strategy.close("My Short Entry Id")

l:= l and strategy.opentrades<1
s:= s and strategy.opentrades<1
transp = strategy.opentrades>0? 0 : 100
pma=plot(ma, color = ma<ma[1]? color.rgb(255, 82, 82, transp) : color.rgb(76, 175, 79, transp))
price = open/2+close/2
pprice = plot(price, display = display.none)
fill(pma,pprice, color = ma<ma[1]? color.rgb(255, 82, 82, transp+90) : color.rgb(76, 175, 79, transp+90))

spm=plot(ta.valuewhen(s,close,0), color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.white : color.rgb(1,1,1,100), offset=1)
lpm=plot(ta.valuewhen(l,close,0), color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.white : color.rgb(1,1,1,100), offset=1)

ltp=plot(ta.valuewhen(l,close,0)*(100+ta.valuewhen(l,tp,0))/100,  color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.green : color.rgb(1,1,1,100), offset=1)
lsl=plot(ta.valuewhen(l,close,0)*(100-ta.valuewhen(l,sl,0))/100,  color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.red : color.rgb(1,1,1,100), offset=1)

stp=plot(ta.valuewhen(s,close,0)*(100-ta.valuewhen(s,tp,0))/100, color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.green : color.rgb(1,1,1,100), offset=1)
ssl=plot(ta.valuewhen(s,close,0)*(100+ta.valuewhen(s,sl,0))/100, color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.red : color.rgb(1,1,1,100), offset=1)
fill(stp,spm, color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.rgb(76, 175, 79, 90) : color.rgb(1,1,1,100))
fill(ssl,spm, color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.rgb(255, 82, 82, 90) : color.rgb(1,1,1,100))
fill(ltp,lpm, color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.rgb(76, 175, 79, 90) : color.rgb(1,1,1,100))
fill(lsl,lpm, color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.rgb(255, 82, 82, 90) : color.rgb(1,1,1,100))