双均线金叉死叉止盈止损策略是一种趋势跟踪策略。它利用 Stochastic 指标的两个移动平均线 K 和 D 的金叉和死叉来判断买入和卖出时机。同时,它使用止盈止损来控制风险。
该策略的核心指标是 Stochastic 的快线 K 和慢线 D。快线 K 是 Stochastic 的原始值的 3 日简单移动平均线。慢线 D 是快线 K 的 3 日简单移动平均线。当快线上穿慢线时,产生金叉信号,表示多头趋势来临,可以买入。当快线下穿慢线时,产生死叉信号,表示空头趋势来临,可以卖出。
此外,该策略还设置了一个条件,就是只有当 Stochastic 的值在过冷区(低于 20)或过热区(高于 80)时,才产生交易信号。这可以过滤掉一些假信号。
在入市后,该策略使用止盈止损来控制风险。止盈距离 entry price 为 120 个 tick,止损距离 entry price 为 60 个 tick。当价格触及止盈或止损水平时,会退出当前头寸。
风险解决方法:
双均线金叉死叉止盈止损策略,是一种简单实用的趋势跟踪策略。它利用 Stochastic 的双均线系统判断入市时机,并使用止盈止损控制风险。该策略效果显著,容易实现,适合量化交易。通过进一步优化,可以成为稳定盈利的算法交易策略。
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Strategy alerts workaround", overlay=true) // disclaimer: this content is purely educational, especially please don't pay attention to backtest results on any timeframe/ticker // Entries logic: based on Stochastic crossover k = ta.sma(ta.stoch(close, high, low, 14), 3) d = ta.sma(k, 3) crossover = ta.crossover(k,d) crossunder = ta.crossunder(k,d) if (crossover and k < 20) strategy.entry("Buy", strategy.long, alert_message="buy") if (crossunder and k > 80) strategy.entry("Sell", strategy.short, alert_message="sell") // StopLoss / TakeProfit exits: SL = input.int(60, title="StopLoss Distance from entry price (in Ticks)") TP = input.int(120, title="TakeProfit Distance from entry price (in Ticks)") strategy.exit("xl", from_entry="Buy", loss=SL, profit=TP, alert_message="closebuy") strategy.exit("xs", from_entry="Sell", loss=SL, profit=TP, alert_message="closesell") // logical conditions exits: if (crossunder and k <= 80) strategy.close("Buy", alert_message="closebuy") if (crossover and k >= 20) strategy.close("Sell", alert_message="closesell")