219 lines
7.6 KiB
Markdown
219 lines
7.6 KiB
Markdown
|
|
> Name
|
|
|
|
比特币快速反转突破策略Bitcoin-Rapid-Reversal-Breakout-Strategy
|
|
|
|
> Author
|
|
|
|
ChaoZhang
|
|
|
|
> Strategy Description
|
|
|
|
[trans]
|
|
|
|
### 概述
|
|
|
|
本策略适用于高波动的数字货币如比特币。它利用Parabolic SAR指标判断价格反转点,结合SMA均线过滤假突破,在突破发生时快速做出交易决策,实现盈利。该策略适合短线交易,可以捕捉市场中的快速调整机会。
|
|
|
|
### 策略原理
|
|
|
|
该策略基于Parabolic SAR指标判断价格反转点。Parabolic SAR指标能 sensitively 识别市场的 Trend 变化,SAR点出现在价格曲线之上时为持续看涨信号,而 SAR 点下落到价格曲线之下时为持续看跌信号。
|
|
|
|
具体来说,策略长仓条件为:
|
|
|
|
1. 当前K线开盘价高于Parabolic SAR
|
|
2. 前一K线开盘价低于Parabolic SAR
|
|
3. 当前K线开盘价高于50周期SMA均线
|
|
|
|
满足上述三个条件时,认为出现看涨反转信号,做多开仓。
|
|
|
|
短仓条件为:
|
|
|
|
1. 当前K线开盘价低于Parabolic SAR
|
|
2. 前一K线开盘价高于Parabolic SAR
|
|
3. 当前K线开盘价低于50周期SMA均线
|
|
|
|
满足上述三个条件时,认为出现看跌反转信号,做空开仓。
|
|
|
|
此外,策略还设置了止盈止损条件,进行风险管理。
|
|
|
|
### 策略优势
|
|
|
|
相比传统突破策略,该策略具有以下优势:
|
|
|
|
1. 利用Parabolic SAR指标判断反转时点更为敏感,可以提早捕捉转势。
|
|
|
|
2. 结合SMA均线进行过滤,避免被小范围震荡的假突破欺骗。
|
|
|
|
3. 反应迅速,一旦识别到反转信号,立即进入场内,捕捉早期趋势。
|
|
|
|
4. 适合如比特币等高波动数字货币,可以捕捉快速调整提供的交易机会。
|
|
|
|
5. 设置了止盈止损策略,可以控制单笔亏损风险。
|
|
|
|
6. 回测效果良好,可以获得较高胜率。
|
|
|
|
### 策略风险
|
|
|
|
尽管该策略有一定优势,但也存在以下风险:
|
|
|
|
1. Parabolic SAR并非完美指标,也会出现误判的情况。
|
|
|
|
2. 磁盘图形、小型三角形等组合格局时,可能出现失效的情况。
|
|
|
|
3. 没有考虑交易量的效果,存在被套牢的风险。
|
|
|
|
4. Params设置不当也会导致过于灵敏或过于迟钝。
|
|
|
|
5. 停损位置设置过小,可能会被追穿Stop loss。
|
|
|
|
6. 回撤风险仍然存在,适合采取仓位管理。
|
|
|
|
### 策略优化方向
|
|
|
|
该策略可以从以下几个方面进行优化:
|
|
|
|
1. 结合更多指标判断,如交易量,布林带等,提高信号的可靠性。
|
|
|
|
2. 加入趋势线等图形判断,避免被反向震荡套牢。
|
|
|
|
3. 优化参数设置,在不同市场周期采用不同参数组合。
|
|
|
|
4. 采用时间止损,避免止损过小被追穿的风险。
|
|
|
|
5. 增加仓位管理策略,在回撤时降低仓位。
|
|
|
|
6. 结合高级策略,如马丁格尔,设置动态止盈止损距离。
|
|
|
|
7. 根据市场波动率设定止盈止损幅度。
|
|
|
|
### 总结
|
|
|
|
该策略利用Parabolic SAR指标判断价格反转,快速做出交易决策,可谓短线突破策略中的“急先锋”。它反应迅速,适合捕捉短线调整机会。但也存在一定局限性,需要配合优化以减少不必要的套牢风险。如果利用得当,它可以成为数字货币交易中一个非常实用的策略选择。
|
|
|
|
||
|
|
|
|
|
|
### Overview
|
|
|
|
This strategy is suitable for highly volatile cryptocurrencies like Bitcoin. It uses the Parabolic SAR indicator to determine price reversal points, combined with SMA filter for false breakouts. It makes quick trading decisions when a breakout occurs to profit. The strategy is suitable for short-term trading to capture fast adjustment opportunities in the market.
|
|
|
|
### Strategy Logic
|
|
|
|
The strategy is based on the Parabolic SAR indicator to determine price reversal points. The Parabolic SAR indicator sensitively identifies trend changes in the market. When SAR points appear above the price curve, it is a continuous bullish signal, and when SAR points fall below the price curve, it is a continuous bearish signal.
|
|
|
|
Specifically, the long entry conditions are:
|
|
|
|
1. Current bar's open higher than Parabolic SAR
|
|
2. Previous bar's open lower than Parabolic SAR
|
|
3. Current bar's open higher than 50-period SMA
|
|
|
|
When all 3 conditions are met, it is considered a bullish reversal signal and goes long.
|
|
|
|
The short entry conditions are:
|
|
|
|
1. Current bar's open lower than Parabolic SAR
|
|
2. Previous bar's open higher than Parabolic SAR
|
|
3. Current bar's open lower than 50-period SMA
|
|
|
|
When all 3 conditions are met, it is considered a bearish reversal signal and goes short.
|
|
|
|
In addition, stop loss and take profit conditions are configured for risk management.
|
|
|
|
### Advantages of the Strategy
|
|
|
|
Compared with traditional breakout strategies, this strategy has the following advantages:
|
|
|
|
1. Using Parabolic SAR to determine reversal points is more sensitive and can capture turns earlier.
|
|
|
|
2. Filtering with SMA avoids being fooled by false breakouts from small range consolidations.
|
|
|
|
3. Fast reaction to enter the market immediately after identifying reversal signals to capture early trends.
|
|
|
|
4. Suitable for highly volatile cryptos like Bitcoin to capture trading opportunities from fast adjustments.
|
|
|
|
5. Stop loss configured to control single trade loss risk.
|
|
|
|
6. Good backtest results with relatively high win rate.
|
|
|
|
### Risks of the Strategy
|
|
|
|
Despite the advantages, the strategy also has the following risks:
|
|
|
|
1. Parabolic SAR is not perfect and can still make wrong judgments.
|
|
|
|
2. May fail in combinations like coils and small triangles.
|
|
|
|
3. No consideration of volume, with risk of being trapped.
|
|
|
|
4. Improper param settings may also lead to too much sensitivity or low sensitivity.
|
|
|
|
5. If stop loss is too tight, it may get run over.
|
|
|
|
6. Drawdown risk still exists, position sizing is recommended.
|
|
|
|
### Directions for Optimization
|
|
|
|
The strategy can be optimized in the following aspects:
|
|
|
|
1. Add more indicators like volume and Bollinger Bands to improve signal reliability.
|
|
|
|
2. Add chart pattern analysis like trendlines to avoid being trapped by contratrend oscillations.
|
|
|
|
3. Optimize parameters for different market cycles.
|
|
|
|
4. Use time-based stop loss to avoid tight stop loss being run over.
|
|
|
|
5. Add position sizing to lower size during drawdown.
|
|
|
|
6. Incorporate advanced strategies like Martingale for dynamic profit targets and stop loss levels.
|
|
|
|
7. Set profit targets and stop loss based on market volatility.
|
|
|
|
### Summary
|
|
|
|
This strategy uses Parabolic SAR to determine price reversals and makes quick trading decisions, acting like a "vanguard" among short-term breakout strategies. It reacts swiftly to capture short-term adjustment opportunities. But there are also limitations, requiring optimizations to reduce unnecessary whipsaw risks. When utilized properly, it can become a very practical strategy choice for crypto trading.
|
|
|
|
[/trans]
|
|
|
|
|
|
|
|
> Source (PineScript)
|
|
|
|
``` pinescript
|
|
/*backtest
|
|
start: 2023-09-12 00:00:00
|
|
end: 2023-09-19 00:00:00
|
|
period: 10m
|
|
basePeriod: 1m
|
|
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/
|
|
// © atakhadivi
|
|
|
|
//@version=4
|
|
strategy("rapid fire", overlay=true)
|
|
|
|
longCondition = open > sar(0.02,0.02,0.2) and open[1] < sar(0.02,0.02,0.2)[1] and open > sma(close,50)
|
|
takeprofit = strategy.position_avg_price * (1 + 0.005)
|
|
stopLoss = strategy.position_avg_price * (1 - 0.015)
|
|
if (longCondition)
|
|
strategy.entry("longEntry", strategy.long, limit = takeprofit, stop = stopLoss)
|
|
|
|
|
|
shortCondition = open < sar(0.02,0.02,0.2) and open[1] > sar(0.02,0.02,0.2)[1] and open < sma(close,50)
|
|
take_profit = strategy.position_avg_price * (1 - 0.005)
|
|
stop_Loss = strategy.position_avg_price * (1 + 0.015)
|
|
if (shortCondition)
|
|
strategy.entry("shortEntry", strategy.short, limit = take_profit, stop = stop_Loss)
|
|
```
|
|
|
|
> Detail
|
|
|
|
https://www.fmz.com/strategy/427343
|
|
|
|
> Last Modified
|
|
|
|
2023-09-20 11:18:47
|