agentsclimarketplace

Asian session scalper

Skill mahmoud20138/Tradecraft/plugins/tradecraft/skills/asian-session-scalper

102 Claude Code skills across 7 categories -- trading strategies, Azure, VSCode extensions, AI prompts, and custom automation skills

Install
npx -y skills add mahmoud20138/Tradecraft --skill asian-session-scalper

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Tokyo session low-volatility scalping setups — range-bound strategies for the quietest session. Use for "Asian scalp", "Tokyo session trade", "Asian range", "night scalping", "low vol scalp", "Asian session strategy", or any Tokyo-session-specific trading. Works with session-profiler.

SKILL.md

3.9 KB, as published. Nobody here has run it

Asian Session Scalper

import pandas as pd, numpy as np

class AsianSessionScalper:
    @staticmethod
    def range_fade(df: pd.DataFrame) -> dict:
        """Fade the range during Tokyo session — buy lows, sell highs of the range."""
        df = df.copy()
        df["hour"] = df.index.hour
        asian = df[(df["hour"] >= 0) & (df["hour"] < 7)]
        if len(asian) < 10: return {"error": "Insufficient Asian data"}
        range_high = asian["high"].rolling(20).max().iloc[-1]
        range_low = asian["low"].rolling(20).min().iloc[-1]
        mid = (range_high + range_low) / 2
        current = df.iloc[-1]["close"]
        atr = (asian["high"] - asian["low"]).mean()
        return {
            "strategy": "asian_range_fade",
            "range_high": round(range_high, 5), "range_low": round(range_low, 5),
            "midpoint": round(mid, 5),
            "signal": "BUY (near range low)" if current < range_low + atr * 0.3 else
                     "SELL (near range high)" if current > range_high - atr * 0.3 else "WAIT (mid-range)",
            "stop_pips": round(atr * 10000 * 1.5, 1),
            "target_pips": round(atr * 10000 * 1.0, 1),
            "best_pairs": ["USDJPY", "EURJPY", "AUDJPY", "AUDNZD"],
            "avoid": ["GBPUSD", "EURUSD (low liquidity in Asia)"],
        }

Asian Breakout Strategy

    @staticmethod
    def asian_breakout(df: pd.DataFrame, buffer_pips: float = 3.0) -> dict:
        """Trade the breakout of the Asian range during London open."""
        df = df.copy()
        df["hour"] = df.index.hour
        asian = df[(df["hour"] >= 0) & (df["hour"] < 7)]
        if len(asian) < 10: return {"error": "Insufficient Asian data"}
        range_high = asian["high"].max()
        range_low = asian["low"].min()
        range_size = range_high - range_low
        pip_size = 0.0001 if range_size < 1 else 0.01
        buffer = buffer_pips * pip_size
        return {
            "strategy": "asian_breakout",
            "buy_stop": round(range_high + buffer, 5),
            "sell_stop": round(range_low - buffer, 5),
            "stop_loss_pips": round(range_size / pip_size * 0.5, 1),
            "tp1_pips": round(range_size / pip_size * 1.0, 1),
            "tp2_pips": round(range_size / pip_size * 1.5, 1),
            "range_size_pips": round(range_size / pip_size, 1),
            "valid": range_size / pip_size < 40,  # Skip if range too wide
            "best_time": "07:00-09:00 UTC (London open)",
            "best_pairs": ["GBPJPY", "EURJPY", "USDJPY", "GBPUSD"],
        }

Session Timing Reference

SessionUTC HoursCharacteristics
Tokyo00:00-07:00Low volatility, range-bound, JPY pairs active
London Open07:00-09:00Breakout of Asian range, highest volatility spike
London07:00-16:00Trend development, EUR/GBP pairs active
NY Overlap12:00-16:00Highest liquidity, major reversals

Rules

  1. Only scalp in Asian session (00:00-07:00 UTC) for range-fade strategy
  2. Avoid Mondays — Asian ranges are unreliable after weekend gaps
  3. Skip news nights — BOJ, RBA, RBNZ releases destroy Asian ranges
  4. Max 3 trades per session — low volatility means low opportunity count
  5. Tight stops — 1.5x ATR max; if stopped, do not re-enter same direction

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.