
Überblick
Die Strategie nutzt drei verschiedene Moving Averages: einfache Moving Averages (SMA), gewichtete Moving Averages (WMA) und Index Moving Averages (EMA). Die Bollinger Bands werden verwendet, um die Kurskanäle zu bestimmen und die Auf- und Abwärtsbahnen als Signal für die Friedlichkeit der Position zu nutzen. Die Bollinger Bands werden als Stopppositionen eingesetzt, wenn der Preis die Bollinger Bands überschreitet.
Strategieprinzip
- Die Berechnung von Moving Averages für drei verschiedene Perioden: Slow SMA, Fast EMA und Medium WMA, die langfristige, kurzfristige und mittelfristige Trends des Marktes widerspiegeln.
- Es gibt zwei Arten von Bolling-Bändern, die nach den Preis-Standard-Differenzen berechnet werden: die Bolling-Bänder für die Eröffnung des Lagers (mit einem näheren Abstand zwischen den Auf- und Abfahrten) und die Bolling-Bänder für die Beendigung des Lagers (mit einem breiteren Abstand zwischen den Auf- und Abfahrten). Die Bolling-Bänder für die Eröffnung des Lagers dienen zur Eröffnung des Lagers und die Bolling-Bänder für die Beendigung des Lagers.
- Wenn die Schnell-EMA die Bollinger Bands ausbreitet, wird eine leere Position eröffnet. Wenn die Schnell-EMA die Bollinger Bands ausbreitet, wird eine mehrere Positionen eröffnet. Dies bedeutet, dass der Preis von der Durchschnittswerte abweicht und eine Tendenz auftreten kann.
- Wenn der Kurs nach dem Börsengang weiter nach oben geht, werden alle mehrköpfigen Positionen ausgeglichen. Wenn der Kurs weiter nach unten geht, werden alle leeren Positionen ausgeglichen. Dies dient der Verlustkontrolle und bedeutet eine endgültige Verluststoppe, wenn der Trend umgekehrt wird.
- Der Prozess ist zyklisch, so dass die Strategie ihre Position flexibel an Markttrends anpassen und Verluste rechtzeitig einstellen kann, um solide Gewinne zu erzielen.
Strategische Vorteile
- Die drei unterschiedlichen Geschwindigkeiten des Moving Averages werden berücksichtigt, um die Markttrends auf allen Ebenen zu erfassen.
- Die Einführung der Brin-Band als Bedingung für die Eröffnung von Positionen, die sich dynamisch an die Marktfluktuation anpassen und flexibel auf die Situation reagieren können.
- Setzen Sie Stop-Loss-Brinks, kontrollieren Sie Rücktritte und schließen Sie bei starken Marktschwankungen aus, um eine Vergrößerung der Verluste zu vermeiden.
- Die Logik ist klar, die Regeln sind einfach, leicht umzusetzen und zu optimieren.
- Es ist sehr vielseitig anwendbar und kann für verschiedene Märkte und Zeitspannen wirksam sein.
Strategisches Risiko
- In einem wackligen Markt kann die häufige Verringerung der Positionen zu hohen Transaktionskosten führen, die die Gewinne erodieren.
- Die Strategie kann zu Beginn einer Trendwende weiterhin in Richtung des ursprünglichen Trends handeln und somit einen gewissen Verlust verursachen.
- Bei Extremsituationen wie schnellen Preissprungs ist die Gefahr, dass die Bollinger Bands nicht gut kontrolliert werden, möglich.
- Fehlgewählte Parameter (z. B. Moving Average Period, Brin-Bandbreite) können die Strategie außer Kraft setzen.
- Wenn die Marktschwankungen andauern, kann es sein, dass die Strategie nicht in der Lage ist, die offensichtlichen Trendchancen zu erfassen.
Richtung der Strategieoptimierung
- Um die Häufigkeit und die Kosten von Transaktionen in einem unsicheren Markt zu reduzieren, sollten die Perioden der Moving Averages und die Brin-Bandbreiten entsprechend erhöht werden.
- Einführung von mehr technischen Indikatoren oder Marktstimmung als Filter, um die Genauigkeit der Positionsöffnung zu verbessern und zu vermeiden, dass in der Anfangsphase des Trends möglicherweise ein Verlusthandel auftritt.
- Es gibt spezielle Regeln für Extremsituationen, wie zum Beispiel die Aussetzung der Eröffnung neuer Positionen bei einem Sprung, um das Risiko zu kontrollieren.
- Optimierung der Parameter, Suche nach der am besten geeigneten Parameterkombination für den aktuellen Markt, Steigerung der Stabilität der Strategie.
- Erhöhung der Regeln für die Positionsverwaltung und die Vermögensverwaltung, z. B. Anpassung der Positionen an die Stärke der Tendenz oder die Ertragslage, Einrichtung einer Gesamtstop-Line usw., um das strategische Risiko weiter zu kontrollieren.
Zusammenfassen
Der Roboter des Marina Parfenova School Project ist eine Quantifizierungs-Trading-Strategie, die auf gleitenden Durchschnitten und Brin-Bändern basiert. Sie versucht, durch die Erfassung von Markttrends zu profitieren und gleichzeitig durch die Brin-Band-Stopp-Linien einen Rückzug zu kontrollieren. Die Strategie-Logik ist einfach, klar und umfangreich und die Parameter können flexibel an die Merkmale des Marktes angepasst werden.
Strategiequellcode
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy ("Marina Parfenova School Project Bot", overlay = true)
sma(price, n) =>
result = 0.0
for i = 0 to n - 1
result := result + price [i] / n
result
wma(price, n) =>
result = 0.0
sum_weight = 0.0
weight = 0.0
for i = 0 to n - 1
weight := n - 1
result := result + price [i]*weight
sum_weight := sum_weight + weight
result/sum_weight
ema(price, n) =>
result = 0.0
alpha = 2/(n + 1)
prevResult = price
if (na(result[1]) == false)
prevResult := result[1]
result := alpha * price + (1 - alpha) * prevResult
/// Настройки
n_slow = input.int(50, "Период медленной скользящей средней", step=5)
n_fast = input.int(4, "Период быстрой скользящей средней")
n_deviation = input.int(30, "Период среднеквадратического отклонения", step=5)
k_deviation_open = input.float(1.2, "Коэффициент ширины коридора покупки", step=0.1)
k_deviation_close = input.float(1.6, "Коэффициент ширины коридора продажи", step=0.1)
// ----- Линии индикаторов -----
// Медленная скользящая
sma = sma(close, n_slow)
plot(sma, color=#d3d3d3)
// Линии Боллинджера, обозначающие коридор цены
bollinger_open = k_deviation_open * ta.stdev(close, n_deviation)
open_short_line = sma + bollinger_open
plot(open_short_line, color=#ec8383)
open_long_line = sma - bollinger_open
plot(open_long_line, color=#6dd86d)
bollinger_close = k_deviation_close * ta.stdev(close, n_deviation)
close_short_line = sma + bollinger_close
plot(close_short_line, color=#e3e3e3)
close_long_line = sma - bollinger_close
plot(close_long_line, color=#e3e3e3)
// Быстрая скользящая
ema = ema(close, n_fast)
plot(ema, color = color.aqua, linewidth = 2)
// ----- Сигналы для запуска стратегии -----
// если ema пересекает линию open_short сверху вниз - сигнал на создание ордера в short
if(ema[1] >= open_short_line[1] and ema < open_short_line)
strategy.entry("short", strategy.short)
// если ema пересекает линию open_long снизу вверх - сигнал на создание ордера в long
if(ema[1] <= open_long_line[1] and ema > open_long_line)
strategy.entry("long", strategy.long)
// если свеча пересекает верхнюю линию коридора продажи - закрываем все long-ордера
if (high >= close_short_line)
strategy.close("long")
// если свеча пересекает нижнюю линию коридора продажи - закрываем все short-ордера
if (low <= close_long_line)
strategy.close("short")