Today I launched the strategy to monitor the three stocks I selected using my screener and quickly noticed several issues.
First, the strategy didn’t seem to respond as expected. I added print statements to confirm when the if condition was triggered, and it was reassuring to see that part working correctly.
Next, I introduced highest_price and trailing_stop_line to observe how the stop-loss logic behaved. I realized that using a fixed 0.5% drawdown threshold was too rigid and not adaptive to each stock’s price level.
For example, a 0.5% drawdown on a $20 stock results in a $0.10 move — which equates to a $100 loss on 1,000 shares. This flat percentage approach doesn’t scale well across different stock prices.
I’m now trying to figure out how to adjust the drawdown more precisely
| price | drawdown ratio | drawdown range | share | amount | holding | rate |
| 5 | 0.005 | 2.5c | 1000 | 25 | 5000 | 0.005 |
| 10 | 0.005 | 5.0c | 1000 | 50 | 10000 | 0.005 |
| 15 | 0.005 | 7.5c | 1000 | 75 | 15000 | 0.005 |
| 20 | 0.005 | 10.0c | 1000 | 100 | 20000 | 0.005 |
| 25 | 0.005 | 12.5c | 1000 | 125 | 25000 | 0.005 |
| 30 | 0.005 | 15.0c | 1000 | 150 | 30000 | 0.005 |
| 35 | 0.005 | 17.5c | 1000 | 175 | 35000 | 0.005 |
| 40 | 0.005 | 20.0c | 1000 | 200 | 40000 | 0.005 |
| 45 | 0.005 | 22.5c | 1000 | 225 | 45000 | 0.005 |
| 50 | 0.005 | 25.0c | 1000 | 250 | 50000 | 0.005 |
| 55 | 0.005 | 27.5c | 1000 | 275 | 55000 | 0.005 |
| 60 | 0.005 | 30.0c | 1000 | 300 | 60000 | 0.005 |
| 65 | 0.005 | 32.5c | 1000 | 325 | 65000 | 0.005 |
| 70 | 0.005 | 35.0c | 1000 | 350 | 70000 | 0.005 |
| 75 | 0.005 | 37.5c | 1000 | 375 | 75000 | 0.005 |
| 80 | 0.005 | 40.0c | 1000 | 400 | 80000 | 0.005 |
| 85 | 0.005 | 42.5c | 1000 | 425 | 85000 | 0.005 |
| 90 | 0.005 | 45.0c | 1000 | 450 | 90000 | 0.005 |
| 95 | 0.005 | 47.5c | 1000 | 475 | 95000 | 0.005 |
| 100 | 0.005 | 50.0c | 1000 | 500 | 100000 | 0.005 |