OPEN-SOURCE SCRIPT
BTC Trend-Momentum Strategy

A rules-based long/short strategy designed specifically for Bitcoin, combining three complementary components:
Trend filter (EMA 200): Only trades in the direction of the prevailing trend — long above the EMA, short below it.
Volume confirmation (Chaikin Money Flow): Confirms that actual buying or selling pressure supports the trend direction before entering.
Momentum trigger (Stochastic RSI): Times entries when %K crosses back out of oversold/overbought territory, avoiding entries at momentum extremes.
Optional volatility filter (ATR vs. its moving average): Can restrict trading to periods of above-average volatility, filtering out low-volatility chop.
Risk disclosure: This strategy has no built-in stop-loss or take-profit. Positions are only closed by an opposing signal (a long signal closes an existing short and vice versa). This means an open position can theoretically run at a loss for an extended period before the opposite signal triggers. Traders should manage their own risk (position sizing, stops) independently when applying this on a live account.
Backtest settings used: Initial capital $1,000, 0.075% commission per trade, no slippage, 100% equity per trade, tested on BTC/USD from 2018 onward. Past performance does not guarantee future results.
This publication is for educational purposes only and does not constitute financial advice.
Trend filter (EMA 200): Only trades in the direction of the prevailing trend — long above the EMA, short below it.
Volume confirmation (Chaikin Money Flow): Confirms that actual buying or selling pressure supports the trend direction before entering.
Momentum trigger (Stochastic RSI): Times entries when %K crosses back out of oversold/overbought territory, avoiding entries at momentum extremes.
Optional volatility filter (ATR vs. its moving average): Can restrict trading to periods of above-average volatility, filtering out low-volatility chop.
Risk disclosure: This strategy has no built-in stop-loss or take-profit. Positions are only closed by an opposing signal (a long signal closes an existing short and vice versa). This means an open position can theoretically run at a loss for an extended period before the opposite signal triggers. Traders should manage their own risk (position sizing, stops) independently when applying this on a live account.
Backtest settings used: Initial capital $1,000, 0.075% commission per trade, no slippage, 100% equity per trade, tested on BTC/USD from 2018 onward. Past performance does not guarantee future results.
This publication is for educational purposes only and does not constitute financial advice.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.