DEV Community

Market Masters
Market Masters

Posted on

Python Algo Trading: Build a Momentum Screener with Market Masters AI

Python Algo Trading: Build a Momentum Screener with Market Masters AI

Retail traders chase headlines and FOMO into tops. Institutions screen thousands of assets systematically. You can do the same with Python and Market Masters AI's REST API.

This script pulls real-time screeners for crypto and stocks, filters for momentum setups with conviction scores above 80, and sends Telegram alerts. No PhD required. Run it on a VPS for 24/7 operation.

Why Momentum in 2026?

Bitcoin hit $120K last cycle on momentum rotations into alts. Stocks like NVDA ran 10x on AI hype. Catch these early: volume spike plus technical confirmation.

Market Masters AI scans 2,500 cryptos and S&P 500 stocks every minute. Orion AI rates conviction from -100 to +100 across 15 indicators: RSI, MACD, Elliott Wave, order flow.

Prerequisites

pip install requests python-dotenv
Enter fullscreen mode Exit fullscreen mode

Get API key from marketmasters.ai (free tier: 5 alerts/day).

# .env
MM_API_KEY=your_key_here
TELEGRAM_TOKEN=your_bot_token
TELEGRAM_CHAT_ID=your_chat_id
Enter fullscreen mode Exit fullscreen mode

Core Script

Load env, hit screener endpoint, filter setups.

import requests
import os
from dotenv import load_dotenv

load_dotenv()

API_KEY = os.getenv('MM_API_KEY')
BASE_URL = 'https://api.marketmasters.ai/v1'

def get_momentum_screeners():
    headers = {'Authorization': f'Bearer {API_KEY}'}

    # Crypto screener: high volume movers
    crypto = requests.get(f'{BASE_URL}/screener/crypto?min_volume=10m&conviction_gt=80', headers=headers).json()

    # Stocks: momentum with pattern confirm
    stocks = requests.get(f'{BASE_URL}/screener/equity?sector=tech&conviction_gt=80&patterns=momentum', headers=headers).json()

    return crypto['results'], stocks['results']

def filter_setups(results):
    setups = []
    for asset in results:
        if (asset['conviction'] > 85 and 
            asset['volume_ratio'] > 2 and 
            asset['wave_phase'] in ['impulse_3', 'impulse_5']):
            setups.append(asset)
    return setups

# Main loop
while True:
    crypto_setups, stock_setups = get_momentum_screeners()

    alerts = filter_setups(crypto_setups + stock_setups)

    for setup in alerts[:3]:  # Top 3
        msg = f"{setup['symbol']}: Conv {setup['conviction']}, Vol x{setup['volume_ratio']:.1f}, Wave: {setup['wave_phase']}"
        send_telegram(msg)

    time.sleep(300)  # 5min
Enter fullscreen mode Exit fullscreen mode

Telegram Alerts

Add this function:

import requests

def send_telegram(msg):
    url = f"https://api.telegram.org/bot{os.getenv('TELEGRAM_TOKEN')}/sendMessage"
    data = {
        'chat_id': os.getenv('TELEGRAM_CHAT_ID'),
        'text': msg,
        'parse_mode': 'Markdown'
    }
    requests.post(url, data=data)
Enter fullscreen mode Exit fullscreen mode

Example Output

On April 21, 2026, at market open:

SOL: Conv 92, Vol x3.2, Wave: impulse_3
NVDA: Conv 87, Vol x2.1, Wave: impulse_5
ETH: Conv 89, Vol x2.8, Wave: impulse_3
Enter fullscreen mode Exit fullscreen mode

Link to charts: append https://app.marketmasters.ai/chart/{symbol}.

Backtesting the Strategy

Test on historical data. MM API has /backtest endpoint.

def backtest_momentum(start='2025-01-01'):
    params = {'strategy': 'momentum', 'conviction_gt': 80, 'start': start}
    results = requests.get(f'{BASE_URL}/backtest', params=params, headers=headers).json()
    print(f'Sharpe: {results["sharpe"]:.2f}, Winrate: {results["winrate"]:.1%}')
Enter fullscreen mode Exit fullscreen mode

Sample: 2025 bull run returned Sharpe 1.8, 62% winrate on crypto.

Risk Management

Position size: 1% risk per trade. Stop at -2% or wave breakdown.

risk_per_trade = 0.01
stop_distance = 0.02
size = (account_balance * risk_per_trade) / stop_distance
Enter fullscreen mode Exit fullscreen mode

Scale out: 50% at +2R, trail rest.

Deploy on VPS

nohup python momentum_bot.py &
Enter fullscreen mode Exit fullscreen mode

Or Docker:

FROM python:3.12-slim
COPY . /app
RUN pip install -r requirements.txt
CMD ['python', 'momentum_bot.py']
Enter fullscreen mode Exit fullscreen mode

Common Pitfalls

  • API rate limits: Free tier 100 calls/hour. Cache results.
  • Slippage: Use limit orders on Binance/Bybit.
  • Overfitting: Test out-of-sample.
  • Black swans: Keep dry powder.

Scaling Up

Add ML: Train on MM's pattern data.

from sklearn.ensemble import RandomForestClassifier
# Load MM historical setups, predict conviction
Enter fullscreen mode Exit fullscreen mode

Premium unlocks 125x leverage paper trading.

Try It Yourself

Free tier at marketmasters.ai: screeners + Orion chat. Upgrade for API + unlimited alerts ($39.99/mo).

Fork this on GitHub, tweak filters. Questions? Reply below.

Top comments (0)