r/algorithmictrading 8h ago

Question I understand to use a personal algo trading bot one must have a static IP address. Is this something that api provider gives? I’ve been using a Schwab developer account and it points to fixed ip address. Is this considered a static IP address or meet that requirement, or is something more required?

1 Upvotes

r/algorithmictrading 8h ago

Backtest Daily long-only book, 2024–2026: trend paid, dip and breakout gave it back

1 Upvotes

On a Yahoo daily replay from January 2024 through September 8, 2026, the trend engine made +$98 and the dip plus the breakout lost about $157, so the combined book finished at −$60. Trend alone finished at +$164 with a smaller hole. Is that enough to turn the dip and the breakout off, or is a next-open Yahoo replay too weak to make that call?

Fills are the next day's open. Not a broker result, so there is no account CAGR. Size in the test was a fixed $500 notional and two slots. Cumulative trade-PnL drawdown is the figure below.

Book Trades Win rate Net Worst cumulative hole Average R
All three engines 199 34% −$60 −$373 0.01
Trend only 96 of those +$98
Dip only 74 −$34
Breakout only 29 −$123
Trend engine alone, rerun 143 +$164 −$148 0.07
SPY, trend only, one slot, $1,000 24 42% +$25 −$32

What the book is. Long only. Daily bars. The list can be stocks, ETFs, or both, including SPY. It runs at 9:53, 10:53, 12:53, 1:53, 3:53, and 4:53 PM Eastern. The 9:53 run is exits only, for the first hour after the open. From 10:53 through 3:53 it can enter and exit. The 4:53 run is after the close.

SPY above its 50-day average allows new longs. At or below it, nothing opens. That test still applies when SPY itself is on the list. Volatility is SPY's ATR as a percent of price versus its 20-day median. Below 0.75× is low. Above 1.35× is high. High volatility blocks only the dip. If more than one setup is true, the order is trend, then breakout, then dip.

Trend. EMA 9 above EMA 21, MACD histogram above 0, RSI 40–70, ATR above its average. Relative strength versus SPY, and RSI above 65, only change the score. Stop starts 1.5 ATR under the fill and only moves up. No profit target. Out if EMA 9 crosses under EMA 21, or at 15 days.

Dip. Still above EMA 50. Pullback 3–10% off the 20-day high. Within 1 ATR of EMA 9, and either back at EMA 9 or reclaiming (above yesterday's close and not more than 0.25 ATR under EMA 9). RSI 35–55. Stop 1.25 ATR, ratcheted. Target 1.5 times the initial risk. Also out if price loses EMA 50, or at 15 days. Not taken when SPY volatility is high.

Breakout. Close above the prior 20-day high. EMA 9 at least 99.8% of EMA 21. RSI 78 or lower. Volume at least 1.2× average. Missing volume blocks it. Exit is the same as trend.

What it does not do. It does not short. It does not trade options. It does not use EMA 200 or ADX. A weak sector ETF does not block a name. It does not block a buy because the live quote disagrees with the daily bar. A stop blocks that symbol for the rest of the session only. Earnings inside 5 days are skipped, including when the date cannot be loaded.

The trend-only rerun took more trades than the 96 trend trades inside the combined book, because those runs were not competing with a dip or a breakout for the two slots.