Tags:

This strategy uses TEMA, VWMACD and HMA indicators to capture the downtrend of Bitcoin. Its main logic is to go short when VWMACD crosses below 0, price is below HMA and fast TEMA is below slow TEMA. It will exit the position when VWMACD crosses above 0, price is above HMA or fast TEMA crosses above slow TEMA.

First calculate VWMACD (the only difference from regular MACD is the way to calculate moving average) and plot it as histogram. Then add HMA as a trend filter. After that create and add fast TEMA (5 periods) and slow TEMA (8 periods), and calculate the difference between them to plot around 0. This is the key decision for going short.

The specific entry rule is: when VWMACD is below 0, price is below HMA and fast TEMA is below slow TEMA, go short.

The specific exit rule is: when VWMACD crosses above 0, price is above HMA or fast TEMA crosses above slow TEMA, close position.

- Uses a combination of three indicators, improves reliability of trading signals.
- VWMACD can identify divergences and provide accurate trend judgements.
- HMAfilt as a trend filter, avoids noise interference.
- Fast and slow TEMA combo catches short-term reversal points.
- Adopts short-period parameters, suitable for high frequency trading, catches short-term downtrends.

- Multiple indicators combo, complex parameter tuning needed.
- Although having HMA filter, still need to prevent false breakouts in ranging markets.
- Short periods prone to market noise interference, wrong signals may occur.
- Need strict stop loss to prevent unexpected large losses.
- Need to focus on transaction cost control, high frequency trading easily hurt by friction.

- Can test different parameter combinations to find optimal parameters.
- Can add other indicators like RSI, KD for assistance.
- Can use adaptive parameters according to different market conditions.
- Can optimize stop loss strategy, like trailing stop loss.
- Can combine with volume indicators to avoid insufficient thrust.

This strategy uses the combination of VWMACD, HMA and fast/slow TEMA to capture short-term downtrends of Bitcoin. Its advantages are relatively reliable signals and suitability for high frequency trading. But it also has risks like complex parameter tuning, prone to noise interference. Further optimizing parameter combos and adding auxiliary indicators can make the strategy more stable and reliable. Overall, by utilizing multiple indicator confirmation and short period parameters, this strategy can make relatively accurate judgements on Bitcoin’s short-term downtrends, and is an effective high frequency short strategy.

/*backtest start: 2022-11-08 00:00:00 end: 2023-11-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="TEMA_HMA_VWMACD short strategy", shorttitle="Short strategy", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.018, currency='USD') startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0) end = timestamp(9999,1,1,0,0) _testPeriod() => iff(time >= startP and time <= end, true, false) slow = input(13, "Short period") fast = input(21, "Long period") signal = input(5, "Smoothing period") Fast = ema( volume * close, fast ) / ema( volume, fast ) Slow = ema( volume * close, slow ) / ema( volume, slow ) Macd = Slow - Fast Signal = ema(Macd, signal) Hist=Macd-Signal plot(Hist, color=color.silver, linewidth=1, style=plot.style_histogram) plot(0, color=color.red) length = input(400, minval=1, title = "HMA") hullma = wma(2*wma(close, length/2)-wma(close, length), floor(sqrt(length))) tema_length_1 = input(5, "Fast moving TEMA") tema_length_2 = input(8, "Slow moving TEMA") tema(sec, length)=> tema1= ema(sec, length) tema2= ema(tema1, length) tema3= ema(tema2, length) tema = 3*tema1-3*tema2+tema3 tema1 = tema(hlc3, tema_length_1) tema2 = tema(hlc3, tema_length_2) threshold = 0 tm = tema1 - tema2 plot_fast = plot(tm, color = tm > 0 ? color.green : color.red) plot(threshold, color=color.purple) up = crossover(tm, 0) down = crossunder(tm, 0) longCondition = (Hist < 0) and hullma > close and (tema1 < tema2) and _testPeriod() strategy.entry('BUY', strategy.short, when=longCondition) shortCondition = (Hist > 0) or hullma < close or up strategy.close('BUY', when=shortCondition) // Take profit tp = input(1, type=input.float, title='Take Profit (%)') sl = input(4, type=input.float, title='Stop Loss (%)') strategy.exit('XLong', from_entry='BUY', profit=(close * (tp/100) * (1/syminfo.mintick)), loss=(close * (sl/100) * (1/syminfo.mintick)))

- Dual Moving Average Deviation Combined with ATR Indicator Trend Following Strategy
- Multi Trend Strategy
- Break-even Price Strategy
- Trend Following Short-term Trading Strategy
- BB21_SMA200 Trend Following Strategy
- Momentum Ichimoku Cloud Trading Strategy
- Weekend Volatility Trading Strategy
- Momentum Breakout Mean Reversion Strategy
- Altered OBV and MACD Quantitative Trading Strategy
- Volume Flow Indicator Based Trend Following Strategy
- Dynamic Moving Average Trend Trading Strategy
- Mean Reversion Momentum Strategy
- Trend Following Energy Indicator Trading Strategy
- Growth Producer - Dual RSI Trend Following Strategy
- Cross Timeframe Double Breakout Levels Strategy
- Cycle Reversal Trend-Following Strategy after Pullback
- MACD Trend Following Strategy
- Dual Moving Average Stochastic Indicator Binary Options Trading Strategy
- CCI Strong Breakthrough Strategy
- Dual Moving Average Crossover Intraday Futures Trading Strategy