> ## Documentation Index
> Fetch the complete documentation index at: https://edgeful.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# asian range breakout by weekday

> Computes the Asian session range and, for each weekday, counts how often intraday price first CLOSES above the Asian high vs below the Asian low and pairs that direction with the daily candle color (green if close >= open, red if close < open). Returns per-weekday frequencies and percentages for closed-above / closed-below outcomes and their green/red splits, plus a per-day detail table. Configurable via Tokyo `start_time`/`end_time`, New York `candle_start_time`/`candle_end_time`, and `timeframe` (default 15min); weekday coverage depends on `market_type` (Mon-Sun for crypto, Mon-Fri otherwise).



## OpenAPI

````yaml /openapi-public.json get /intraday_calculation/asian-range-breakout-by-weekday/{market_type}/{ticker}
openapi: 3.1.0
info:
  title: Edgeful API
  description: >-
    Public API reference for Edgeful market analysis calculations. The bearer
    token is your Edgeful API key: paste the key itself in the docs playground.
    Report responses include row-level output in `detailed` only when your plan
    includes row-level detail.
  version: 1.0.0
servers:
  - url: https://api.edgeful.com
    description: Production
security:
  - BearerAuth: []
tags:
  - name: reports
  - name: live data
paths:
  /intraday_calculation/asian-range-breakout-by-weekday/{market_type}/{ticker}:
    get:
      tags:
        - reports
      summary: asian range breakout by weekday
      description: >-
        Computes the Asian session range and, for each weekday, counts how often
        intraday price first CLOSES above the Asian high vs below the Asian low
        and pairs that direction with the daily candle color (green if close >=
        open, red if close < open). Returns per-weekday frequencies and
        percentages for closed-above / closed-below outcomes and their green/red
        splits, plus a per-day detail table. Configurable via Tokyo
        `start_time`/`end_time`, New York `candle_start_time`/`candle_end_time`,
        and `timeframe` (default 15min); weekday coverage depends on
        `market_type` (Mon-Sun for crypto, Mon-Fri otherwise).
      operationId: >-
        asian_range_breakout_by_weekday_intraday_calculation_asian_range_breakout_by_weekday__market_type___ticker__get
      parameters:
        - name: ticker
          in: path
          required: true
          schema:
            type: string
            description: >-
              ticker symbol. format varies by `market_type`: stocks use a plain
              symbol (e.g., SPY), forex uses a 6-character pair (e.g., EURUSD),
              crypto uses a contract pair (e.g., BTCUSD), futures uses the root
              symbol (e.g., ES).
            examples:
              - SPY
              - EURUSD
              - BTCUSD
              - ES
            title: Ticker
          description: >-
            ticker symbol. format varies by `market_type`: stocks use a plain
            symbol (e.g., SPY), forex uses a 6-character pair (e.g., EURUSD),
            crypto uses a contract pair (e.g., BTCUSD), futures uses the root
            symbol (e.g., ES).
        - name: market_type
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/MarketTypeEnum'
            description: >-
              market venue for the ticker. one of: `forex`, `futures`, `crypto`,
              `stock`. determines supported symbols and whether session-based
              intraday aggregation is available.
            examples:
              - stock
              - forex
          description: >-
            market venue for the ticker. one of: `forex`, `futures`, `crypto`,
            `stock`. determines supported symbols and whether session-based
            intraday aggregation is available.
        - name: start_date
          in: query
          required: true
          schema:
            type: string
            description: >-
              inclusive start date, `YYYY-MM-DD`, interpreted in the request
              `timezone`. sessions on or after this date are included in the
              calculation.
            examples:
              - '2024-01-01'
            title: Start Date
          description: >-
            inclusive start date, `YYYY-MM-DD`, interpreted in the request
            `timezone`. sessions on or after this date are included in the
            calculation.
        - name: end_date
          in: query
          required: true
          schema:
            type: string
            description: >-
              inclusive end date, `YYYY-MM-DD`, interpreted in the request
              `timezone`. sessions on or before this date are included in the
              calculation.
            examples:
              - '2024-12-31'
            title: End Date
          description: >-
            inclusive end date, `YYYY-MM-DD`, interpreted in the request
            `timezone`. sessions on or before this date are included in the
            calculation.
        - name: start_time
          in: query
          required: true
          schema:
            type: string
            description: >-
              asian range session start time, `HH:MM:SS`, interpreted in
              Asia/Tokyo.
            title: Start Time
          description: >-
            asian range session start time, `HH:MM:SS`, interpreted in
            Asia/Tokyo.
        - name: end_time
          in: query
          required: true
          schema:
            type: string
            description: >-
              asian range session end time, `HH:MM:SS`, interpreted in
              Asia/Tokyo.
            title: End Time
          description: asian range session end time, `HH:MM:SS`, interpreted in Asia/Tokyo.
        - name: candle_start_time
          in: query
          required: true
          schema:
            type: string
            description: >-
              daily candle window start time, `HH:MM:SS`, interpreted in
              America/New_York.
            title: Candle Start Time
          description: >-
            daily candle window start time, `HH:MM:SS`, interpreted in
            America/New_York.
        - name: candle_end_time
          in: query
          required: true
          schema:
            type: string
            description: >-
              daily candle window end time, `HH:MM:SS`, interpreted in
              America/New_York.
            title: Candle End Time
          description: >-
            daily candle window end time, `HH:MM:SS`, interpreted in
            America/New_York.
        - name: timeframe
          in: query
          required: false
          schema:
            type: string
            description: >-
              intraday candle granularity used for the calculation. accepted
              values: `1min`, `5min`, `15min`, `30min`, `1hour`. route-specific
              defaults are shown in the `default` field.
            default: 15min
            title: Timeframe
          description: >-
            intraday candle granularity used for the calculation. accepted
            values: `1min`, `5min`, `15min`, `30min`, `1hour`. route-specific
            defaults are shown in the `default` field.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - BearerAuth: []
      x-codeSamples:
        - lang: curl
          label: cURL
          source: |-
            curl --request GET \
              --url 'https://api.edgeful.com/intraday_calculation/asian-range-breakout-by-weekday/<market_type>/<ticker>?start_date=<start_date>&end_date=<end_date>&start_time=<start_time>&end_time=<end_time>&candle_start_time=<candle_start_time>&candle_end_time=<candle_end_time>' \
              --header 'Authorization: Bearer <api-key>'
        - lang: python
          label: Python
          source: >-
            import requests


            url =
            "https://api.edgeful.com/intraday_calculation/asian-range-breakout-by-weekday/<market_type>/<ticker>?start_date=<start_date>&end_date=<end_date>&start_time=<start_time>&end_time=<end_time>&candle_start_time=<candle_start_time>&candle_end_time=<candle_end_time>"

            headers = {"Authorization": "Bearer <api-key>"}


            response = requests.get(url, headers=headers)

            print(response.json())
        - lang: javascript
          label: JavaScript
          source: >-
            const url =
            "https://api.edgeful.com/intraday_calculation/asian-range-breakout-by-weekday/<market_type>/<ticker>?start_date=<start_date>&end_date=<end_date>&start_time=<start_time>&end_time=<end_time>&candle_start_time=<candle_start_time>&candle_end_time=<candle_end_time>";

            const options = {
              method: "GET",
              headers: { Authorization: "Bearer <api-key>" },
            };


            const response = await fetch(url, options);

            const data = await response.json();

            console.log(data);
        - lang: php
          label: PHP
          source: >-
            <?php

            $ch =
            curl_init("https://api.edgeful.com/intraday_calculation/asian-range-breakout-by-weekday/<market_type>/<ticker>?start_date=<start_date>&end_date=<end_date>&start_time=<start_time>&end_time=<end_time>&candle_start_time=<candle_start_time>&candle_end_time=<candle_end_time>");

            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");

            curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer
            <api-key>"]);

            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

            $response = curl_exec($ch);

            curl_close($ch);

            echo $response;
        - lang: go
          label: Go
          source: |-
            package main

            import (
                "fmt"
                "io"
                "net/http"
            )

            func main() {
                req, _ := http.NewRequest("GET", "https://api.edgeful.com/intraday_calculation/asian-range-breakout-by-weekday/<market_type>/<ticker>?start_date=<start_date>&end_date=<end_date>&start_time=<start_time>&end_time=<end_time>&candle_start_time=<candle_start_time>&candle_end_time=<candle_end_time>", nil)
                req.Header.Set("Authorization", "Bearer <api-key>")
                resp, _ := http.DefaultClient.Do(req)
                defer resp.Body.Close()
                body, _ := io.ReadAll(resp.Body)
                fmt.Println(string(body))
            }
        - lang: java
          label: Java
          source: >-
            import java.net.URI;

            import java.net.http.HttpClient;

            import java.net.http.HttpRequest;

            import java.net.http.HttpResponse;


            HttpClient client = HttpClient.newHttpClient();

            HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("https://api.edgeful.com/intraday_calculation/asian-range-breakout-by-weekday/<market_type>/<ticker>?start_date=<start_date>&end_date=<end_date>&start_time=<start_time>&end_time=<end_time>&candle_start_time=<candle_start_time>&candle_end_time=<candle_end_time>"))
                .header("Authorization", "Bearer <api-key>")
                .method("GET", HttpRequest.BodyPublishers.noBody())
                .build();
            HttpResponse<String> response = client.send(request,
            HttpResponse.BodyHandlers.ofString());

            System.out.println(response.body());
        - lang: ruby
          label: Ruby
          source: >-
            require "net/http"

            require "uri"


            uri =
            URI("https://api.edgeful.com/intraday_calculation/asian-range-breakout-by-weekday/<market_type>/<ticker>?start_date=<start_date>&end_date=<end_date>&start_time=<start_time>&end_time=<end_time>&candle_start_time=<candle_start_time>&candle_end_time=<candle_end_time>")

            request = Net::HTTP::Get.new(uri)

            request["Authorization"] = "Bearer <api-key>"


            response = Net::HTTP.start(uri.hostname, uri.port, use_ssl:
            uri.scheme == "https") do |http|
              http.request(request)
            end

            puts response.body
components:
  schemas:
    MarketTypeEnum:
      type: string
      enum:
        - forex
        - futures
        - crypto
        - stock
      title: MarketTypeEnum
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        Use your Edgeful API key as the bearer token. In the API Reference
        authorization drawer, paste only the key (for example,
        `ef_live_<random>`).

````