
Die Strategie basiert auf dem Gold-Doppel-Doppel-Prinzip des einfachen Moving Averages und trifft Kauf- und Verkaufsschlüsse durch die Kreuzung der 7-Tage-Mittellinie und der 14-Tage-Mittellinie. Es gibt ein Kaufsignal, wenn die 7-Tage-Mittellinie von unten die 14-Tage-Mittellinie überschreitet, und ein Verkaufsignal, wenn die 7-Tage-Mittellinie von oben die 14-Tage-Mittellinie überschreitet. Die Strategie bietet gleichzeitig Stop-Loss, Stop-Stop und Tracking-Stop-Loss-Funktionen, um Gewinne zu sichern und Risiken zu kontrollieren.
Die Kernlogik der Strategie basiert auf der Überschneidung der 7-Tage-Mittellinie und der 14-Tage-Mittellinie. Die kurzfristige Tendenz der 7-Tage-Mittellinie und die mittlere Tendenz der 14-Tage-Mittellinie zeigen, dass die kurzfristige Tendenz stärker ist, wenn sie die mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mitt
Konkret berechnet die Strategie den einfachen Moving Average der Tage 7 und 14 über den SMA. Nach der Bildung jeder K-Linie wird die Größe der aktuellen Tage 7 mit der der Tage 14 verglichen. Wenn die Tage 7 die Tage 14 überschreitet, wird ein Mehrsignal ausgegeben, um in eine lange Position zu gehen.
Darüber hinaus werden Stop-Loss, Stop-Stops und Tracking-Stops eingestellt, um Gewinne zu sichern und Risiken zu kontrollieren. Die spezifischen Parameter können basierend auf den Rückmeldungen optimiert werden.
Diese Strategie hat folgende Vorteile:
Die Strategie birgt auch einige Risiken:
Um diese Risiken abzuwenden, können folgende Maßnahmen in Betracht gezogen werden:
Die Strategie kann in folgenden Richtungen optimiert werden:
Die Strategie als Ganzes ist für Anfänger sehr geeignet, die Prinzipien sind einfach, leicht zu verstehen und zu implementieren. Sie hat auch eine gute Marktadaptibilität, bietet einen großen Spielraum für Parameteranpassungen und Optimierungen und erwartet stabile Gewinne.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © bensonsuntw
strategy("Strategy Template[Benson]", pyramiding=1, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
backtest_year = input(2019, type=input.integer, title='backtest_year')
backtest_month = input(01, type=input.integer, title='backtest_month', minval=1, maxval=12)
backtest_day = input(01, type=input.integer, title='backtest_day', minval=1, maxval=31)
start_time = timestamp(backtest_year, backtest_month, backtest_day, 00, 00)
stop_loss_and_tp = input(title="Enable Stop Loss and Take Profit", type=input.bool, defval=true)
trail_stop = input(title="Enable Trail Stop", type=input.bool, defval=true)
buy_stop_loss = input(0.2, type=input.float, title='buy_stop_loss')
sell_stop_loss = input(0.1, type=input.float, title='sell_stop_loss')
buy_tp = input(0.4, type=input.float, title='buy_tp')
sell_tp =input(0.2, type=input.float, title='sell_tp')
trail_stop_long = input(1.1, type=input.float, title='trail_stop_long')
trail_stop_short = input(0.9, type=input.float, title='trail_stop_short')
trail_stop_long_offset = input(0.05, type=input.float, title='trail_stop_long_offset')
trail_stop_short_offset = input(0.05, type=input.float, title='trail_stop_short_offset')
// you can set your own logic here
shortCondition = crossunder(sma(close,7),sma(close,14))
longCondition = crossover(sma(close,7),sma(close,14))
strategy.entry("Buy", strategy.long, when=longCondition )
strategy.close("Buy", when=shortCondition)
strategy.exit("Close Buy","Buy", limit= stop_loss_and_tp?strategy.position_avg_price * (1+buy_tp):na, stop = stop_loss_and_tp?strategy.position_avg_price * (1-buy_stop_loss):na,trail_price=trail_stop?strategy.position_avg_price *trail_stop_long:na,trail_offset=trail_stop?-strategy.position_avg_price *trail_stop_long_offset:na)
strategy.entry("Sell", strategy.short, when=shortCondition)
strategy.close("Sell", when=longCondition)
strategy.exit("Close Sell","Sell", limit= stop_loss_and_tp?strategy.position_avg_price * (1-sell_tp):na, stop = stop_loss_and_tp?strategy.position_avg_price * (1+sell_stop_loss):na,trail_price=trail_stop?strategy.position_avg_price *trail_stop_short:na,trail_offset=trail_stop?strategy.position_avg_price *trail_stop_short_offset:na)
net_profit = strategy.netprofit + strategy.openprofit
plot(net_profit, title="Net Profit", linewidth=2, style=plot.style_area, transp=50, color=net_profit >= 0 ? #26A69A : color.red)