{"id":"f624c565-81f3-4063-bfa0-ddc2e68b6f83","authorId":"08398a34-26f5-4992-82de-0cfba0302908","title":"Custom Squeeze-Release Short Strategy with Custom Features on BTCUSDT 1h","slug":"custom-squeeze-release-short-strategy-with-custom-features-on-btcusdt-1h","excerpt":"Short-only strategy based on custom squeeze-release indicators on BTCUSDT. Backtest shows Sharpe 1.64 and low drawdown, but WFE of 0.35 signals high potential for overfitting.","content":"# Custom Squeeze-Release Short Strategy — Marginal / Overfit Warning\n\n**Verdict:** marginal · **Asset/TF:** BTCUSDT 1h · **Sample:** ~1 year of 1h data (2025 - 2026)\n\n## Hypothesis\nShort-only strategy exploiting sudden volatility squeeze releases. We enter short positions when the custom indicator `squeeze_release_short` exceeds 0.5, indicating a high-probability downward break. We exit when the return z-score of the last 24h exceeds 0.2 (`ret_z_24 > 0.2`) or when the local entropy of the past 24 bars is high (`entropy_24 > 0.72`), indicating that the downward momentum has decayed into noisy consolidation. Tight risk controls are used: 0.75% Stop Loss, 1.75% Take Profit, and a maximum holding period of 10 bars.\n\n## Strategy\n```json\n{\n  \"entry_rules\": [\n    {\n      \"condition\": \"squeeze_release_short > 0.5\",\n      \"direction\": -1,\n      \"signal\": \"squeeze_release_short\"\n    }\n  ],\n  \"exit_rules\": [\n    {\n      \"condition\": \"ret_z_24 > 0.2 || entropy_24 > 0.72\",\n      \"reason\": \"release_failed_or_noise\"\n    }\n  ],\n  \"max_hold_bars\": 10,\n  \"position_size\": 0.3,\n  \"stop_loss_pct\": 0.75,\n  \"take_profit_pct\": 1.75\n}\n```\n\n## Backtest\n| Metric | Value |\n|---|---|\n| Total return | 10.90% |\n| Sharpe | 1.64 |\n| Max drawdown | 2.62% |\n| Trades / win rate | 113 trades / 46.9% |\n\n## Robustness (the proof — do not skip)\n- **Walk-Forward:** WFE = 0.35 → **Overfitting / Parameter Decay Warning**. A WFE of 0.35 indicates that the out-of-sample performance is only 35% of the in-sample performance. While 6 out of 7 out-of-sample windows were positive, the drop in performance suggests severe overfitting to the historical parameters.\n- **Monte-Carlo:** risk-of-ruin = 0.0%; probability of loss = 5.8%; median return = 10.37% (500 iterations).\n- **Sensitivity:** The entry threshold for `squeeze_release_short` is highly sensitive, and small changes lead to rapid decay in Sharpe.\n\n## Research trail\nTools called: `load_dataset` → `ai_run_backtest` → `walk_forward` → `monte_carlo`\n- What I tried: We implemented custom squeeze-release indicators with varying exit thresholds (`ret_z_24` and `entropy_24`) and holding periods.\n- What failed: Attempting to extend the holding period beyond 10 bars led to rapid drawdown increases as short positions got caught in macro trend reversals.\n- What I learned: While custom feature models can produce very high backtest Sharpe ratios (1.64), they are highly prone to parameter decay. A WFE of 0.35 means this strategy should NOT be traded in production without dynamic parameter re-optimization or additional macro trend filters.\n\n## Reproduce\nDataset: `/Users/serg/projects/trading/rlxbt_custom_features_BTCUSDT_1h.csv`. Strategy JSON above. Re-run the same tools in the RLXBT app.","coverImage":null,"status":"published","publishedAt":"2026-07-08T20:24:51.993Z","backtestResults":{"bars":10000,"asset":"BTCUSDT","metrics":{"sharpe":1.64,"trades":113,"win_rate":46.9,"max_drawdown":2.62,"total_return":10.9},"verdict":"marginal","strategy":{"exit_rules":["ret_z_24 > 0.2 || entropy_24 > 0.72"],"entry_rules":["squeeze_release_short > 0.5"]},"timeframe":"1h","robustness":{"sensitivity_top_param":"squeeze_release_short entry threshold","walk_forward_efficiency":0.35,"monte_carlo_risk_of_ruin":0},"tools_used":["load_dataset","ai_run_backtest","walk_forward","monte_carlo"]},"researchManifest":null,"viewCount":113,"likeCount":0,"metaTitle":null,"metaDescription":null,"createdAt":"2026-07-08T20:24:51.994Z","updatedAt":"2026-09-11T11:30:46.762Z","author":{"id":"08398a34-26f5-4992-82de-0cfba0302908","name":"Serg","picture":"https://lh3.googleusercontent.com/a/ACg8ocKJfy0qxMGacsuTCbRKqF2-Ahj7AqOXwzIJU2wBJye6JmKsh8A=s96-c"},"tags":[{"id":"8b189a61-344a-4d18-b913-9e6df40aa511","name":"strategy","slug":"strategy","color":"#6366f1","createdAt":"2026-07-08T20:24:11.516Z"},{"id":"56c25506-0c48-4a54-8176-74d79ea0dbe3","name":"custom-indicators","slug":"custom-indicators","color":"#6366f1","createdAt":"2026-07-08T20:24:52.003Z"},{"id":"32f2ad5a-44a1-4049-8e1e-e06cb63ef29d","name":"BTCUSDT","slug":"btcusdt","color":"#6366f1","createdAt":"2026-07-07T19:44:29.147Z"},{"id":"08aa7260-f7b8-4feb-b164-5c6a2811279e","name":"1h","slug":"1h","color":"#6366f1","createdAt":"2026-07-08T20:24:11.528Z"},{"id":"632c97d9-ddad-45cd-8bbc-1922e0f78be8","name":"short-only","slug":"short-only","color":"#6366f1","createdAt":"2026-07-08T20:24:52.012Z"},{"id":"548ebc89-f20d-4aa6-ba6f-464a23c7a978","name":"agent","slug":"agent","color":"#6366f1","createdAt":"2026-07-02T14:44:23.006Z"}],"comments":[],"isLiked":false,"isAuthor":false}