Making Decisions Based on the \'Momentum\' of Prices! How to Find the Right Time to Buy and Sell Cryptocurrencies
This strategy involves observing the 5-minute price movements of cryptocurrencies (ETH/USDT) to predict, \'Is it likely to go up from here?\' or \'Is it likely to go down?\'. We tested this approach with approximately one year of data and discovered hints on how to improve its effectiveness. Here\'s an explanation of how this strategy works and what we learned, explained in a way that even a middle schooler can understand.
Introduction and Prerequisites
This strategy involves observing the 5-minute price movements of cryptocurrencies (ETH/USDT) to predict, \'Is it likely to go up from here?\' or \'Is it likely to go down?\'. We tested this approach with approximately one year of data and discovered hints on how to improve its effectiveness. Here\'s an explanation of how this strategy works and what we learned, explained in a way that even a middle schooler can understand.
[Verification] Strategy Backtest Overview
- Strategy Name: Trend Following Strategy using Kase Peak Oscillator
- Target Asset: ETH/USDT
- Timeframe: 5m
- Period: 2024-08-29 to 2025-08-25 (360 days)
- Initial Capital: $10,000
- Fees/Slippage: 0.1% / 0.1%
- Exchange: bybit
Momentum Oscillator Theoretical Background
The core concept behind this strategy is that "momentum tends to continue for a while." If prices are rising strongly, they might continue to rise. Conversely, if prices are falling rapidly, they might continue to fall. Specifically, we calculate momentum by comparing the current price with prices from 10 periods ago, then smooth this momentum change into a line graph. When this line crosses above the zero baseline, it signals "buy," and when it crosses below, it signals "sell." In other words, it's a strategy that tries to ride the "upward trend!"
Specific Trading Rules (This Verification)
Entry Conditions
- When the momentum line crosses above the zero line (upward momentum is emerging, so it's time to buy)
- When the momentum graph is above the zero line (upward momentum is continuing, so it's time to buy)
Exit Conditions
- When the momentum line crosses below the zero line (upward momentum is weakening, so it's time to sell)
- When the momentum graph is below the zero line (momentum is disappearing, so it's time to sell)
Risk Management
This strategy was missing a very important rule: the "stop-loss" rule that says "if losses reach this point, give up and sell." Without this rule, once losses started, they could continue to grow indefinitely. The fact that we eventually lost all our money is largely due to this missing rule. To avoid large losses, stop-loss rules are absolutely essential.
Reproduction Steps (HowTo)
- Install Python and dependencies (ccxt, pandas, ta)
- Fetch and preprocess ETH/USDT OHLCV data using ccxt
- Calculate indicators needed for the strategy (using ta, etc.)
- Generate trading signals from thresholds and crossover conditions
- Verify and evaluate considering fees and slippage
[Results] Performance
Asset Progression
Performance Metrics
| 指標 | 値 |
|---|---|
| Total Trades | 640 trades |
| Win Rate | 40% |
| Average Profit | 1.11% |
| Average Loss | -1.22% |
| Expectancy | -0.29% |
| Profit Factor | 0.56 |
| Max Drawdown | 88.32% |
| Final Return | -86.38% |
| Sharpe Ratio | -0.17 |
| HODL (Buy & Hold) | 83.98% |
Comparison with HODL Strategy
Implementation Code (Python)
Python implementation code will be displayed here.
Code generation is not implemented in this simplified version.
Why This Result Occurred (3 Reasons)
- 1This strategy is based on a 'contrarian' approach: 'selling' when everyone is buying and 'buying' when everyone is selling. However, in the cryptocurrency world, 'trend following' (going with the momentum) is often more successful, and contrarian approaches can sometimes fail.
- 2Looking at prices in short intervals, like every 5 minutes, reveals many small price fluctuations that are unrelated to the real, larger trend. This can cause the strategy to not work effectively. Additionally, frequent buying and selling incurs transaction fees, which also contributes to losses.
- 3The result was a win rate of only 40 out of 100 trades. Not only was the number of wins low, but the losses on losing trades were larger than the profits on winning trades, leading to an overall net loss.
3 Lessons Learned from This Result
- 1We learned that no trading strategy works effectively all the time. The best strategy depends on market conditions and the timeframe being analyzed.
- 2We realized that not only the number of wins (win rate) but also the balance between the amount of profit per win and the amount of loss per loss is extremely important.
- 3We learned that trading on short timeframes requires more careful 'loss prevention rules' and a deeper understanding of the market.
Specific Risk Management Methods
How to Determine Position Size
This strategy didn't seem to have rules for how much money to use per trade. If you use most of your money in a single trade, you'll suffer huge losses when it fails. Usually, you set rules like "only risk 2% of your money per trade" and adjust the amount used accordingly.
How to Handle Large Losses
The fact that we lost 100% at our worst point (max DD) was because there was no mechanism to stop losses from growing. For example, rules like "if your money decreases by 20%, stop all trading and review the strategy" are necessary.
Capital Management Methods
This strategy lacked the concept of "capital management" - how to protect and use money. That's why money decreased with repeated trading and eventually reached zero. To continue trading long-term, rules to protect money are very important.
Specific Improvement Proposals
- First and most important is to add "stop-loss" rules. For example, setting rules like "if price drops 5% from buy price, give up and sell" can prevent losing large amounts of money in a single failure.
- Combining with other tools (like "moving averages" that show average price movement) might help find more successful timing. Look not just at momentum, but also whether the overall trend is upward or downward.
- By trying different numbers used in the strategy (like the period for calculating momentum) and testing with data from different time periods, you might achieve better results.
Improving Practicality (Operational Considerations)
- When tested with historical data, this strategy produced very poor results. Using it with real money as-is would be extremely dangerous.
- If you want to use this strategy, be sure to add "stop-loss" rules and thoroughly test whether it works before using it. Using it as-is has a very high probability of losing all your money.
- Cryptocurrency trading involves very volatile price movements. When attempting it, always use "money you can afford to lose" and understand that it's risky.
Verification Transparency and Reliability
- Data Source: This strategy was tested using historical 5-minute price data of the cryptocurrency "Solana (SOL)" to see if it would work.
- Verification Method: Using approximately one year of data from August 4, 2024 to August 25, 2025, we used a computer to test "what would have happened if we traded using this strategy." We analyzed those results.
- Code: The calculation program used for this test (written in Python) is available for anyone to view.
- Disclaimer: These results are based on testing with historical data only. Future performance is not guaranteed to be the same. Investment always carries the risk of losing money. Please think carefully and make your own judgments.