
Diese Strategie verwendet die Kreuzung von Moving Averages der 20- und 60-Tage-Linie, um ein Kauf- und Verkaufssignal zu erzeugen. Wenn der Preis steigt und die 20-Tage-Linie überschreitet, machen Sie mehr; wenn der Preis fällt und die 20-Tage-Linie überschreitet, machen Sie die Platte.
Strategieprinzip
- Berechnen Sie einen 20-Tage-Simple Moving Average und einen 60-Tage-Simple Moving Average
- Wenn der Kurs die 20-Tage-Linie überschreitet, tun Sie mehr.
- Die Schließung der Börse wurde durch einen Rückgang der Börsenkurse über die 20-Tage-Linie ausgelöst.
- Wenn die Kurse über die 60-Tage-Grenze steigen, tun Sie mehr.
- Die Börse schließt, wenn der Kurs die 60-Tage-Linie überschreitet.
Die oben genannten Handelssignale und -regeln bilden die Strategie. Wenn der Preis die Durchschnittsgrenze überschreitet, zeigt dies, dass ein Trend begonnen hat, und Sie können den Trend weiter verfolgen. Wenn der Preis die Durchschnittsgrenze überschreitet, zeigt dies, dass der Trend beendet ist.
Strategische Vorteile
- Die 20-Tage-Linie kann kurzfristige Trendchancen schneller erfassen, während die 60-Tage-Linie einen Teil des kurzfristigen Marktrausches filtert und mittlere und langfristige Trends festlegt.
- Strategie Rückmeldung Seit 2018 wurde der Taiwaner Aktienmarkt gewählt, der im Vergleich zu den A-Aktien auf dem Festland und den Taiwaner Aktien ein besseres Handelssystem aufweist, das die Effekte der Strategie besser widerspiegelt.
- Es wurden angemessene Stop-Loss- und Positionskontrollen eingerichtet, um das Risiko zu maximieren.
Strategisches Risiko
- Die Strategie basiert nur auf Moving Average-Indikatoren und erzeugt mehr Whirlaway und Spreads, wenn der Markt keine deutliche Tendenz hat.
- Die Strategie ist nicht optimiert für die Anzahl der gekauften/verkauften Positionen und die maximale Nutzung der Mittel.
- Die Strategie reagiert symmetrisch auf Preiserhöhungen und -rückgänge und kann nicht auf unterschiedliche Marktsituationen reagieren.
Die Risiken können auf folgende Weise gelöst werden:
- Es können andere Indicator-Kombinationen wie KDJ, MACD usw. hinzugefügt werden, um eine Mehrfachüberprüfung zu erzeugen und falsche Transaktionen zu vermeiden.
- Optimierung der Positionen und die Effizienz der Kapitalnutzung kann anhand von Faktoren wie Marktwert, Volatilität und anderen Faktoren optimiert werden.
- Es ist möglich, dass Sie in verschiedenen Phasen des Großmarktindex asymmetrische Operationen anwenden, um den Handel bei Schokkorrekturen zu reduzieren und die Positionen bei klaren Trends zu erhöhen.
Richtung der Strategieoptimierung
- Optimierung der Anzahl der Kauf- und Verkaufspositionen. Die Anzahl der Positionen kann entsprechend der Dynamik der Stop-Loss-Informationen angepasst werden.
- Optimierung der Tagesparameter für Moving Averages. Die Optimierung kann schrittweise oder nach dem Zufallsprinzip durchgeführt werden.
- Erhöhung der Stop-Loss-Strategie. Eine mobile Stop-Loss-Strategie oder ein einziger Stop-Loss-Strategie kann die Gewinne besser schützen.
- Erhöhung der Positionsverwaltung. Dynamische Anpassung der Positionen für einzelne Geschäfte an die Größe des Kapitals und der Marktwertgröße.
Zusammenfassen
Die Strategie als Ganzes ist eine typische doppelte Moving Average Crossover Strategie. Die Kernidee ist, Trends zu verfolgen und Trendpositionen zu erstellen, wenn die Preise die Durchschnittswerte überschreiten. Die Strategie ist einfach, praktisch und leicht umzusetzen.
Strategiequellcode
/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 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/
// © Astorhsu
//@version=5
strategy("Astor SMA20/60 TW", overlay=true, margin_long=100, margin_short=100)
backtest_year = input(2018, title='backtest_year') //回測開始年分
backtest_month = input.int(01, title='backtest_month', minval=1, maxval=12) //回測開始月份
backtest_day = input.int(01, title='backtest_day', minval=1, maxval=31) //回測開始日期
start_time = timestamp(backtest_year, backtest_month, backtest_day, 00, 00) //回測開始的時間函數
//Indicators
sma20 = ta.sma(close,20)
sma60 = ta.sma(close,60)
plot(sma20, color=color.green, title="sma(20)")
plot(sma60, color=color.red, title="sma(60)")
//進場條件
longCondition = ta.crossover(close, ta.sma(close, 20))
if (longCondition) and time >= start_time
strategy.entry("open long20", strategy.long, qty=1, comment="站上m20做多")
shortCondition = ta.crossunder(close, ta.sma(close, 20))
if (shortCondition) and time >= start_time
strategy.close("open long20",comment="跌破m20平倉", qty=1)
longCondition1 = ta.crossover(close, ta.sma(close, 60))
if (longCondition1) and time >= start_time
strategy.entry("open long60", strategy.long, qty=1, comment="站上m60做多")
shortCondition1 = ta.crossunder(close, ta.sma(close, 60))
if (shortCondition1) and time >= start_time
strategy.close("open long60",comment="跌破m60平倉", qty=1)